CTO、CEO、CDOの積極的な推進により、ITインフラはクラウド環境に移行しつつあります。基盤となるアーキテクトは、クラウド ネイティブ アプリケーションを中心とした SaaS、PaaS、マイクロサービス アーキテクチャについて熱心に議論しており、開発者は才能を発揮してクラウド コンピューティングのパンドラの箱を探索し、ビジネスにとって何が価値があり、何が不必要かを探ろうとしています。
クラウドにこれほど多くの労力が費やされている理由は、高度にスケーラブルで柔軟な分散アーキテクチャをサポートし、マルチクラウド環境で簡単に移行できるなど、クラウド アプリケーション独自の機能に大きく起因しています。ただし、クラウド アプリケーションでは、開発環境から本番環境まで強力なサポートを提供するために、さまざまなツールとテクノロジが必要です。この記事では、クラウド環境でクラウド コンピューティングの利点を最大限に活用できる新しい方法とツールについて説明します。 関数型プログラミング IoT やビッグデータ プラットフォームをサポートするために、高度にスケーラブルなインフラストラクチャを備えたサービスを開発したい場合、関数型プログラミングは検討する価値のある選択肢です。ほとんどの人が慣れ親しんでいるプログラミングパラダイムとは異なり、関数型プログラミングではグローバル状態を維持する必要がありません。関数に入力データを渡すだけで済むため、新しいアイデアを検証するのに適しています。現在、大手クラウドプロバイダーの多くが関数型プログラミングをサポートしています。 開発言語を選択する クラウド プラットフォーム上でマイクロサービス アーキテクチャを開発する場合、起動時間、メモリ効率、バイナリ サイズ、整合性が重要な要素となります。 Go - Go 言語はクラウド コンピューティングに最適です。戦略的、軽量、静的型付け、コンパイルされた言語という特徴があります。英国の銀行 (Monzo) は、完全な銀行システム アーキテクチャを構築するために、マイクロサービス アーキテクチャを実装するために Go 言語を完全に使用していることがわかっています。 Java – ほとんどのアプリケーションは Java で開発されており、Java には大規模な開発者コミュニティ ベースもあります。 Spring Boot と Java モジュール (JDK-9.0 以降) は、クラウド ネイティブ アーキテクチャに最適な選択肢の 1 つです。これは、レガシー システムをクラウドに移行するための良いスタートです。 .net core - Microsoft は長い間オープンソース コミュニティをサポートしていません。これが、多くの企業が .net core を採用しない理由の 1 つです。もちろん、Microsoft は常にバグのないツール、シンプルな構文、優れたチュートリアルを提供することに尽力しており、最近ではオープン ソースが Azure クラウドにさらなる革新とビジネスをもたらす可能性があることに気付きました。全体として、.net Core は Azure クラウド プラットフォームにおける最良の選択肢の 1 つです。 R Math - データ サイエンスはコンピューティングの世界に旋風を巻き起こしていますが、データ サイエンスの問題 (統計と数学) を解決するための新しい言語はありません。クラウド コンピューティングは低コストでコンピューティング能力を提供できるため、業界では古いテクノロジー ツールを使用して AI の課題を解決しようとしています。 R は S プログラミング言語の実装です。 1976 年に作成された R ライブラリは、統計関数と数学関数を実装します。 Python – Python は複数のプログラミング パラダイムと強力な型チェックをサポートします。 Python は習得が簡単で、強力な分析ライブラリを備え、オープンソース コミュニティによって強力にサポートされています。これが、データ サイエンティストにとって Python が魅力的な理由の 1 つです。 ストレージを選択 フロントエンド サービスを拡張する場合、接続プールを使用して RDBMS データベースと通信しようとすると、実際のユース ケースの要件を満たさない可能性があり、強力なストレージ プラットフォームを構築するにはクラウド中心のデータベースを選択する必要があります。 Amazon DynamoDB – あらゆるレベルで 1 桁ミリ秒のレイテンシーを提供し、NoSQL 形式でデータを保存し、ドキュメント、キー値ストレージ モデルをサポートし、グラフ データベースを構築します。 Azure Cosmos DB – 水平スケーラビリティを備えたグローバルに分散されたデータベースをサポートします。データは NoSQL 形式で保存され、99% の 1 桁ミリ秒のレイテンシが保証されます。ドキュメント、グラフ、キー値、テーブル、列ファミリのデータ モデルをサポートするだけでなく、複数の言語に拡張された API サポートもサポートします。 MongoDB – MongoDB は NoSQL DB の初期バージョンの 1 つであり、優れた費用対効果モデルを備えた顧客にとって非常に優れたオープン ソース ストレージです。 IBM Cloudera DB - Cassandra は Cloudera の基盤となるデータベースであり、NoSQL データベースと通信するための Java ベースの API をサポートしています。 Oracle NoSQL DB - Oracle NoSQL DB は、水平方向の負荷分散とノード拡張をサポートします。 サービス メッシュ マイクロサービス アーキテクチャ マイクロサービス アーキテクチャは多くの利点をもたらしますが、障害の処理、ルーティング、サービス検出において課題ももたらします。したがって、クラウド中心のサービスを大規模に構築する場合は、サービス メッシュ マイクロサービス アーキテクチャを検討する価値があります。 サービスメッシュマイクロサービスアーキテクチャとは サービス メッシュは、サービス間通信を処理するためのインフラストラクチャ レイヤーであり、クラウド ネイティブ アプリケーションの複雑なサービス トポロジで信頼性の高いリクエスト配信を実現するために使用されます。実際には、サービス メッシュは通常、アプリケーションとともにデプロイされるが、アプリケーションに対して透過的な軽量ネットワーク プロキシのセットです。簡単に言えば、サービス メッシュはマイクロサービス通信のプロキシ レイヤーです。 Linkerd - サービス間で通信し、マイクロサービスにアクセスするための抽象レイヤーを提供します。主な機能は、サービス検出、負荷分散、回路遮断、動的要求ルーティング、分散トレースです。 Linkerd - Linkerd は、サービス間の通信をサポートし、マイクロサービスにアクセスするための抽象化レイヤーを提供します。サービス検出、負荷分散、回路遮断、動的リクエストルーティング、分散トレースなどの機能があります。 Envoy — 元々は社内で使用されていましたが、現在はサービス メッシュ ソリューションとしてオープン ソースになっています。ただし、Envoy は Kubernetes 用に設計されていません。 Istio - Istio は、サービス認証用の負荷分散サービスを使用して、デプロイされたサービスのネットワークを作成します。サービス監視は、サポートされる主要な機能の 1 つです。 Rainbond - Service Mesh マイクロサービス アーキテクチャは、オープン ソース PaaS Rainbond バージョン v3.6.0 の主要な新機能であり、すぐに使用できます。 Rainbond はプラグイン拡張機能を通じてガバナンス機能を実装し、Spring Cloud、API Gateway、Dubbo などのマイクロサービス アーキテクチャ フレームワークを適切にサポートします。 メッセージ層 IoTはあらゆる業界が注目する成長分野です。皆さんの多くは、「データは新たな石油である」という言葉を聞いたことがあると思います。自動運転やモバイルデバイスなどは、毎日大量のデータをクラウドプラットフォームに送信します。イベント ソーシングは、完全なオンライン ユーザー アクティビティをキャプチャするもう 1 つの領域です。さまざまな状況やニーズにより、データ ストリーミング ツールは多くの企業にとって不可欠な要素となっています。 Kafka - Kafka は、パブリッシュ/サブスクライブ ベースの分散メッセージング システムであり、2011 年に Apache インキュベーション プロジェクトとなり、2012 年に Apache の主要プロジェクトの 1 つになりました。Kafka は Scala と Java で記述されています。高速、スケーラブル、高スループット、フォールト トレラントなどの特性により、徐々に広く使用されるテクノロジになりました。メッセージング、Web サイトのアクティビティ追跡、ログの集約などの大規模なメッセージ処理シナリオでの使用に適しています。 Kinesis - Amazon Kinesis を使用すると、リアルタイムのストリーミング データを簡単に収集、処理、分析できるため、タイムリーな洞察を得て、新しい情報に迅速に対応できます。 Amazon Kinesis は、あらゆる規模のストリーミング データをコスト効率よく処理するためのコア機能を提供するとともに、アプリケーションのニーズに最適なツールを選択できる柔軟性も提供します。 コンテナ/インフラストラクチャ・アズ・コード コンテナ化とは、コード、環境変数、ライブラリなど、クラウド環境で実行するためのアプリケーションと依存関係をパッケージ化することです。コンテナはどのクラウド環境でも実行でき、さまざまなクラウド環境への大規模な移行に柔軟性を提供します。 Docker - Docker は、コンテナ アプリケーションをパッケージ化および配布するためのオープン スタンダードを提供します。 Docker エンジンはコンテナの構築と実行に使用され、Docker イメージは通常 Docker ハブに保存されます。 Kubernetes - Kubernetes は現在、コンテナ オーケストレーションの標準となっています。 Docker テクノロジをベースとし、コンテナ化されたアプリケーションの展開と操作、リソースのスケジューリング、サービスの検出、動的スケーリングなどの一連の完全な機能を提供し、大規模なコンテナ クラスターの管理の利便性を向上させます。 要約する 上記のツールとテクノロジーは、クラウド プラットフォームのほんの始まりに過ぎません。企業、特に大企業は、クラウド プラットフォームを構築する際に実際の状況に基づいて選択を行い、アプリケーション開発、ストレージ、セキュリティ、ログ記録とデバッグ、監視とテストのための合理的なロードマップを作成する必要があります。これは、生産性を向上させ、目標を達成するための明確なアイデアを開発者に提供する効果的な方法でもあります。 |
<<: クラウドネイティブがエンタープライズセキュリティに革命を起こす3つの理由
>>: 将来を見据えて: マルチクラウド アーキテクチャでのデータ管理
オンラインインターネットトラフィックの浸透がますます集中するにつれて、ユーザーの心を占める製品が徐々...
私は2年間SEO最適化とプロモーションの仕事に従事し、工業化学、生活サービス、ウェディング業界、医療...
私は BandwagonHost から CN2 回線付きの VPS を入手しました。これは月額払いで...
最近、QuestMobile は 3 月のモバイル インターネットレポートを発表し、業界で大きな注目...
A5 Webmaster Network (www.admin5.com) は5月14日、5月13日...
現在、多くの企業の CIO や上級 IT プロフェッショナルはクラウド コンピューティングの重要性を...
実際の製品の使用や設計プロセスでは、製品の起動ページには常に 2 ~ 3 秒の余裕があります。では、...
arkecxはどうですか? arkecx のロサンゼルスのクラウド サーバーはどうですか?以前、Ho...
▲図1-9 過去5年間のエッジコンピューティング関連記事におけるキーワードの相対的頻度1. IoT...
私のデビュー記事が A5 ウェブマスター プラットフォームに掲載されたときはうれしかったです。今日は...
私は厦門での会議で Keso と出会い、彼に質問しました。「コミュニティのスタイルは運営者によって決...
A5ウェブマスターネットワーク(www.admin5.com)は3月21日、今月19日にCCTVの「...
9月9日、最高人民法院と最高人民検察院は共同で「情報ネットワークを利用した名誉毀損等の刑事事件の処理...
現在、To C分野の配当が枯渇したため、To Bのトレンドに追いつくために、BATは抜本的な構造調整...
ロシアのサーバーには独自の利点があります。法律は比較的緩やかで、中国からの接続は遅くなく、ヨーロッパ...