ポリシーリスクを可視化。自然な言葉でポリシーに関する疑問を解決します。 デモを申し込む →

Published:

クラウドで誰もが自動化する理由

by FireMon

私がクラウドについて話すのを聞けば、ほぼ間違いなくいずれこう言うはずです。

「クラウドセキュリティはアーキテクチャに始まり、自動化に終わる」

私は繰り返しの多い人間です。しかしこれは気の利いた一言ではなく、あらゆる規模の組織とともに10年近くクラウドに深く携わってきた経験に基づくものです。何度も繰り返し目にする唯一の共通点は、組織が一定の規模に達すると運用の自動化を始めるということです。そしてその境界線は、クラウドジャーニーの中で年々早い段階へと移っています。

私がそれを知っているのは、まず自分自身が経験したからであり、その後、私が協業し、話をし、あるいは一瞥しただけの組織のすべてが同じ道をたどるのを見てきたからです。

誰もがまずコンソールで手作業による管理から始めます。

当然のことです。そこでサインアップし、クラウドを使い始めるのですから。学ぶ場所としては最適で、ほとんどのコンソールには、始めたばかりの利用者を助けるウィザードや手順、各種のヒントが用意されています。しかし、より複雑な環境を構築したり、単純な環境を複数複製したりするにつれて複雑さが増すため、この方法は長くは通用しません。繰り返しの作業のためにWebベースのユーザーインターフェイスをクリックし続けるのは決して効率的ではなく、次第に時間がかかり、苛立ちも募ります。これはクラウドプロバイダーのユーザーインターフェイスが劣悪だからというだけではありません(正直に言えば、かなりひどいものもありますが)。よく考えてみれば、私たちはデータセンターのあらゆる側面を、事実上たった1つのWebインターフェイスから管理しようとしているのです。うまくいくはずがない

そこで次に自然と進む段階は…

コマンドラインインターフェイスの利用へ移行することですが、ここでも同じだけの複雑さに直面します。データセンターを稼働させ続けるには、継続的な運用は言うまでもなく、初期プロビジョニングだけでも膨大な構成要素が関わります。常用するコマンドを覚えておくことは容易でも、この規模のすべてを頭に入れておける人は実際にはいません。そして結局のところ、同じ作業のために同じコマンドを何度も打ち込むことになります。

しかもこれは、1人で1つのアカウントを管理している場合の話です。実際には、小規模なスタートアップでさえ、複数のアカウントにまたがる反復作業を管理する必要があります。

その一方で…

開発チームはすでにAPIを直接使い、クラウドのさまざまな要素をアプリケーションに統合しています。おそらくS3バケットをいくつか管理する程度から始まりますが、グローバル規模のデータベースから機械学習エンジンに至るまで、あらゆるものの管理へと急速に広がっていきます。これこそが、PaaSをアプリケーションに統合し、クラウドから最も本質的な価値を引き出す方法です。

開発チームはまた、TerraformやCloudFormationのようなツールをすぐに使い、インフラをコードとして定義します。そうすることで、開発/テスト/本番の各環境を構築し、すべてを一貫した状態に保つことができます。

やがて(数年かかることもありますが)、セキュリティ部門と運用部門も自ら自動化を活用し始めます。主に3つの領域においてです。

  1. 新しい環境を構築し、デプロイメントパイプラインと統合するためのInfrastructure as Code(IaC)の活用。IaCによって、一貫性のある再現可能な環境を構築し、セキュリティと運用のベースライン要件をプロビジョニングできます。開発者も開発/テスト/本番の環境を定義するために利用します。誰もが恩恵を受けるため、私が関わってきた企業はすべて、ごく短期間で利用するようになりました。
  2. 評価と監視のための自動化。 中核となる課題は、たとえすべてが同じアカウント内にあったとしても、散在するクラウドリソースに対する可視性を維持することです。コンソールでも多くのことを表示できますが、自動化を使えば、自分にとって重要なものを表示できます。これは、データセンター内のサーバーを追跡するといったことのためだけに莫大な費用を投じてきた従来型インフラに対する、実に大きな優位性です。クラウドでは、API呼び出し1つで済むことなのです。
  3. 運用のための自動化。ずれのある状態が見えるようになれば、それを修正したくなるものです。加えて、自然に自動化できるワークフローも数多く存在します。このレベルの自動化は、従来型インフラでは仮に実現可能だとしてもコスト面で現実的ではありませんが、クラウドで作業するうえではごく自然な延長線上にあります。

クラウドの主要な利点の1つは分離です…

必要なリソースだけを備えた環境を切り離すことで、開発者は他者の邪魔をすることなく迅速に動けます。しかしこれはすぐに、再現可能なプロセスと管理の必要性につながり、APIがそこにある以上、自動化するのはごく自然な流れです。

子どもは、外部からの刺激のない隔離室で育ったとしても、這い、歩き、やがて走るようになります(本当に試したことはありません、念のため)。それは自然な進歩です。クラウドの自動化も同じです。クラウドで何かを大規模に運用するうえで本質的に必要とされるものであり、誰もがいずれそこに到達します。肝心なのは、効果的にそこへ到達することです。

クラウドで誰もが自動化する理由 - www.firemon.com