Special
» 2019年02月12日 10時00分 公開

クラウドは“選ぶ”から“組み合わせる”フェーズに:“真のマルチクラウド”はどうすれば実現できる?――今、あらためて直面するクラウドの課題解決に向けgrasysができること

クラウドの登場からおよそ10年が過ぎ、さまざまなクラウドベンダーが提供するサービスや機能は数百に上るようになった。だが、それらを複数のクラウドをまたがって自由に利用できるようにはまだなっていない。「真のマルチクラウド」はどうすれば実現できるのか。ほぼ全員が元プログラマー出身のエンジニアで構成されているというユニークなインフラ会社grasysの代表取締役社長である長谷川祐介氏に話を聞いた。

[PR/@IT]
PR

クラウド活用10年、「どのクラウドが良いか」を選択する時代は終わった

 “クラウド”という言葉が一般化してからおよそ10年。Amazon Web Services(AWS)が米国でAmazon S3とEC2をリリースしたのは2006年で、その3年後の2009年には、NIST(米国国立標準技術研究所)が「クラウドコンピューティング」について最初の定義を行っている。

 日本での展開を見ても、2011年にAWSの東京リージョンが開設されて以降、2014年にMicrosoftがMicrosoft Azureの日本データセンターを東日本と西日本に開設。2016年に Google が Google Cloud Platform(GCP) の東京リージョンを開設するなど、着実に普及が進んできた。

 現在は、IaaS(Infrastructure as a Service)という領域だけを見ても、IBMやOracle、Alibabaなど、さまざまなベンダーがパブリック/プライベートクラウドを提供するようになり、PaaS(Platform as a Service)やSaaS(Software as a Service)を含めると、ユーザーの選択肢は10年前とは比較にならないほど増えている。

 では、“クラウド活用は既に最終形か”というと、決してそうではない。むしろ、これまで解決できなかったクラウドの課題にあらためて直面しつつあるのが現状だという。GCP やAWSを活用したインフラ構築を手掛けるgrasysの代表取締役社長、長谷川祐介氏は「本当の意味でのマルチクラウド環境は実現できていません」と指摘する。

 企業のクラウド活用フェーズは、大きく3つに分けられる。「調査、確認して試行する」フェーズ、「1つのクラウドで深く活用を進める」フェーズ、「複数のクラウドを使い分ける」フェーズだ。AWSに例えるなら、まずは特定の部門でEC2やS3などの利用を進め「クラウドファースト」を意識したシステム環境を整備。その後、冗長化やCDN(Content Delivery Network)、セキュリティといった非機能要件に対応させて横展開を進め、必要に応じて「フルクラウド化」を検討する。さらに、さまざまな業務でクラウドを活用し、ベンダーロックインを回避すべく、AWSに加え、GCP やAzure、プライベートクラウドなどの「マルチクラウド化」を進めていくというシナリオだ。

 「複数のクラウドを比較して『どのクラウドベンダーが提供するクラウドが良いのか』を選定するフェーズは終了したと見ています。2017年ごろからは『どの機能が必要か』『どのサービスが優れているか』というように“機能単位”でサービスを選定し、それらを積み木のように積み上げてシステムを構築していく方法が重視されるようになりました。ただ、そこにはまだまだ課題が多いのが現状です」(長谷川氏)

 クラウドのコモディティ化が進んだとはいえ、現状では複数クラウドの機能をサービスとして自由に組み合わせて利用することまではできていないのだ。

複数のクラウドを機能単位で組み合わせたいのに、なぜできないのか?

ALT grasys 代表取締役社長 長谷川祐介氏

 機能単位でサービスを選定し、モジュール型でシステムを構築していくアプローチは、AWSが推奨するシステム構築の在り方でもある。EC2とS3から始まったAWSのサービスは100以上あり、それらのサービスには独自のアイコンが与えられ、システム構成を分かりやすく把握することができるようになっている。

 こうしたアプローチは、 Google やMicrosoft、IBMといったベンダーも踏襲している。多くのクラウドベンダーがAWSと同等の機能を提供する一方、AWSにはない独自サービスを開発するなど、競争の好循環の中でクラウドは進化している。

 例えば、GCP が2012年に提供し始めたビッグデータのリアルタイム分析基盤「 BigQuery 」は、TB(テラバイト)クラスのデータを圧倒的な低コストで超高速に分析できる、GCP を代表するサービスとして支持を得ている。AWSも以前から「Amazon RedShift」やその後「Amazon Athena」といった同等サービスの提供を開始し、ユーザーはそれらを比較しながら必要に応じて使い分けられるようになった。

 grasysでも BigQuery を使ったシステム実装を数多く手掛けているが、「AWSでシステムを構築している企業から、データ分析用途についてだけは BigQuery を使いたいという要望をいただくケースが増えてきました」と長谷川氏は振り返る。

 「企業の悩みごとは千差万別です。そうした悩みに、AWSだけ、GCP だけで応えていくことはむしろ不自然になってきました。本来は、それぞれのビジネスの目的に沿った適切なクラウドの機能を選択することが望ましい。ベンダーの名前や評価にこだわらず、自社の悩みを解決するものを組み合わせることが重要です」(長谷川氏)

 だが、複数のクラウドを機能単位で組み合わせることができるかというと、必ずしもそうはなっていない。例えば、AWSでシステムを構築している企業が分析だけ GCP の BigQuery を使おうとする場合、機能的にはAPIを使ってデータ連携やシステム連携することは可能だ。しかし、複数のクラウドをまたがってネットワークを統合管理したり、セキュリティを包括的に担保する仕組みが整備されたりしているわけではない。

マイクロサービス/コンテナは“マルチクラウドの解”ではない

 こうした課題の解決策として注目を集めているものに、「マイクロサービスアーキテクチャ」や「コンテナ」がある。例えば、 Google の「 Google Kubernetes Engine(GKE) 」が存在し、AWSで同様のサービスとしてはKubernetesのマネージドサービス「Amazon EKS(Elastic Container Service for Kubernetes)」を提供し、Microsoftの「Azure Kubernetes Service(AKS)」、IBMの「IBM Cloud Kubernetes Service(IKS)」がある。

 しかし、長谷川氏はこうしたKubernetesのマネージドサービスだけでは、マルチクラウドの実現は難しいと疑問を投げかける。

 「Product環境で運用した上での結論としては、多少の複雑さはあるものの、HTTPアプリケーションを動かすという点で、コンテナの方が速く、適切にリソースとキャパシティーサイジングがされている設計であれば管理も楽であることは間違いありません。Kubernetesマネージドサービスは、短くて細かい通信が得意であるという特長があり、Python DjangoやRuby on RailsのようなWeb Application Frameworkで書いたアプリケーションを配布するには適しています。しかし、常時接続モデルを扱うには向いているとは感じられず、マルチポートで通信するようなアプリケーションも苦手です。DNSや監視、セキュリティなどを含めて常につながった状態のシステムを構築しようとする場合、コンテナではなく、むしろ仮想マシンを使う方がいい。コンテナやKubernetesは真の意味で“マルチクラウドの解”ではないと思います」(長谷川氏)

 長谷川氏は、マルチクラウドで本当に実現すべきなのは、特定のアプリケーションのポータビリティーではなく、システム全体のポータビリティーだという。例えば、AWS上にあるシステムを、あるタイミングで GCP にそっくり移動できるようにする。それを実現することで「どのクラウドが良いか」ではなく、本当の意味で「ビジネスに必要な機能をサービスとして利用できるようになる」と強調する。

 では、こうした真の意味でのマルチクラウドは、どのようにすれば実現できるのか。長谷川氏は、現状のクラウド環境にある“4つの課題”を解決することがその近道になると訴える。すなわち、「インフラのプロビジョニング」「セキュリティ」「ネットワーク」「アプリケーションの管理」という4つの領域における課題だ。

ALT ▲ハイブリッドなインフラへのシフト《クリックで拡大します》

クラウド管理の4つの課題を解消するHashiCorpの4つのツール

 およそ10年かけて発展してきたクラウドだが、次のマルチクラウドというフェーズに進むためには、この4つの領域での課題解決は不可欠な状況だという。

 例えば、インフラのプロビジョニングについては、現在のクラウドは専用ツールを用いて手作業で行われることが多いのに対し、マルチクラウド環境ではオンデマンドかつ自動で実行されることが求められる。同様に、セキュリティはIPアドレスベースではなく、アイデンティティー(ID)ベースへ、ネットワークはホストベースからサービスベースへそれぞれ移行する必要がある。また、アプリケーションは、これまでが1つの「堅牢な城」のように権限管理を行っていたものを、複数の要素で構成する「艦隊」のように管理する必要があるという。

 grasysが、こうしたクラウドの課題を解消するために活用しているのがHashiCorpのツール群だ。HashiCorpは、インフラ構築ツール「Vagrant」を開発したミッチェル・ハシモト氏が共同創業した企業で、既存ワークフローに沿ってマルチクラウドやハイブリッド環境で“Infrastructure as Code”などの概念を実現させるさまざまなツールを提供している。

 AWS環境やプライベートクラウド環境で開発者を中心に人気のあるツールとしては、インフラ構築のための「Terraform」が有名だ。この他、暗号化エンジンやSecret Storageを持ちクレデンシャル情報(IDやアクセスキー、証明書など)を管理する「Vault」、DNSやロードバランサー、サービスディスカバリーなど豊富なネットワークとCluster管理機能を持つ「Consul」、アプリケーションの起動制御などを行う「Nomad」が中核的な製品だ。

 「grasysでは、プロビジョニングでは『Terraform』、セキュリティでは『Vault』、コネクト(サービス間接続)では『Consul』、アプリケーションランタイム(実行環境)では『Nomad』をそれぞれ活用しています。これらはAWSだけでなく、GCP 、AzureといったハイブリッドクラウドやOpenStack、VMwareで構築したプライベートクラウドでも利用できることが特長です。このツール群より、インフラからネットワーク、セキュリティ、アプリケーションまでを異なるクラウド間で移行できるようになります。真のマルチクラウドを実現するために欠かせないツールです」(長谷川氏)

Terraform、Vault、Consul、Nomadで実現するマルチクラウド管理

 ここで、マルチクラウドを実現するHashiCorpの4製品を紹介しておこう。

 Terraformは、さまざまなクラウドで構成管理を行うツールだ。インフラのプロビジョニングではChefやAnsibleがよく使われるが、サーバ構築の自動化にとどまってしまうケースが多い。また、AWSではCloud Formationが提供されるが、AWS以外のインフラ管理はできない。Terraformではマルチクラウドでの構成管理のコード化を実現する。例えば、AWSから Google の BigQuery を定義し、CDNのFastlyも合わせて管理するといったことが可能だ。

ALT ▲Terraformのユースケース《クリックで拡大します》

 Vaultは、クレデンシャル情報の一元管理や暗号化、IDベースのアクセス制御などを実現する。アクセスキーなどの管理は、AWSや GCP といったクラウドごとに管理されることがほとんどだ。これは、クラウドをまたがって統合的に管理するツールがないことが背景にある。また、クレデンシャル情報をExcelなどで手動で管理しているケースや、アプリケーションに直接記述するといったバッドノウハウがまかり通っているケースもある。Vaultはこうした課題を解消する。

ALT ▲Vaultのユースケース《クリックで拡大します》

 Nomadは、アプリケーションの起動制御・タスクスケジューリングを行うツールだ。マルチクラウド環境に対応したジョブスケジューラともいうことができ、停止したマシンの自動起動や、ローリングデプロイ、ブルー/グリーンデプロイなどをさまざまな環境で実行できるようにする。Dockerのオーケストレーターとしても利用可能だ。

 こうしたインフラ、セキュリティ、アプリケーションを統合的に管理するのが、Consulになる。Consulでサービスを定義すると、他のクライアントから特定のサービスをディスカバリー(発見)し、それらの情報をDNSやHTTP、API経由で把握できるようになる。サービスの監視(ヘルスチェック)やロードバランサー、プロキシ、DNSとしても利用でき能動的なシステムクラスタを構成する助けになる。

 「HashiCorpの4製品は、それぞれが非常にユニークな機能を提供しています。バージョンアップや機能追加も早く、クラウド管理に存在する課題の隙間を埋めるように強化されています。既存のツールではできないことを、高い柔軟性で実現できます」(長谷川氏)

ALT ▲HashiCorpの4製品でマルチクラウド管理を実現《クリックで拡大します》

“真のマルチクラウド”を実現するためにgrasysができること

 grasysは、アプリケーション開発からインフラ構築、運用保守までを一貫した体制でサポートするシステム会社だ。最大の特長は、長谷川氏を筆頭に、社員全員がコードを書くプログラマーであること。運用においても単にサーバのコンフィグだけを管理するのではなく、プログラムを理解した上でアプリケーション開発の視点から企業のインフラ運用を支援する。

 「クラウド基盤の運用が良い例ですが、古いタイプのインフラ系エンジニアはプログラムを書くこともできなければ、APIをたたくこともできません。われわれはプログラマーが主体となって組織されたインフラ会社です。アプリケーション開発レベルでの仕様策定といった設計面にも参加しながら、企業のビジネスを支援しています」(長谷川氏)

 実際、顧客システムのパフォーマンスがでないようなケースでは、顧客が開発するアプリケーションの問題点を指摘しながら、インフラ構築を進めることも多いという。そんな同社が企業のビジネスを支援する上で、ますます重要と考えているのがマルチクラウド環境になる。

 例えば、AWS上に構築されたクラウド環境を、そのまま GCP に簡単に引っ越しできるような仕組みを構築する。あるいは、クラウドベンダーが提供する優れた機能を企業が自在に組み合わせられるようにする。

 そうすることで、クラウドベンダーのロックインを回避し、本当の意味でビジネスに競争力を付けていくことができるという。長谷川氏は「HashiCorpの製品は、そうしたマルチクラウド環境を実現するための大切な架け橋となります。インフラ構築に適用することで、顧客のインフラ環境を新しいフェーズに導くことができると思っています」とし、マルチクラウドへ向けた活用を進めていく構えだ。

Copyright © ITmedia, Inc. All Rights Reserved.


提供:株式会社grasys
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2019年3月31日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。