BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Terraformで身近になるマルチクラウド

Terraformで身近になるマルチクラウド

原文(投稿日:2017/10/24)へのリンク

MicrosoftとHashicorpは8月、HashicorpのマルチクラウドプロビジョニングツールであるTerraformでのAzureリソースのサポート強化を目標とした、複数年の提携契約を発表した。Googleもこれに続いて同様の発表を行ない、Google Cloud Platformとの統合の強化を約束している。

Terraformは完成されたマルチクラウドソリューションで、現在では69のクラウドプロバイダを対象として、クラウドデプロイメントをベンダ独自のツールによるロックオンから解放する役割を果たしている。各クラウドに対応するプロバイダを使用して、オンプレミス、ハイブリッド、マルチクラウドをサポートすることにより、クラウドに依存しない構成言語であるHashicorp Configuration Language(HCL)を使ったプロビジョニングを実現する。

7月にオスロで行なった“Terraform - Colonising Azure”という講演の中で、Stefan Magnus Landrø氏は、DigitalOceanとAWSとAzureを使用して、クロスクラウドインテグレーションのプロビジョニングによるマルチクラウドのメリットをデモンストレーションしてみせた。“Terraformでユニークなのは、さまざまなクラウドプロバイダで見つけたリソースを、ひとつの大きなインフラストラクチャにまとめることができる点”だ、とLandrø氏は言う。氏はDigitalOceanとAzureのVPSに、DNSとしてAWSのRoute 53を組み合わせた。この理由を氏は、次のように説明している。

荷重ヘルスチェック(weighted health check)は、現時点ではAmazonにしか見られない - Google、DigitalOceanのネイティブDNSプロバイダ、Azureにはない、同社クラウド独自の機能です。この例のように、最高のクラウドプロバイダを見つけて選択し、自身のインフラストラクチャに組み込むことができるというのは、なかなかクールです - すべてのクラウドから、最高のものを選ぶことができるのです。

各クラウドプロバイダは、統合に対する障壁を低くすることへの関心を隠そうとしていない。提携契約の締結を受けて、AzureはすでにWebベースのAzure Cloud ShellとTerraformコンフィギュレーションを統合し、ブラウザベースのシェルからのプロビジョニングを可能にしている。同社コンピューティングディレクタのCorey Sanders氏は、これによって“携帯電話さえ持っていれば、どこからでもTerraformを使用”できるようになる、とブログに述べている。AzureのプリンシパルプログラムマネージャであるHariharan Jayaraman氏は先日、MSDN Channel 9のインタビューに答えて、Terraformを使うことによる、Cloud ShellでHCLを使用してAzureリソースの定義やデプロイの簡易化について説明した。TerraformはAzure Resource Manager API上に構築されているが、“(検証可能なデプロイメント)プランによって、それ以上の機能を提供する”、と氏は言う。その理由として、

企業は混乱していて、自社のDevOpsエンジニアを複数のフォーマットでトレーニングしたくはないのです。Terraformならば、AWSでもAzureでも、同じフォーマットを使ってリソースを記述できるようになります。

9月に開催されたHashiconfでは、共通的なプロビジョニングパターンに対するコミュニティによるソリューション提供を可能にする、Terraform Module Registryリリースされた。このレジストリは、“モジュールを公開し、バージョンアップし、共有する場を提供すると同時に、モジュールのコンシューマにとっては、モジュールを探索し、使用し、コラボレーションする中心的な場所に”なるという。Hashicorpによれば、これによって“パートナやコミュニティのメンバによるモジュールの共有とコラボレーション、さらにはアップデートやバージョンアップにより、インフラストラクチャ構成の継続的な改善が容易に”なる。Microsoftもまた、すでに多数の新しいモジュールをレジストリにリリースした、と発表している

マルチクラウドによってロックインを回避することは、経済面や競争面においてもメリットがある、とBMCのディジタルイノベーション担当副社長のJason Fyre氏は述べている。氏は先頃、マルチクラウドインフラストラクチャに対応した同社のディスカバリおよび可視化ツールである、Discovery for Multi-Cloudのリリースに関するForbesのインタビューに答えて、次のようにコメントしている。

(マルチクラウドによって、)ワークロードをAmazonやAzureで実行した場合、あるいはオンサイトに保管した場合に必要なコストをモデル化することが可能になります。このようなモデル化を行なえば、オンサイトで運用した方が低コストな場合も、あるいは逆の場合もあります。

今年6月、OpenCredoのCTOであるNicky Watt氏は、HashiDays Londonでの講演で、単純なTerraformコンフィギュレーションからより高度なエンタープライズプロビジョニングへの移行に関する典型的パターンを詳説すると同時に、氏が“Terralith”と呼ぶ状況の回避について警告した。

Terralithとは、“概念証明から発展”した“モノリシックなコンフィギュレーション”で、“ローカルの状態とひとつの構成ファイル”に大きく依存しており、“環境を個別に展開できない”ことが特徴だ。

DigitalOceanは先頃、Droplet(VPS)プロビジョニングに関する同社のチュートリアルを改訂した。TerraformのDigitalOceanプロバイダを使用することによって、ベンダ独自のツールに習熟する必要性が低減されている。このチュートリアルでは、再現可能なコンフィギュレーションを使用して、haproxyを配置した2つのnginxインスタンスをデプロイする。今回の改訂によって、プロバイダ変数によるクラウドベンダ固有のコンフィギュレーションが少なくなり、DigitalOceanが認証したsshおよびAPIキーを持つようになった。

Terraformなどのツールは、さまざまなクラウドをひとつに抽象化することで、移行に対する障壁を軽減するが、すべてのソリューションがそうであるように、それをどのようにスケールアップするかは、実装やそれに関わるプロセスの継続的な改善と進展次第である。

Watt氏は改めて言う。

コードの構造だけではなく、これを管理するプロセスやオーケストレーションシステムなどについても、それらをいかに発展させるか、考えておく必要があります。

この記事を評価

採用ステージ
スタイル

この記事に星をつける

おすすめ度
スタイル

BT