クラウドコンピューティングは、企業がアプリケーションを構築し実行する方法を変革しました。

クラウドコンピューティングは、企業がアプリケーションを構築し実行する方法を変革しました。

[[343937]]

クラウド コンピューティングは、今日の企業がアプリケーションを構築および実行する方法を変革しました。なぜこのようなことが起きているのかを探り、クラウド コンピューティングを導入する企業がその発展から何を期待できるのかを理解する必要があります。

10年前にアマゾンが初めてクラウドコンピューティングプラットフォームを立ち上げたとき、それは世界のテクノロジー分野に大きな変化の波を引き起こし、IT市場を現在1000億ドル規模の産業へと導く軌道に乗せた。

クラウド コンピューティング サービスは、さまざまな種類の仮想インフラストラクチャ、開発プラットフォーム、ホスト型アプリケーションの提供に重点を置いた多様な市場へと進化しました。 VMware は何年も前に x86 サーバー上の仮想マシン (VM) を普及させ、オンデマンドで容量をレンタルする機能は技術的かつビジネス的な革新となりました。

過去数年間で、多くのクラウド コンピューティング サービス プロバイダーが、初期のクラウド コンピューティング製品を定義していたコンピューティング、ストレージ、ネットワーク サービス、さらにはアプリケーション スタックをはるかに超える多数のクラウド コンピューティング サービスをリリースしてきました。 AWS だけでも、世界中の数十のデータセンターで 200 近くの製品を提供しており、その数は今後も増え続けるでしょう。

AWS が成長するにつれて、より複雑になり、アーキテクチャ上の決定にも影響を与えるようになりました。まず、クラウド コンピューティングの展開を計画するインフラストラクチャ エンジニアに影響を与え、その後、開発者がアプリケーションを設計する方法を変えました。

PC と x86 サーバーの台頭によりクライアント サーバー型エンタープライズ アプリケーションの波が到来したのと同様に、クラウド コンピューティングへの関心が高まり、ブラウザー ベースのアプリケーション用の新しい開発言語とフレームワークが生まれました。過去 10 年間で、あらゆる分野の開発者がクラウド サービス、コンテナー、自動化ツールに基づいて新しい設計パターン、開発プラットフォーム、ワークフローを作成してきました。

集中化と分散化のサイクルは、クラウド コンピューティングにおけるアプリケーション開発の各世代の特徴的な製品を概説します。しかし、開発者がさまざまな種類のインフラストラクチャとデプロイメント パラダイムに適応するにつれて、同時に別の形式のアーキテクチャの進化も起こりました。これにより、ソフトウェア設計に重点が置かれ、アプリケーションが徐々に小さなコンポーネントに分割されるようになりました。

メインフレームのコストと運用の複雑さにより、アプリケーション コードが 1 つのユニットとしてパッケージ化され実行されるモノリシック設計が促進されました。分散型クライアント サーバー システムとブラウザー ベースのユーザー インターフェイスの登場により、アプリケーションは初めてモジュール式の n 層アーキテクチャに分解され、機能が複数の要素に分割されました。

さまざまなクラウド コンピューティング サービス、特にコンテナ ランタイム環境、サーバーレス機能、マネージド データベース、分析サービスが利用可能になったことで、より高度化する傾向が加速しています。クラウド コンピューティングの起源と重要性を検討すると、クラウド コンピューティングはさまざまな論理抽象化レベルでの多数のサービスの組み合わせであることがわかります。これらのさまざまなサービスとコンテナにより、アプリケーション アーキテクチャの次の進化であるクラウド ネイティブの概念が生まれました。

クラウドネイティブのビルディングブロック

クラウド コンピューティング サービスはさまざまな方法で開発と展開の実践に影響を与えていますが、以下ではクラウド コンピューティングの進化の次の段階、つまりクラウド ネイティブ アプリケーションの開発に焦点を当てます。

現在、クラウド ネイティブの標準的な定義はなく、専門家の間で議論が続いているトピックです。ただし、クラウド ネイティブ アプリケーションは、クラウド プラットフォーム上で開発されたアプリケーションとして説明されます。最終的に、クラウド ネイティブ アプリケーションは、利用可能なすべてのクラウド コンピューティング サービスをうまく活用して、パフォーマンス、スケーラビリティ、信頼性、セキュリティ、適応性、管理性を可能な限り低コストで最大化するように設計されています。

この概念では、クラウド コンピューティング サービスはレゴ ブロックの箱のようなもので、各ブロックには機能制御とデータ I/O 用の一連の定義済み機能と標準インターフェイス (通常は API) があり、これらを組み合わせてアプリケーションを構築します。レゴブロックのように、パーツのセットを組み合わせてモデルやテンプレートを作成し、それを簡単にコピーしたり、機能モジュールとして再利用したりすることができます。 10 年以上の開発を経て、クラウド コンピューティング サービスは現在、驚くほど多様な構成要素を提供しています。

クラウド ネイティブ設計では、これらのコンポーネントを組み合わせてカスタム アプリケーションを構築する必要があります。クラウドに精通した設計者は、ワークロードを最小限に抑えるためにより高いレベルの抽象化を好みます。これにより、企業はアプリケーションの差別化機能にさらに集中できるようになります。

クラウドネイティブ アプリケーションの開発は、ソフトウェアの開発、統合、テスト、および展開のプロセスと密接に関連しています。これらは、DevOps 組織の下で統合されるか、DevOps の原則と手法を非公式に採用することによって統合されることが多いです。

しかし、この2つを混同しないでください。クラウドネイティブ開発を行うために DevOps を使用する必要はありません。すべての DevOps 組織がクラウドファーストのアプリケーションをターゲットにしているわけではありません。ただし、DevOps プロセスはクラウドネイティブ開発を強化できます。同様に、DevOps プロセスは、反復可能なプロセスを体系化して自動化するプログラム可能なクラウド開発サービスから大きな恩恵を受けます。

たとえば、高度な DevOps プロセスと文化を持つ組織では、標準化された反復可能な自動化プロセスを使用しない組織と比較して、アプリケーションの展開サイクルが短くなる傾向があります (多くの場合、1 日に複数回)。

クラウドネイティブのトレードオフ

クラウド コンピューティングはアプリケーション開発に多くの利点をもたらしますが、欠点がないわけではありません。クラウド ネイティブ設計の最大のリスクは、高度なサービスを使用する場合のベンダー ロックインです。 API でラップされたクラウド コンピューティング サービスは、ユーザーを基盤となる実装から分離しますが、API 自体が非標準であるため、クラウド コンピューティング プロバイダー間でアプリケーションを移行することが困難になります。

さらに、ロックインを回避するためのツールも登場しました。特に、Kubernetes はコンテナ管理とコンテナ化されたアプリケーションの事実上の標準となっています。実際、多くのシステム アーキテクトがクラウド ネイティブ サービスではなくコンテナ ベースの実装を選択する主な理由は、ロックインを回避することです。

データ重力、つまり大量のデータをある運用環境から別の運用環境に移動することの難しさやコストは、クラウド ネイティブ設計のもう 1 つの欠点です。 IT 部門では、ハイブリッド環境を使用することで、こうした懸念を軽減することがよくあります。このシナリオでは、プライマリ データベースとファイル リポジトリはプライベート インフラストラクチャ上に残り、クラウド インフラストラクチャにはデータのレプリカまたはキャッシュされたサブセットが含まれます。

トレンドと予測

近年、クラウド コンピューティング サービス プロバイダーは大幅な収益増加を遂げています。これは主に企業での導入の増加によるもので、クラウド コンピューティングの成長は当分止まりそうにありません。新型コロナウイルス感染症のパンデミックは、この傾向を加速させただけであることが判明した。

多くの企業は多大な財政的プレッシャーに直面しており、コストを削減し、効率を向上させる必要があります。企業は、自社の IT 部門が、クラウド コンピューティング プロバイダーの規模の経済性、運用効率、そして新しいサービスを継続的に生み出す大規模な研究開発努力に追いつくことができないことに気づき始めています。

クラウド コンピューティングを初めて導入する企業の多くは、既存のアプリケーションを仮想インフラストラクチャに移行し、クラウド プラットフォームがすべての新しいアプリケーションの運用環境になります。より高度なサービスや開発プラットフォームなど、クラウド コンピューティング プロバイダーが提供するすべてのものを活用する企業は、競争上の優位性を獲得できます。これにより、クラウドネイティブ開発の価値がさらに強調されることになります。

また、多くの企業が、クラウドネイティブ アプリケーションの環境間の移行を簡素化するために、クラウドに依存しない抽象モデル、記述言語、およびデプロイメント ツールについて連携するようプロバイダーに圧力をかけることも予想されます。オープン アプリケーション モデル (OAM) は、最初はコンテナ ベースのマイクロサービスと Kubernetes 環境に重点を置く有望なステップです。

OAM コミュニティが、サーバーレス機能、分散データ分析、ブロックチェーン、人工知能、機械学習などのより高レベルのクラウド コンピューティング サービスにこのモデルを拡張することに熱心であるかどうかはまだ明らかではありません。ただし、この分野におけるクラウド コンピューティング プロバイダーの取り組みにより、アプリケーションの移植性が向上する可能性があります。

<<:  中国のクラウドコンピューティング価値マップ: 4つの都市が「クラウド第一層」階層にランクイン

>>:  インテリジェンスを活用して小売SaaSに足がか​​りを得ている「隠れたチャンピオン」を知る時が来た

推薦する

百度の影に生きる草の根ウェブマスター

昨日の午後、QQグループでBaiduのアップデートに関する議論を見ました。Baiduの小さな調整は理...

「コンテンツが王様、外部リンクが王様」という状況は一変するかもしれない

私が初めてインターネットを始めたとき、あるウェブマスターが私にこう言いました。「ウェブサイトをランキ...

10か月間のウェブサイトBaiduの重み値8の例図

以前、あるウェブマスターのウェブサイトで、そのウェブサイトのウェイトが 8 で、わずか 10 か月で...

NECS - KVM/月額 5.86 ドル/384 MB メモリ/20 GB ハードディスク/月間トラフィック 850 GB/英国 Rapidswitch データセンター

NECS.CO.UK は 2005 年に英国で登録された会社です。同社が提供する VPS は、英国で...

ドラゴンボートフェスティバルのメールマーケティングに中国の要素を加える

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますドラゴンボ...

ウェブサイトのキーワード調査 キーワードを調査する理由

1. ターゲットキーワードが検索されているか確認するウェブサイトのコアキーワードは当然のものではあり...

ウェブサイト最適化担当者として、キャリア上のボトルネックに遭遇した場合、私たちは何をすべきでしょうか?

ご存知のとおり、ウェブサイトの最適化では、Baidu や Google などの検索エンジンと対峙しま...

ウェブサイト構築の共有: ドメイン名をどこで購入したか忘れてしまった場合はどうすればいいですか?

月収10万元の起業の夢を実現するミニプログラム起業支援プランドメイン名をどこで購入したか忘れましたか...

百度がショッピングアプリ「百度微盒」をひっそりとリリース

【TechWeb Report】1月25日、百度は最近、登録なしですぐに注文できるショッピングウェブ...

Baidu Wenku を使って企業ウェブサイトへのトラフィックを増やす方法

SEOは企業ウェブサイトのプロモーションにおいて一定の位置を占めています。企業ウェブサイトはSEOを...

クラウド コンピューティングの「新たな黄金の 10 年」で勝利するのは誰か?

「ポスト疫病時代」では、クラウドコンピューティングのエネルギーが加速的に解放されています。データによ...

SEO には本当に解決策はないのでしょうか?

数年前に SEO をやっていた頃を振り返ってみると、そのギャップは非常に明白です。数年前は、ウェブサ...

Kubernetes での gRPC トラフィック負荷分散の実装

gRPC サービスを Kubernetes クラスターにデプロイしようとするときに一部のユーザー (...

音楽共有サイトSoundCloudの月間ユーザー数は1億8000万人

北京時間12月5日、外国メディアの報道によると、音楽共有サイトSoundCloudの共同設立者アレッ...

Bステーションはサークル外、UPホストは左

Bilibiliはサークルから抜け、UPホストも去っていきます。 6月14日、「ウィザードファイナン...