「Pulumi」がバージョン1.0に到達、正式版に。インフラの状態をJavaScript、Python、Goなどで記述可能。個人向けサービスは無料で提供
かつてサーバの設定や起動、ネットワークの構成といったインフラの構築は、それぞれの設定ツールやコンソールから運用担当者がマニュアル操作で行ってきました(いまでもそうしている組織は少なくないでしょう)。
しかし仮想化基盤やクラウドなど最近のモダンなインフラでは、APIや設定ファイルを通じてプロビジョニングやコンフィグレーションが可能です。
このようにソフトウェアでインフラの状態の表現が可能になることを、いわゆる「Infrastructure as Code」(コードとしてのインフラ)と呼びます。
Infrastructure as Codeの利点は、インフラの状態をコードで記述することによって、誰でも確実に間違いなく実行できて手作業によるミスがなくなること、大規模なインフラに対してスケーラビリティが持てること、コードの更新履歴などが持てるためどこが変更されたか分かりやすく、過去の状態に戻しやすいこと、インフラの状態に対してレビューやテストなどソフトウェアとしての管理が可能になることなど、多く挙げられます。
Infrastructure as Codeを実現するツールは、多くのクラウドではそれぞれ独自のツールが備わっていますし、HashiCorpのTerraformなどサードパーティによるツールも存在しています。
Pulumiがバージョン1.0に到達。
PulumiもそうしたInfrastructure as Codeのためのツールの1つです。オープンソースとして公開されており誰でも無料で使えるうえ、開発元であるPulumi社によって商用サービスとしても提供されています。
商用サービスにも個人ユーザー向けに無料のCommuniti Editionが用意されています。
このPulumiがバージョン1.0に到達し、正式版になったことが発表されました。
Pulumiの最大の特徴は、JavaScriptやTypeScript、Python、Goといったメジャーなプログラミング言語でインフラの状態を記述できることにあります。
メジャーなプログラミング言語で記述できることのメリットは、言語自身が持つ構文などを活用することで大規模なコードになったとしてもプログラマにとって読みやすいコードになること、既存のエディタやIDEなどが持つコード補完や構文チェッカー、整形ツールなどの便利な機能をそのまま活用できること、などがあります。
対応するインフラはAWS、Microsoft Azure、Google Cloudなどで、仮想マシンやストレージ、ネットワークなどのプロビジョニングやコンフィグレーションだけでなく、Amazon EKS、AKS、GKEなどを含むKubernetesやコンテナの構成やソフトウェアのデプロイ、それぞれのサーバレスコンピューティングの構成など、多岐にわたります。
特定のクラウドやインフラに依存しないInfrastructure as Codeのツールとして、PulumiはよくHashiCorpのTerraformと比較されます。
そのTerraformも昨日、クラウドサービスとして本格的な展開が始まりました。今後はInfrastructure as Codeツールもクラウドサービスとして利用することが一般的になっていくものと見られます。
参考:参考:[速報]HashiCorpが「Terraform Cloud」機能強化、5人まで無料。チームでのクラウドインフラの管理を容易に。HashiConf '19
あわせて読みたい
Java EE 8フル互換の「Jakarta EE 8」がEclipse Foundationから正式リリース。これからはクラウドネイティブのためのフレームワークへと進化する
≪前の記事
[速報」Terraformのインフラ定義から自動的にクラウドの費用を見積もる「Cost Estimation」機能登場。HashiConf '19