クラウドコンピューティングがアプリケーション開発に与える影響を探る

クラウドコンピューティングがアプリケーション開発に与える影響を探る

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

[[343657]]

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

<<:  H3Cと安徽電信が共同でTianyi Security Brainをリリースし、中小企業向けの統合セキュリティSaaSサービスを提供

>>:  これらの10の小さな実験に頼って、JVMの3つの主要なパラメータタイプを数秒で理解します。

推薦する

Baidu Spaceを使ってネットワークプロモーションを行う方法

みなさんこんにちは。私はHongtu Internetです。 「Baidu Spaceをオンラインプ...

草柳コミュニティの視点からフォーラムの現状と将来を垣間見る

【要点】WeiboやSNSの台頭と成長に伴い、かつて人気があったフォーラムは衰退し始めました。従来の...

マッキンゼー:クラウドコンピューティング環境におけるセキュリティ問題は以前ほど顕著ではない

今日では、パブリック クラウドの導入が容易になり、企業は以前に比べてそのセキュリティや有効性に対する...

マイクロビジネスは死んだ

路上で誰かを迎えに行くと、彼らはわずか3文でB2BO2OP2Pについて話しますこれは、もう少し関心を...

莫言がノーベル文学賞を受賞し、関連ドメイン名が登録された

莫言は、本名を関莫業といい、山東省高密県に生まれた。新浪科技は10月12日午後、中国の現代有名作家の...

「仮想化」(Intel VT および AMD SVM)に関するある程度の理解

[[282702]] 1. はじめに数日前、BIOS に入り、何気なくパラパラと見て、理解できない機...

itldc - シンガポール VPS、21 ユーロ/年/KVM/無制限トラフィック/1G メモリ

itldc は、主に独立サーバーと VPS サービスを提供する、非常に控えめなホスティング会社です。...

yourlasthost: KVM タイプの小メモリ VPS、オプションのデータセンター 4 つ、年間 12.95 ドル

2009 年に設立された yourlasthost 社は現在、スナップショット バックアップをサポー...

スターを追いかける宣伝チャネルをブランドマーケティングに適用するにはどうすればよいでしょうか?

スターを追いかけるファンがアイドルを宣伝するために使用するチャネルは、私たちがマーケティングプロモー...

kirincomm: 50%割引、日本ソフトバンク回線クラウドサーバー、200Mbps帯域幅、月額44元から

Hostcatは、主に日本の東京(Equinix、COLT)と大阪(Equinix)データセンターで...

SEOの18のルール

1. ウェブページのタイトルを見逃さないでください。この場所は、常に最適化の焦点となるべきです。CS...

Amazon Web Services: クラウドネイティブデータベースで従来の産業のイノベーションを促進

今日、データは企業の中核資産となり、イノベーションの主な原動力となっています。多くの企業がデータ駆動...

クラウドに人工知能を導入する際の 10 の考慮事項

クラウド コンピューティングは、あらゆる規模の企業がインターネット経由で多様なオンデマンドの仮想 I...

本質に立ち返り、ウェブサイトが真にユーザーに役立つようにする

どのような種類のウェブサイトであっても、ウェブサイトとしての基本的な目的は、ユーザーや類似ユーザーが...

キーワード密度とSEOランキングの関係

SEO 担当者はキーワードについてよく話します。コアワードであろうとロングテールワードであろうと、キ...