ハイブリッド クラウド

CIO のためのクラウド活用ガイド : “デカップリング” によるビジネスのシフト チェンジ

Google Cloud.png

※この投稿は米国時間 2019 年 9 月 16 日に Google Cloud blog に投稿されたものの抄訳です。


成功の 80 % は目に見えるものだと言われていますが、クラウドへの移行を進めている企業にとっては、残念なことにこれが常に成り立つとは限りません。


たとえば最近の McKinsey の調査によると、多くの企業が、クラウドに移行しても「IT のアジリティ強化は期待外れに終わっている」と感じています。CTO や CIO が IT のアジリティ向上に四苦八苦しているため、多くの組織はもっと大きいビジネス ゴールを達成できないでいます。McKinsey によれば、CIO の 95 % は、役員全体の目標達成は自分たちにかかっていると考えています。


クラウドに移行してもデジタル トランスフォーメーションが成功しないのは、クラウド ベンダーでプールされているリソースを借りるとか、SaaS サブスクリプションに投資するといった目的でクラウドを導入している組織がほとんどだからです。このように型どおりにクラウドを導入したところで、基本的にはそれまでしてきたこととさほど変わりません。システムが少し高速になり、効率が少し良くなるだけです。


しかし、時代は大きく変わろうとしています。クラウド サービスのメリットは、大手プロバイダーが貸し出すインフラストラクチャの利用による規模の経済だけでなく、インテリジェンスや自動化、ベロシティ(開発スピード)に移ってきています。McKinsey が指摘するように、規模だけを目的としていて、クラウド サービスが提供するアジリティやベロシティを活用できていなければ、どこかでつまずくことになるでしょう。


ベロシティやアジリティの達成は、アプリケーションをどこにホスティングするかではなく、いかに早く自由に効率良く戦略を立ち上げ、必要に応じて修正できるかどうか、新しいテクノロジー プラットフォーム上で顧客とやりとりする方法を策定できるかどうか、さらにはアプリケーションに必要な機能をすばやく追加したりデータを収益化したりできるかどうかにかかっています。そのためには、異なるシステム間の依存関係をデカップリング(分離)し、企業 IT で一般的に必要とされる手作業の調整を最小限に抑える必要があります。今日のダイナミックなテクノロジーに適した疎結合の分散システムを作るということです。


現在の Google は、このデカップリングの概念と、それによるビジネス成果の加速化を軸にしています。Anthos は、アプリケーションをどこででも実行できるようにしながら、企業が求めてやまないアジリティとベロシティを実現するオープンソース ベースのマルチクラウド プラットフォームですが、このプロダクトにもデカップリングの概念が強く反映されています。


デカップリング = アジリティ : 開発スピードのシフト チェンジ

デジタル トランスフォーメーションはクラウドとイコールではないので、クラウドに移行したからといって、それだけで会社が変わるわけではありません。正確には、ソフトウェアの構築方法を変えるとともに、音声アシスタントによる製品販売や、パートナー企業に対するプロプライエタリなデータと機能の大規模な開示、従来は人間の関与が不可欠だった IT 管理とセキュリティの自動化というように、ソフトウェアがサポートできる新しいビジネス戦略を次々に打ち出すことが必要です。


今日のソフトウェア開発では、アプリケーション全体に影響を与えずに機能の更新や再利用を行うのが難しいモノリシック アーキテクチャを避けるようになりました。それに代わって、再利用が可能なうえに独立してデプロイできる小さなマイクロサービスを組み合わせたアプリケーションが一般的になってきています。


このシフトの効果は、ソフトウェアの再利用、結合、変更が容易になり、ビジネス ニーズの変化に即応できることだけではありません。開発者は、大きなグループではなく、並行して作業を進める小さなチームで仕事をするようになり、アプリケーションの開発やデプロイが大幅にスピードアップします。しかも、API として公開されているマイクロサービスは、さまざまなクラウドに散らばった多くのプロバイダーのリソースを開発者が活用したり、よりリッチなアプリケーションとコネクテッド エクスペリエンスを作成できるツールを開発者に提供したりするのに役立ちます。


こうしたサービスのアプリケーションからのデカップリングや、開発者相互のデカップリングは、主にコンテナを通じて行われます。コンテナはアプリケーションやライブラリを基盤の OS やハードウェアから抽象化してくれるため、開発チームは、共同で作業している他チームの状況を意識せずに済み、自分たちの作業に集中しやすくなります。


コンテナは、IT 部門、サーバー、メンテナンスの関係を劇的に変えるデカップリングの重要な一形態でもあります。たとえば、コンテナのおかげで、多くのアプリケーションが互いに影響を与えずに同じサーバーに共存できるようになったため、デプロイするハードウェアをアプリケーションごとに変える必要はなくなりつつあります。コンテナを別のマシンに移すこともできるので、オンプレミスで開発したアプリケーションをクラウド経由でスケーリングしたり、ニーズの変化に応じてアプリケーションを別のクラウドに移行したりといったことが可能です。コンテナが「クラウドネイティブ」と呼ばれる理由の 1 つは、このようなハードウェアからの抽象化にあります。


本稿では表面的なことしか触れませんが、重要なのは、機能をデカップリングし、疎結合の分散システムを中心に構築された新しいアーキテクチャを導入することで、並行して迅速に作業を進める小規模チームで開発者の力を引き出し、ソフトウェアを主軸とする現代のビジネス戦略を遂行するうえで必要不可欠な IT アジリティを実現するということです。


デカップリングは複雑さを増幅させるのではないか?

コンテナと分散システムには多くのメリットがありますが、スイッチを入れれば導入できるというものではありません。


巨大なアプリケーションを数百個の小さなサービスに分解すれば企業のアジリティは向上しますが、それらすべてのサービスのオーケストレーションは、ユーザーを認証し脅威から保護することと同様に、とてつもなく複雑になる可能性があります。数百万のマイクロサービスが相互に通信しているシステムで人間を介在させることは事実上不可能であり、自動化が必要です。そのため、多くの企業は分散環境全体のガバナンスだけでなく、導入すべきソリューションの選択にも苦労しています。


しかも、大企業ではすべてが同じペースで発展していくわけではありません。クラウドでコンテナを実行すれば、インフラストラクチャの管理をベンダーに委ね、優れたアプリケーションの開発に集中できます。実際、ほぼすべての大企業のチームはすでにそのようにして運用を行っていますが、レガシーなアプローチに慣れたチームは漸進的な移行方法を必要とすることがあります。


また、企業では、戦略、規制、その他さまざまな理由でデータをオンプレミスに残さなければならない場合がありますが、そのようなデータについてもクラウド ベースのアナリティクスや機械学習を適用したいところでしょう。ほかにもクラウドとオンプレミスを融合するニーズはありますが、そのようなデプロイのためのオーケストレーションや管理、モニタリングを導入することは、これまでは困難とされてきました。


問題はほかにもあります。コンテナはもともとポータブルなものですが、さまざまなパブリック クラウドがそれぞれ異なるプラットフォームを提供しているため、開発者や管理者に一貫したエクスペリエンスを提供することはもちろん、異なるクラウド間でコンテナを移動させることもかなり難しくなっています。特効薬のように見えたオープンソース版のソリューションもありますが、それらと、クラウド ベンダーが販売しているマネージド サービスとでははっきりとした差があります。企業はクラウド ベンダーを変更したり、複数のクラウドを活用したり、囲い込みを防ぐためにその他の手段を使ったりしたいところなのに、こういった問題があるのはとても悩ましいことです。


こうした問題を回避しながら分散システムの利点だけを手に入れたい企業を支援するべく、私たちは Anthos を開発しました。


Anthos : アジリティから複雑さを差し引いたもの

Google は、数十億の人々が利用する複数のウェブ サービスを運用し、数万人の社員、請負業者、パートナーを結ぶ IT システムを抱える非常に複雑な組織です。そのような私たちが、分散システムとそのダイナミックで疎結合なコンポーネントのパズルを解くために膨大な時間を費やしていることは、決して意外ではないでしょう。たとえば私たちは、コンテナ オーケストレーションの事実上の標準である Kubernetes や、マイクロサービスを管理するサービス メッシュの主要プロダクトである Istio をオープンソース化しました。これらはいずれも Anthos の重要なコンポーネントであり、Google 社内のベスト プラクティスを踏まえて作られています。


Istio はマイクロサービスの系統的かつ一元的な管理機能を提供し、サービスとポリシーのデカップリングという、おそらくデカップリングの最も重要な形を可能にします。Istio のサポートを受ける開発者は、ポリシー情報をマイクロサービスのコードに入れ込むこと無く、サービスのコードを自由に記述できます。そのため、管理者は個々のサービスをデプロイしなおすことなく統制の取れた形でポリシーの変更をロールアウトできます。これにより、IT ガバナンスで伝統的に必要とされてきた、高コストで時間のかかる調整や官僚主義は自動化され、開発者のベロシティが向上します。


Anthos は、企業が選択とオープン性を求めていることを十分に踏まえたうえで、クラウドとオンプレミスのハイブリッドをサポートした形でローンチされました。まもなくマルチクラウド機能も追加される予定です。これらすべてのオプションにより、Google Cloud Platform(GCP)であれ、VMware に Anthos がデプロイされた企業データセンターであれ、Azure や AWS などのサードパーティ クラウドであれ(近くリリースされるアップデート以降)、そのすべての環境に対して、単一画面のビューを介したシンプルな管理や、ポリシー駆動型の制御、一貫したエクスペリエンスを提供します。Anthos はソフトウェア ベースなので、オンプレミスにデプロイしてもスタックの更新は不要であり、既存のハードウェアがそのまま使用できます。ワークロードがどこに配置され、どのハードウェアで実行されるかにかかわらず、開発者と管理者は一貫したエクスペリエンスが得られます。


Anthos を利用しているお客様の間では、すでにすばらしい動きが生まれています。たとえば、200 年近くの歴史を誇る広域地方銀行の KeyBank は、顧客向けアプリケーションで数年間コンテナと Kubernetes を使用した後、Anthos の導入に踏み切りました。


KeyBank の CTO である Keith Silvestri 氏と、DevOps Practices のディレクターを務める Chris McFee 氏は、最近のブログ記事で「コンテナをベースとするアプローチのスピードと競争優位性は、私たちがこれまで使ってきたどの技術にも類を見ません」と述べています。両氏は、ブラック フライデーやサイバー マンデーといったトラフィックが集中する時期に、インフラストラクチャをオンデマンドでスピンアップするうえでコンテナ技術が役に立っていることも指摘しています。


KeyBank が Anthos を選んだのは、オープンソース版の Kubernetes にできるだけ近い技術を使いつつ、社内向けアプリケーションを含む IT 運用において、上述のようなアジリティとバースタビリティ(爆発的なアクセスへの対応)を手に入れるためです。「私たちは、使い慣れた高パフォーマンスの Cisco HyperFlex ハイパーコンバージド インフラストラクチャに Anthos をローカルにデプロイしています。コンテナ化されたワークロードは、すべて GCP で動作しているかのように、“Single Source of Truth”(信頼できる唯一の情報源)となる GCP コンソールから管理されます。」(両氏)


Anthos には、仮想マシンを Google Kubernetes Engine(GKE)のコンテナに自動で移行する Migrate for Anthos や、40 社以上のハードウェアおよびソフトウェア パートナーからなるエコシステムも含まれています。とはいえ、前述したように、最も高いレベルでは、このプラットフォームはデジタル トランスフォーメーションを成功させるうえでカギとなるデカップリングを促進することで、開発者のアジリティ、運用の効率、プラットフォーム ガバナンスのバランスを取りやすくします。


  • インフラストラクチャとアプリケーションのデカップリング

  • チーム相互のデカップリング

  • 開発と運用のデカップリング

  • セキュリティと開発および運用のデカップリング

デカップリングが成功すれば、手動調整の必要性が最小限に抑えられ、コストの削減と複雑さの軽減が実現し、ベロシティ、運用の効率、ビジネスの生産性が大幅に向上します。デカップリングは、オープン、ハイブリッド、マルチクラウドがもたらす未来、すなわち Anthos によって構築される未来にまで一貫性を保証するフレームワークや実装、運用モデルを提供します。


ハイブリッド テクノロジーによるデジタル トランスフォーメーションの加速化については McKinsey のレポートをご覧ください。また、企業のデジタル トランスフォーメーションを Anthos がどのように支援するかを学びたい方は、KeyBank と OpenText が登場する『Cloud OnAir with Anthos』をご視聴ください。


- By Jennifer Lin, Director of Product Management, Google Cloud