オープンソースへの取り組み : Google と HashiCorp のエンジニアが語る GCP インフラストラクチャ管理
Google Cloud Japan Team
私たちは今年 1 月、オープンソース ソフトウェアを Google Cloud Platform(GCP)で活用する Google Cloud Graphite チームの取り組みに焦点を当てた動画シリーズの最初のエピソードを公開しました。ここで紹介するのは、その動画シリーズの第 2 章です。今回は、HashiCorp のオープンソース DevOps ツールと、GCP でのそれらの使い方にスポットを当てています。
HashiCorp のオープンソース ツールは、アプリケーション デリバリを容易にし、あらゆるアプリケーションのインフラストラクチャのプロビジョニング、セキュリティ確保、実行を支援します。新しい動画シリーズの初回では、GCP のスタッフ デベロッパー アドボケートである Kelsey Hightower と、HashiCorp の共同創業者で CTO(最高技術責任者)を務める Armon Dadgar 氏が、全体の概要について説明しています。
そして次回は、HashiCorp ツールと GCP がどのように利用されているかを、架空の事例を通して紹介します。小規模な独立系ゲーム スタジオが次のタイトルを製作しているところを想像してみてください。レトロな 1980 年代スタイルのアーケード ゲームを、マルチプレーヤー オンラインゲームとしてアップデートしようとしています。チームが共同で開発を進め、CEO にゲームのデモを見せ、ゲームをデプロイして公開します。一連のプロセスの中では、以下のツールを重点的に取り上げます。
- Vagrant : 開発者がこのツールを使用すれば、チームの誰もが運用担当者に相談することなく繰り返し使用できる開発環境を作成できます。Vagrant は、Google Compute Engine 上のリモート VM を簡単に起動でき、同じ VM への開発者の共有アクセスを可能にするため、共同開発に最適です。
- Packer : 単一の設定ファイルにより、Compute Engine を含むさまざまなターゲット環境に対応したマシン イメージを作成します。Packer イメージは簡単に記述してビルドできるので、イミュータブル インフラストラクチャや継続的デリバリといった DevOps の考え方を実践するのにうってつけです。
- Terraform : 運用担当者が安全かつ予測可能な形で本番インフラストラクチャの作成、変更、破棄を行えるように支援します。API の設定を宣言型のファイルにまとめることができ、このファイルはチーム メンバー間での共有、コードとしての処理、編集、レビュー、バージョン管理が可能です。運用担当者はこのファイルを使って、多くのプロダクトにまたがる GCP のリソースを管理できます。これは、スケーラブルな本番インフラストラクチャをプロビジョニングするうえで重要です。
Puppet や Chef、Cloud Foundry、Red Hat、SaltStack のようなオープンソース プロバイダーと Google が一緒に行っている取り組みについても、ブログ記事や動画を公開していきます。お楽しみに!
* この投稿は米国時間 3 月 2 日、Engineering Manager である Eric Johnson によって投稿されたもの(投稿はこちら)の抄訳です。
- By Eric Johnson, Engineering Manager