シアトルのPulumiは、モダンなプラットホームとしての名声を早くも確立した。それは、同社のサービスを利用すると、コードを書いてインフラストラクチャを指定するときYAMLではなく自分の好きなプログラミング言語を使えるからだ。最近ローンチしたPulumi 2.0では、最初にサポートされていたPythonに加えて、JavaScript、TypeScript、Go、そして.NETが使えるようになった。また、インフラストラクチャの構成に加えてポリシーの強制やコードの試験なども指定できる。
今日(米国時間4/21)の同社の発表によると、現在のユーザー数は10000、そして有料ユーザーが100あまりだ。これらは、前年同期比で10倍の増加になるが、必ずしも正確な数字ではないようだ。現在の顧客にはCockroach LabsやMercedes-Benz、Tableauなどがいる。
同社がローンチしたばかりのころは、コンテナとサーバーレス関連のサービスを強調していた。でもPulumiの創業者でCEOのJoe Duffy氏によると現在の同社は、各企業で技術者のためのプラットホームを構築しているインフラストラクチャのチームと直接組んで仕事をすることが多い。
Pulumi 2.0についてDuffy氏はこう言う: 「Pulumiの最初のビジョンは、お好きな言語でインフラストラクチャーアズコード(Infrastructure as Code, IaC)を、だったけど、2.0ではそれを大幅に拡張して今やスーパーパワーと呼んでいる」。つまり、インフラのプロビジョニングだけでなく、その周辺の問題領域にまで機能を拡張した、という意味だ。それには継続的デリバリーも含まれるが、さらにポリシーアズコード(policy-as-code)と呼べる機能もある。2.0からのPulumiは単なるインフラストラクチャの構成定義を超えて、インフラ関連のさまざまなポリシーまでコードで指定できるようになったのだ。
もう一つの拡張領域が、試験だ。Pulumiでは「本物の」プログラミング言語を使えるから、アプリケーション開発でコードの試験に使ってるのと同じ試験のテクニックをインフラストラクチャの構築に使って、プロダクションに行く前に間違いを捉える。しかもデベロッパーは、言語が同じだから、コードを書くために使っているツールをそのまま使って、そのコードが動くインフラストラクチャを定義できる。
Duffy氏は曰く、「基本的な考え方は、プログラミング言語について自分たちがよく知ってることや好きなことをそのまま生かして、クラウドのインフラストラクチャを定義しよう、ということなんだ。インフラストラクチャには、担当のチームづくりやセキュリティの確保など、アプリケーションのプログラミングとは違う課題が山ほどあるが、なじみの言語をそのまま使えるなら、それらも怖くない。それにより、企業全体を高い生産性でまとめて行けるだろう。つまり2.0で重要なのは、インフラストラクチャのプロビジョニングから、組織全体のサポートへ、という移行だ」。
Duffy氏は、同社の大企業ユーザーの多くがPulumiを使って彼らの内部的なアーキテクチャもコードで書き表し、それらを全社的に展開していることを強調した。
氏は曰く、「今までのそれぞれのクラウドの特長は尊重している。AWSもAzureもGoogle CloudもKubernetesも、それぞれの持ち味がある。だからそれら全体を抽象化するPaaSを提供する気はない。われわれはただ、コードによってチーム全体に矛盾や衝突のないすっきりとしたワークフローを実現し、彼らがモダンなアプローチを採用できるようにするだけだ」。