クラウド コンピューティングを定義する特性、またはクラウド コンピューティングを従来のデータ センターと区別する特性が 1 つあるとすれば、それは自動化です。 クラウド コンピューティングは、企業の最新のアプリケーション開発プロセスに多くの利点をもたらします。最も重要な利点の 1 つは、従来は手動で処理する必要があった重要な操作を自動化できることです。 自動化は、おそらくクラウド コンピューティングを使用する上で最も重要な利点です。クラウド アーキテクトは、可能な場合は自動化を活用することで、その役割で成功します。 クラウド アーキテクトの仕事に不可欠な一般的なクラウド自動化テクニックにはどのようなものがありますか?ここでは、クラウド ホスト型アプリケーションを設計、構築、展開する際に、すべてのクラウド アーキテクトが自動化に努めるべき 5 つのアクションを紹介します。 (1)延長自動拡張はクラウドコンピューティングを利用する上で最も基本的かつ必要な手段です。スケーリングは、サーバー リソースの自動スケーリングの場合でも、Amazon S3 や DynamoDB などのネイティブ クラウド サービスに組み込まれた柔軟なスケーリングの場合でも、クラウド コンピューティングの重要な部分です。スケーラブルなインフラストラクチャを構築することは、そもそも人々がクラウド コンピューティングに移行する主な理由の 1 つです。 しかし、この自動化のスケーラビリティには、新しいサーバー インスタンスを迅速かつ簡単に起動できることが必要であり、それが次の自動化につながります。 (2)サーバー構成クラウド コンピューティングが登場する前は、データ センターに新しいサーバーをプロビジョニングするには、数日または数週間かかることもありました。クラウド コンピューティングの自動化により、必要なすべてのソフトウェアとサービスがインストールされ、実行された、完全に機能する運用可能なサーバー インスタンスを数分でプロビジョニングできます。自動サーバープロビジョニングは、自動スケーリングだけでなく、クラウド自動化の別の形式である自己修復インフラストラクチャにとっても重要です。障害が発生したり侵害されたりしたサーバー インスタンスを終了し、自動化によって新しいインスタンスに置き換えると、クラウドでの問題解決の方法が変わります。この機能は、多くの種類の問題やバグに対する平均解決時間 (MTTR) を改善するために重要です。 サーバープロビジョニングの自動化は、Amazon EC2 などのコンピューティング サービスで新しい仮想マシン インスタンスを起動する場合でも、Google Kubernetes Engine などの Kubernetes 環境で新しいコンテナ インスタンスを起動する場合でも、同じように機能します。どちらの場合でも、自動化により、ほとんどのクラウド対応アプリケーションの基盤となるサーバー インスタンスの起動、スケーリング、修復の速度と信頼性が向上します。 サーバー構成を自動化するもう 1 つの利点は、可用性の向上です。自動プロビジョニングとは、少数の大規模サーバーを多数の小規模サーバーに簡単に置き換えることができることを意味します。このようなモデルにより、アプリケーションの可用性が大幅に向上し、障害の影響を軽減できます。 ただし、自動サーバー構成は、サーバーの運用に必要なその他のインフラストラクチャも迅速かつ簡単にセットアップできる場合にのみ機能します。 (3)インフラ整備サーバーを自動的にプロビジョニングするだけでは、クラウド コンピューティング アプリケーションを起動して実行し、ユーザーにサービスを提供するには不十分です。企業は、ロード バランサ、ファイアウォール、ネットワーク セグメント、データベース、およびキューやキャッシュなど、アプリケーションが依存するその他のサービスも提供する必要があります。アプリケーションが完全に機能する前に、すべてのサポート インフラストラクチャをセットアップし、構成し、アプリケーションに接続する必要があります。 このすべての構成を手動で行うと、非常に時間がかかります。オンプレミスのデータ センターに展開する場合、必要なすべてのコンポーネントをセットアップするのに数日以上かかることがあります。ただし、クラウド コンピューティング アプリケーションでは、インフラストラクチャ アズ コード (IaC) と呼ばれる自動化テクノロジにより、API 呼び出しを使用してアプリケーション インフラストラクチャをプロビジョニングできます。 IaC を使用すると、ユーザーはソース コード (通常は Git などの従来のソフトウェア バージョン管理システムを使用して管理できる JSON または YAML ファイル) でインフラストラクチャを設定する方法を指定できます。エンコードされたインフラストラクチャ構成は、インフラストラクチャ コンポーネントを自動的にプロビジョニング、構成し、稼働中のネットワークに接続するツールに渡されます。 このレベルのクラウド インフラストラクチャの自動化を実行できるツールは多数あります。 Infrastructure as Code は、変更管理と承認、変更追跡、インフラストラクチャ コードの再利用など、インフラストラクチャ プロビジョニング プロセスに独自の利点をもたらします。 Infrastructure as Code は、インフラストラクチャ API によってインフラストラクチャの自動作成が可能なクラウドまたはクラウドのようなデータ センターでのみ利用できます。 クラウド アーキテクトは、IaC ツールを活用して、インフラストラクチャのプロビジョニングのための信頼性が高く、安全で、繰り返し可能なクラウド モデルを作成する必要があります。その利点はいくら強調してもし過ぎることはありません。 (4)コードの展開コード展開パイプラインの自動化は、クラウド コンピューティングに特有のものではありません。ただし、他の種類の自動化が頻繁に使用されていることを考えると、自動化されたコード展開はクラウド対応アプリケーションの自然な拡張であり、クラウド アーキテクトによって大きく依存されています。 コード展開を自動化する最も一般的なアプローチの 1 つは、継続的インテグレーション (CI)/継続的デリバリー (CD) パイプラインです。これは、Git などのソフトウェア バージョン管理システムにチェックインされているコードに基づいて、運用アプリケーションへの自動コード展開を可能にするモデルです。アプリケーションと企業のポリシーに応じて、自動デプロイメントはスケジュール設定(たとえば、毎日または毎時間)されるか、コード リポジトリに変更が加えられてデプロイメントが可能になったときにトリガーされます。 自動コード展開をサポートするツールは数多くあります。これらのツールには、Jenkins、Bamboo、GitLab、CircleCI、AWS Code Deploy が含まれます。それぞれ動作が異なり、クラウド アーキテクトは開発組織とビジネスのニーズを満たす適切な自動化戦略を選択する必要があります。ただし、ほぼすべての複雑なクラウド コンピューティング アーキテクチャ アプリケーションでは、何らかの形式の自動コード展開が使用されています。 (5)クラウドネイティブサービス自動化の形式として見落とされがちなのが、多くのクラウド サービスに組み込まれている自動動的スケーリングです。クラウド キューイング サービス (Amazon Simple Queue Service など)、クラウド データ ストア (Amazon S3 など)、クラウド データベース (Amazon DynamoDB など) は、それらを活用する動的アプリケーションのスケーリングのニーズを管理するために、自動化に大きく依存しています。 クラウド アーキテクトは、S3 のようなデータ ストアがシンプルで安全、信頼性が高く、統合が容易で、自動的に機能するため、コンピューティング インスタンス上のローカル ドライブ ストレージなどから独自のデータ ストアを作成するよりも、S3 のようなデータ ストアを使用することを好むことがよくあります。パブリック クラウドによって提供される他の多くのサービスについても同様です。これらを使用することで、バックグラウンドで実行される強力な自動化を活用できます。 クラウドコンピューティングとは自動化を意味する自動化はクラウド コンピューティングを定義する特性の 1 つであり、クラウド コンピューティングと従来のデータ センターの違いの 1 つです。もちろん、ユーザーは自動化を利用せずにクラウドでアプリケーションを実行することもできますし、実際にそうしているユーザーも多くいますが、そうすることでメリットを逃していることになります。自動化は、一貫性、信頼性、セキュリティ、スケーラビリティ、ビジネス ニーズへの応答性を向上させる方法だからです。 オンプレミスのアプリケーションを「そのまま」クラウドに移行するのは、比較的シンプルで簡単な移行であり、通常は訓練を受けたクラウド アーキテクトが実装する必要はありません。しかし、そのようなアプリケーションでは、クラウド上で実行することによる利点のほとんどを享受できません。真にクラウド対応のアプリケーションを構築するにはクラウド アーキテクトが必要ですが、クラウドが提供するすべての機能を活用できます。事実上、クラウド アーキテクチャのアプリケーションは自動化を多用します。 優れたクラウド アーキテクトは、すべてのクラウド ベースのアプリケーションで自動化の使用を可能にし、拡張し、サポートし、奨励します。簡単に言えば、優れたクラウド アーキテクトは可能な限り自動化します。彼らはクラウドで利用できる自動化機能を活用しており、それらの自動化をユニークで興味深い方法で使用しています。これは、最も成功するアプリケーション展開に不可欠な要素です。 |
<<: Amazon Web Services の Chen Xiaojian: 未来志向のクラウドネイティブ データ インフラストラクチャの 4 つの要素
>>: Kubernetes を採用しますか?避けるべき落とし穴をいくつか紹介します
時代の発展とともに、インターネットは私たちの生活においてますます重要な役割を果たしています。インター...
戴暁楽がITについて語る象を冷蔵庫に収める3つのステップハイブリッドクラウドはこんなにシンプルに下の...
編集者注: Nir Eyal 氏は、サンフランシスコ ベイエリアの複数のスタートアップ企業の創設...
360 Searchは初めてリリースされたとき、多くの人に好評を博しました。最近、ウェブサイトのテス...
megalayer は、秋学期に向けて特別プロモーションを開始しました。香港独立サーバー、CN2 最...
老舗ブランド商人のhostkeyは、10月10日より、オランダのデータセンターのGPUサーバーの優待...
[51CTO.com からのオリジナル記事] 今日、私たちは情報革命の時代に生きています。情報技術の...
Lunarpages は HostCat が推奨する仮想ホストです。信頼性が非常に高いです。価格は普...
初心者は、キーワードの選び方、ドメイン名の選び方、最適なドメイン名の種類など、いくつかの問題で混乱す...
SEO 最適化を満たすウェブサイトを構築することは、SEO 担当者の夢ですが、実現するのはそれほど簡...
Hostshare は中国で 12 年間運営されているブランドです。VPS を非常に安価に提供し、依...
現在から2月8日まで、Dawang Data/dwidcは独立サーバー/物理マシンのクリアランスセー...
最近、Gaopeng.comでグループ購入で「地下鉄記念チケット(10回券)」を購入した一部の消費者...
データストレージ設備は大きな進歩を遂げてきました。進化するにつれて、磁気ドラム、テープ、ハードドライ...
センサー データと機械学習データが急増するにつれて、エッジ コンピューティングは IT リーダーとビ...