クラウドアーキテクトにとって欠かせない5つの自動化(前)

クラウドアーキテクトにとって欠かせない5つの自動化(前)

クラウドアーキテクトにとって欠かせない5つの自動化(前)

 クラウドには企業のモダンアプリケーション開発のプロセスを強化できるメリットが数多くある。特に大きいのは、以前なら人間が対応するしかなかった主な作業を自動化できることだ。

 自動化はクラウドの最大の強みと言えよう。自動化できる部分を可能な限り自動化することで、クラウドアーキテクトは存在意義を発揮する。

こうした自動化の対象のうち、クラウドアーキテクトの仕事で中心的な意味を持つ5種類を見ていこう。クラウドで稼働するアプリケーションの設計や開発、デプロイにあたって、この5つはぜひ自動化しておきたい。

1. スケーリング

クラウドを利用するうえで何より大きな土台となるのがスケーリングの自動化だ。サーバーリソースのオートスケーリングも、Amazon S3やDynamoDBのようなクラウドネイティブサービスに組み込まれているスケーリング機能も、クラウドには欠かせない。そもそもクラウドに移行する主な動機の1つは、スケーラビリティに優れたインフラを構築することにある。

だが、こうしたオートスケーリングを実現するには、新たなサーバーインスタンスを瞬時に起動できる必要がある。それに関係するのが次の項目だ。

2. サーバーのプロビジョニング

クラウドがなかった頃は、新たなサーバーのプロビジョニングには週単位の期間が必要だった。しかし今では、クラウドの自動化を活用すれば、サーバーインスタンスをほんの数分でプロビジョニングできる。そのままの状態で完全に機能するインスタンスで、必要なソフトウエアやサービスはすべてインストール済みだ。サーバーの自動プロビジョニングは、前述のオートスケーリングにとって重要な意味を持つだけでなく、インフラの自己修復を実現するうえでも鍵となる。こうした自己修復もクラウドならではの自動化の一種だ。障害や侵害が発生したサーバーインスタンスを終了させて新たなインスタンスに置き換える作業を自動化でき、問題解決のあり方が変わる。さまざまな種類の問題やエラーに対するMTTR(平均修復時間)を短縮するうえで、この機能は重要な意味を持つ。

サーバーの自動プロビジョニングは、Amazon EC2のようなコンピューティングサービスで仮想マシンのインスタンスを新たに起動する場合でも、Google Kubernetes EngineのようなKubernetes環境でコンテナインスタンスを新たに起動する場合でも、基本的には同じように機能する。いずれも、インスタンスの起動やスケーリング、修復のスピードアップと信頼性の向上につながり、クラウド対応アプリケーションにとって大きな支えとなる。

加えて、可用性の向上というメリットもある。大規模なサーバーを何台かのみ利用する構成に代えて、小規模なサーバーを数多く利用する構成へと簡単に移行できる。こうした構成なら、アプリケーションの可用性が大幅に向上し、障害の影響を軽減できる。

だが、サーバーの自動プロビジョニングが効果を発揮するには、サーバーの運用に必要なその他のインフラも短時間で簡単にセットアップできなくてはならない。それが次の項目だ。

続きは Computer World へ

クラウドカテゴリの最新記事