2012年,
スタートアップとしてひとつの大きなフェーズを越えようとしている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のプロダクトの名前はすごくシンプルだけど覚えやすいものが多いですね。これも"基本型"があるのでしょうか。 ハシモト:そうです。プロダクトのネーミングにも一定の型,
つまりルールを貫いています。まず名詞であること, そしてあなたが言われたようにシンプルであること, その名前からテクニカルケイパビリティを容易にイメージできるものであること - 我々が提供するプロダクトはアプリケーション開発者や運用管理者が毎日使うものです。毎日使うツールがその名前を呼びにくかったり, 覚えにくかったりしてはならないというポリシーからそうしています。これも我々にとってのプリンシプルですね。