BT

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

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース HashiConf US 2019 - TerraformとConsulのアップデート、マルチ*対応ワークフロー、学ぶべきこと

HashiConf US 2019 - TerraformとConsulのアップデート、マルチ*対応ワークフロー、学ぶべきこと

原文(投稿日:2019/09/19)へのリンク

シアトルで開催された第5回のHashiConf USカンファレンスで、HashiCorpの開発チームが、同社のプロダクトであるTerraformおよびConsulの新機能として、SaaSベースのワークフロー管理プラットフォームTerraform Cloudのフルリリース、フルマネージドなConsul(サービスメッシュ)プラットフォームHashiCorp Consul Service on Azureのプライベートベータリリースなどを発表した。イベントの主な内容は、次のようなものだった — ソフトウェアデリバリの世界はマルチクラウド、マルチプラットフォーム、マルチサービス化しており、エンジニアはこれに適応しなければならない。特定のツーリングではなく、効率的なエンジニアリングワークフローの実現を重視すべきである。運用チームは開発者に、開発者は運用チームに、それぞれ学ぶべきことはまだたくさんある。

このカンファレンスは、HashiCorpの創業者であるArmon Dadgar氏とMitchell Hashimoto氏が始めたもので、ソフトウェアデリバリの"multi-*"世界への移行という状況を念頭に、関連するHashiCorp Cloud Operating Modelについて論じることを目的としている。プロビジョニング、セキュリティ、ネットワークと運用といったトピックを対象に、Dadgar氏は、ワークフローの変化と、複数のクラウドやプラットフォームを導入するチームに必要とされる知識について説明した後、同社のクラウド対応インフラストラクチャ・アズ・コード(IaC)サービスであるTerraformに追加された新機能に関して、その概要を紹介した。

HashiCorp Cloud Operating Model

今年の始め、HashiCorpは、リモート上で格納、バージョン管理、共有されるTerraform状態ファイルを通じて、Terraformコンフィギュレーション上でユーザがコラボレーションすることの可能な無償のSaaSベースプラットフォームとして、HashiCorp Cloud Remote State Managementを発表した。今回のリリースでは、状態の保存に加えて、ワークスペースと計画の共有によるコラボレーション、インフラストラクチャ変更の適用、ポリシのリモート適用といった機能を新たに備えた、セルフホスト形式のTerraform Enterpriseが有償版として追加された。

HashConf USは、Terraform Cloudのフルバージョンを発表した。このリリースでは、Terraform Enterpriseとの高い共通性、最大5ユーザによるコラボレーション、ホストの自社管理を必要としないTerraformワークフローの自動化など、新たな機能がSaaSプラットフォームに追加されている。Terraform Cloudは、Free、Team、Team and Governanceという3つのティアで提供される。Teamティアでは、Freeティアよりも多くのユーザのサポートが提供される。またTeam and Governanceではさらに、Sentinelで定義されたポリシ・アズ・コードのサポートとコスト見積が追加されている。

HashiCorp Terraform Enterpriseのクラスタバージョンにも、ベータ版が同時に発表された。拡張性の高いクラスタのインストールと管理が可能になることで、より大きなパフォーマンスと可用性に対する要求を満たすことができる。今回のベータ版では、AWS、Azure、GCPへのTerraform Enterpriseのインストールをサポートしている。

Hashimotoの紹介した2つ目の大きな発表は、HashiCorpのConsulプロダクトに関連したものだった。HashiCorp Consul Service(HCS) on Azureは、これまでプライベートベータ版としてリリースされていた、フルマネージド版Consul・アズ・ア・サービスと呼ぶべきプロダクトだ。

HCS on Azure

この数年の間にConsulは、ある意味でコミュニケーションを重視した複合体(chimera)へと進化しており、現在では分散キー/バリューストア(およびlockswatchなど、関連する分散型システムの要素)、サービスディスカバリ機能、Connectを経由したサービスメッシュ機能などを提供するようになっている。しかしながら、クラウドベンダからアズ・ア・サービスとして提供されるのは、今回が初めてだ。

フルマネージドなサービスであるHCS on Azureは、組織にとってはVM、ハイブリッド/オンプレミス、Kubernetesの混在する環境のサービスディスカバリやサービスメッシュとしてConsulを活用するための導入のハードルを下げると同時に、運用上の負担をHashiCorpのサイトリライアビリティ・エンジニアリング(SRE)の専門家に委ねることを可能にします。

その他Consul関連では、Consul EnterpriseでのVMware NSX Service Mesh Federationのサポート、ワークロードスケジューリングフレームワークであるHashiCrop NomadとのConsul Connectのインテグレーションなども発表されている。

VMwareは、今年初めのVMworldで、Service Mesh Federationのための新たなオープン規格を発表した。これは、さまざまなサービスメッシュ間のセキュアな通信を促進するための共通標準を定義したものだ。今回の新たなパートナシップにより、Consul EnterpriseとVMWare NSX Service Mesh(NSX-SM)との間でのサービスメッシュ連携が可能になる。

Nomad 0.10のベータ版リリースは、このワークロードスケジューリングフレームワークと、ネイティブなConnect(サービスメッシュ)統合を含むConsul統合機能を拡張したものだ。これにより、サービス間の相互TLS(mTLS)通信が、アプリケーションのコードに手を加える必要なく、Nomadで簡単に管理できるようになる。これまでのNomadでは、ジョブ仕様の作成者がConnectプロキシを(Envoy Proxyのように)直接実行および管理する必要があった上に、タスク間のネットワークレベル分離が実現できていなかった。今回の新機能では、Nomadのジョブ仕様にconnectsidecar_serviceという2つの新標準を導入することで、これらが実装されている。

HashiCropのCEOであるDavid McJannet氏も基調講演に登壇し、HashiCorpが今後も同社のツール、パートナ、顧客、さらにはより広範なオープンソースコミュニティとの関係を通じて、エコシステムを支援していくことの重要性を強調した。"クラウドはアプリケーションの構築とデリバリの方法の世代交代である"とする氏は、新たなワークフローとツーリングが受け入れられるには、エンジニアにトレーニングを提供する必要がある、と強く主張している。これに関連して、今回のイベントでは、エンジニアに対する学習機会の提供を目的とするlearn.hashicorp.comdiscuss.hashicorp.comという2つの新たなWebサイトに関して、多くの議論が繰り広げられていた。学習に関しては、前回のArmon Dadgar氏とのInfoQポッドキャストでも詳細に説明されている。

HashiCorpのエコシステムサポート

2日間のカンファレンスは、午前9時から午後5時まで開催され、HashiCorpの技術スタッフとエンドユーザ組織からのエンジニアによるプレゼンテーションが4つのトラックで実施された。InfoQの特派員は、その中のいくつかのセッションに参加した。講演の質は総じて高かったが、中でも特に2つのセッションが、実運用環境における問題を重視した点と、その話術や技術的造詣の深さで抜きん出ていた。

Starbucksのリーダと上級のソフトウェアエンジニアであるMike Gee氏とRyan Hild氏による講演 "Infrastructure as Code for Software Engineers"では、組織のWebプラットフォームインフラストラクチャのコードやツール、プロセスを進化させる上で、開発者としての自分たちの経験をいかに活用するかを模索した過程について紹介した。このセッションからの得たものは — 宣言型インフラストラクチャコードによるモジュール化を受け入れること、標準的なワークフローやツーリングやスクリプトを定義し、それらの採用を明文化すること、効果的なデリバリパイプラインを反復的な方法で構築すること、(テストピラミッドに基づいた)テストに投資すること、アーキテクチャや運用やビジネスパフォーマンスに関するメトリクスをプログラム的に使用可能な形で公開すること、といったものだった。

リアルタイム入札広告プラットフォームCriteoのSWATチームのメンバであるPierre Souchayによる"Inversion of Control With Consul"では、氏のチームがVMベースのインフラストラクチャからコンテナベースのApache Mesosプラットフォームに移行した経験について語られた。このプロジェクトでは、opsチームが開発者と協力してアプリケーションメタデータの管理を簡略化し、サービスアップデートの追跡と、アプリケーションのメンテナンス向上を実現させている。ここでの教訓は、メタデータをキーバリューストアや分離した構成リポジトリではなく、アプリケーションのコードベースに格納する、ということだ。こうすることでアプリケーションの理解が容易になり、構成によるドリフトが少なくなると同時に、メンテナンス性も向上する。

HashiConf US: Criteoではメタデータをアプリケーションと合わせて格納している

この講演の要点は次のようなものだ — 優れた運用プラクティスを確実に実施するためには、開発チームの協力とサポートが必要である。メタデータは使用する場所の近くに保管する。メタデータの慎重な定義と効果的な管理への投資は、システムを理解するために不可欠である。アプリケーション構成のロールアウトとクリーンアップの自動化は、高度に動的な環境や大規模な環境では必須である。ツール固有ではなく、ビジネス — あるいはその意味に関連した構成定義を重視すべきである。

カンファレンスの全講演の録画が、今後数週間にわたってHashiCorp YouTubeチャネルにアップロードされる予定である。また、ロビーで行われた講演のスライドは、HashiCorpのディスカッションWebサイトのスレッドに掲載されている。

この記事に星をつける

おすすめ度
スタイル

BT