じめにオートメーションありき ―創業者が語るVagrant、Packerを生んだ"HashiCorpのプリンシプル"

2012年、ワシントン大学で出会ったふたりの若者 ―ミッチェル・ハシモト(Mitchell Hashimoto)とアーモン・ダドガー(Armon Dadgar)がサンフランシスコで立ち上げた小さなスタートアップ「HashiCorp」は現在、Disney、Huawei、eBayといった大企業を顧客に抱える、シリコンバレーでも有数の注目企業へと成長しました。HashiCorpの名前を聞いたことがなくても、⁠Vagrant」「Packer」⁠Terraform」といったオープンソースのDevOps関連ツールを使ったことがある開発者/運用担当者は多いのではないでしょうか。データセンターやクラウドが多様化し、オンプレミスも含めて複数の環境をまたいだアプリケーション開発/運用が求められる時代にあって、開発環境の一貫性と徹底した運用の自動化を追求し続けるHashiCorpのプロダクトは、急激なスピードで世界に拡がりつつあります。

スタートアップとしてひとつの大きなフェーズを越えようとしているHashiCorpですが、同社が生み出すプロダクトはなぜこんなにも世界中の開発者から熱狂的に支持されているのでしょうか。来日したミッチェル・ハシモト氏にHashiCorpを支える開発理念を中心にお話をうかがいました。

ミッチェル・ハシモト氏
ミッチェル・ハシモト氏

"Policy as Code"とは?

――今回の来日の目的を教えてください。

ハシモト:9月24日に日本に来て、1週間ほど滞在する予定です。日本にはこれまでもわりと定期的に来ていて、開発者向けのミートアップも何度かやってきました。ですが今回の来日はこれまでとは位置づけが大きく異なります。もちろんミートアップやイベントの登壇もありますが、それ以上に日本でのエンタープライズビジネスを本格化させることをメインにしているので、顧客やパートナーとの対話に時間を費やしています。東京にもオフィスを作りました。まだ5名ほどの小さな拠点ですが、これからすこしずつリソースを増やしていく予定です。

――たしかにここ最近、日本でもHashiCorpのプロダクトが注目される機会はとても増えているように感じます。以前からVagrantの人気は高かったですが、TerraformやVaultへのニーズも高まっているようですね。

ハシモト:日本のユーザは本当にHashiCorpの製品を愛してくれているのですごくうれしいですね。それに開発者がアツい(笑⁠⁠。いつも思うのですが、日本人は新しい技術を学びたいという意欲が本当に強い。日本のユーザのニーズをこれからもしっかり受けとめていきたいと考えています。

――先日(9/20)発表された「Sentinel」もHashiCorpファンの間で話題になっているようです。このプロダクトは"Policy as Code"を実現するツールとのことですが、この"Policy as Code"とはどういう意味なのでしょうか。DevOpsではよく"Infrastructure as Code"という表現が使われますが、Sentinelではあえてポリシーと強調しているのはどういう意図があるのでしょうか。

ハシモト:ポリシーをコード化するというコンセプトはたしかにすこしわかりにくいかもしれませんね。我々にとっても新しいコンセプトであり、今後、HashiCorpのエンタープライズプロダクトに組み込んでいく予定のフレームワークでもあります。

我々がSentinelで目指すのは、どんな環境のインフラであってもその変更を安全かつ確実に実行するということです。たとえ何千何万のインスタンスであっても、その環境下で各ユーザが許される振る舞いをポリシーとして記述し、コードとしてデプロイする - ポリシーをコード化し、自動化することで、想定外のアクセスによるインフラの破壊などを防ぐことが可能になります。現在、多くの組織ではポリシーの適用がマニュアル(人力)で行われています。ですが人間にひもづいている作業には必ずミスが生まれます。1500のインスタンスのはずが1万5000のインスタンスをデプロイした、なんて惨事も人間が関わるから日常的に起こるのです。逆に言えば人間がインフラの管理に関わる機会が減れば、インフラはより安全になります。前の作業やテストが行われたかどうかの確認、レビューチェック、これらは本来、マニュアルでやるべきではないのです。人間にひもづく作業は自動化をダメにする ―Sentinelにかぎらず、HashiCorpのプロダクトはすべてオートメーションありきの方針で開発されています。

オートメーションに架けたミッション

――お話をうかがっていると本当にシステムのオートメーションに情熱を注いでいることが伝わってきます。

ハシモト:HashiCorpの開発方針に興味があるのでしたらThe Tao of HashiCorp(HashiCorpの道理)というガイドをぜひ読んでみてください。我々はすべてのプロダクトをこのフィロソフィーにもとづいて作っています。ソフトウェアをデザインする上で必要なプリンシプル(原理)をすべてこのタオに詰め込んでいます。その中でもオートメーションはHashiCorpにとってもっとも重要なプリンシプルです。

――なぜそんなにもオートメーションが重要なのでしょうか。

ハシモト:そうですね、あなたは「バタフライ効果(butterfly effect⁠⁠」という言葉をご存知でしょうか。

――ささいな出来事が大きな変化のきっかけとなる、という意味でしたっけ。

ハシモト:そう、⁠ブラジルで蝶が羽ばたいたらニューヨークで竜巻が起こるか」という例えがよく使われますね。開発システムの運用/管理においても同様です。人間による小さな設定ミスが大きなインシデントを引き起こしている事例は枚挙に暇がありません。ましてや現代はクラウドやデータセンターが多様化し、かつ、どこまでもスケールすることが前提になっています。しかもクラウドもデータセンターも日々進化し、複雑になっている。だからこそツールによってオートメーションを実現し、マニュアルでの作業を排除することを追求しなければならない、バタフライ効果を起こす余地を作らないことが重要だと考えています。

――いつかオートメーションにそれほどまでの関心をもたれるようになったんですか。

ハシモト:僕がプログラミングを始めたのは12歳(※:ハシモト氏は現在27歳)なんですが、当時からオートメーションの重要性に気づいていました。原型をつくってそれをコピーすれば多くの作業を省力化できます。小さなころ、レゴブロックで遊ぶのが大好きだったんですが、根本はそこに通じている気がします。型を作って、ひたすらあてはめていく―アプリケーション開発もシステム運用もその繰り返しが基本じゃないかと。自動化によって無駄をなくし、作業の効率化を進め、よりクリエイティブな作業に人間がフォーカスできる環境を作ることがHashiCorpのミッションだと思っています。

――オートメーションがHashiCorpのデザインの基本型というところでしょうか。そういえば今回のSentinel(歩哨、監視員)もそうですが、Vagrant、Vault、TerraformなどHashiCorpのプロダクトの名前はすごくシンプルだけど覚えやすいものが多いですね。これも"基本型"があるのでしょうか。

ハシモト:そうです。プロダクトのネーミングにも一定の型、つまりルールを貫いています。まず名詞であること、そしてあなたが言われたようにシンプルであること、その名前からテクニカルケイパビリティを容易にイメージできるものであること - 我々が提供するプロダクトはアプリケーション開発者や運用管理者が毎日使うものです。毎日使うツールがその名前を呼びにくかったり、覚えにくかったりしてはならないというポリシーからそうしています。これも我々にとってのプリンシプルですね。

HashiCorpの考えるオープンソースビジネスとは?

――HashiCorpといえば、すべてのプロダクトをGitHubのリポジトリに置いてオープンソースとして開発していることでも知られていますよね。これもプリンシプルのひとつでしょうか。

ハシモト:オープンソース開発はHashiCorpのコアです。我々は2012年に起業しましたが、Vagrant以来、すべてのプロダクトをオープンソースとして公開しています。オープンソースで開発をすることにより、数多くの優秀な開発者の知見をプロダクトの開発に取り入れられたからこそ、HashiCorpは急速に成長することが可能になりました。我々はこの1年で6つのプロダクトを世に送り出し、2000万を超えるダウンロードを達成しましたが、それができたのもオープンソース開発を採用しているからにほかなりません。オープンソースは我々にパワーを与える存在です。開発者どうしのコラボレーションが生み出すパワーは本当に大きい。

――ですがそうはいっても、オープンソースをビジネスにすることは非常に難しいのではないでしょうか。個人的にはRed Hat以外に大きな成功を収めたオープンソース企業はほとんど存在しないように思います。

ハシモト:Red Hatはもちろんオープンソース企業としてもっともポピュラーな企業ですし、僕もリスペクトしています。でも我々のビジネスはRed Hatとは違います。むしろコンサルや(10年にも渡る)ロングタイムサポートをビジネスとしていない分、HashiCorpはRed Hatよりもずっとトラディショナルなカンパニーだと自負しています。我々のビジネスはツールを作る、それを売る、そしてサポートする、というごくシンプルなことにフォーカスしています。僕は以前、コンサルタントとして働いた経験がありますが、コンサル事業をHashiCorpが手がける予定はありません。

たしかにオープンソースをビジネスとして展開することが難しいというのは理解できます。しかしその風潮も変わってきていると僕は思っています。世界はどんどんソフトウェア化が進んでいて、その中心にあるのがオープンソースであることは間違いないからです。Red Hatと違うかたちでオープンソース企業として成功をおさめる企業はこれから増えてくるはずですよ。もちろんHashiCorpもそうありたいと思っています。

――創業以来、順調にビジネスが展開しているように見えますが、ミッチェルさんの肩書は創業者兼CTO(Chief Technology Officer)なんですよね。共同創業者のアーモンさんもCTOだとうかがっています。お二人ともなぜCEOではなく、CTOであることを選択されているのでしょうか。

ハシモト:HashiCorpの現在のCEOのデイブ(Dave McJannet氏)は昨年、Hortonworksからジョインしました。彼にCEOとして来てもらった理由は簡単で、我々はプロダクト開発に専念したかったからです。ちょうど1年前からエンタープライズ向けのプロダクトの提供を開始しましたが、僕とアーモンが開発をリードし、デイブに経営を任せることで、開発とビジネスのバランスを取る必要があったからです。結果、1年で多くのプロダクトを提供でき、ビジネスを波に乗せることが可能になりました。HashiCorpはモダンテクノロジをエンプレイス(embrace: 積極的に活用する)するようにしており、だからこそ多くの開発者が支持してくれているのですが、それが可能なのも僕やアーモンが開発にフォーカスできていることが大きな要因です。

――ではモダンテクノロジをエンプレイスするHashiCorpの技術部門のトップとして、一緒に働くならどういうエンジニアを求めているんでしょうか。

ハシモト:スキルとしてはGo言語をマスターしていること、クラウドの知識と経験があることです。ですがそれにもまして重要な条件はセルフモチベーションをもっていることです。開発者としてやるべきことを理解し、誰に指図されなくとも情熱をもって開発に取り組めるエンジニアを採用するようにしています。

画像
――最後にひとつ確認させてください。HashiCorpは"DevOpsの会社"と呼ばれることが多いのですが、その別名は気に入っていますか。

ハシモト:もちろんです。そう言われるのはすごくうれしいですね。DevOpsというのはDevとOpsをつなげる、という意味で使われてきました。HashiCorpという会社の名前は僕の名字のハシモト(橋本)に由来するのですが、日本人のあなたならご存知のように"橋"はブリッジ(bridge)を意味する文字です。DevとOpsをつなげる、つまり開発と運用のあいだにあるギャップを埋める、そこから発展させ人々とツールをつなげる架け橋のような存在になりたい、そう願ってこの会社を立ち上げました。これもHashiCorpのプリンシプルですね。世界がソフトウェアで良くなるということを信じて、これからもDevOpsの会社として良いツールを作り続けていきたいと思っています。

おすすめ記事

記事・ニュース一覧