運用の自動化、簡易化を支援するHashiCorp Stack
「ランチセッションなので少し緩い感じで」と前置きして始まった長谷川氏のセッション。まずは自己紹介から始まった。長谷川氏はGMOインターネットやヤフーなどを経て、ソーシャルゲームを展開するgloops(当時はGMS)に入社。開発部長、執行役員などを経て、2014年にgrasysを設立した。「2012年にDellのテレビコマーシャルに出るなど、ちょっと特殊な経験もしている」と長谷川氏は笑う。
grasysは創業5年目、社員数は15人という極めて小規模なベンチャーだ。そんな規模ながら、 Google Cloud のプレミアサービスパートナーを務めている。また、同社は創業当初からHashiCorpの製品を使っており、「HashiCorpのサービスパートナーを務めている」と長谷川氏は語る。
grasysが従事している Google Cloud Platform のプロジェクト数は140個。エンドユーザーはのべ2億超。4500台のVMを運用しており、あるシステムでは秒間200万リクエストをさばくインフラや、1日800億レコードを出す BigQuery の分析基盤を運用している。
こういった大規模なインフラを少人数で運用できるのも、「日々、自動化・簡易化する努力をしているため」と長谷川氏は胸を張る。その一端を担っているのが、HashiCorpの製品群である。
「当社もかなり使っている製品」として、長谷川氏が最初に取り上げたのは、「Terraform」である。Terraformはあらゆるパブリッククラウドやクラウドサービスのプロビジョニングをコード化するツールである。特徴としては、一貫性の保持、異種混在性、依存関係の管理の簡易化、スケールコントロールの簡易化などが挙げられる。
HashiCorpの製品はオープンソース版と有償版が存在しており、Terraformの有償版の特徴としては、構成ファイルのロールバックとバージョンコントロール、監査ログ、CIとの統合、Team Management、Terraformのバージョン管理の簡易化、Sentinelによるポリシーの検証などの機能が提供されていることなどがある。また、Terraformはいろいろなクラウドサービスに対応しているのも特徴だ。
図はインスタンスを作る際のテンプレートのパラメータ部分を設定する場面。これでアプライすると3台のサーバができる。「台数を増やしたり、減らしたりが容易にできるのがわかっていただけるでしょう」と長谷川氏。
「当社はゲーム関連のインフラの仕事が多い。多くのゲーム開発者や、デバッグを担当する企業と連携して仕事をしている。複数の企業と連携するため、たくさんのIPアドレスを管理しなければならず、穴を開けたり閉じたりと作業が大変だった。Terraformは、その辺りの作業を効率化してくれる。DNSは名前とIPアドレスをひも付け、定義に落としていつでも再現できるようにしてくれるのでわかりやすい。バックアップと再現性を含め、非常に便利なツールだ」と長谷川氏は説明する。
次に取り上げたのは「Vault」。主にセキュリティを担当するミドルウェアだ。同製品も、先述したようにオープンソース版と有償版がある。オープンソース版の主な機能としては、シークレットストレージ(金庫)、ダイナミックシークレット(シークレットエンジンとも言われる)、Data Encryption(データの暗号化)、Lease&Renewal(アクセス権の付与や更新)、Revocation(無効化)などがある。
一方、有償版のVault ENTERPRISEは主に運用に関わる部分が強化されている。「Vaultは個人的にはすごく可能性を感じているツールだ」と長谷川氏は力を込める。今回はユースケースの紹介はなかったが、世界的な有名企業で使われているという。grasysでも、GCPとAWSのLinuxユーザーの鍵の管理や、Bitbucketの個人鍵の登録・削除などの管理に、Vaultを使い始めているという。「日本ではまだ注目はされていないが、ぜひ、使ってほしい」と長谷川氏。
3番目に取り上げたのは「Consul」。非常に多機能な製品で、サービスディスカバリ、ヘルスチェック(監視)、キーバリューストア、コンフィグレーション・コンソール・テンプレート連携、オーケストレーションなどの機能を提供する。
grasysが運用している4500台のVMのほとんどにConsulが入っているという。「これがないと運用ができないぐらい、Consulに依存している」と長谷川氏は明かす。
どのくらい便利に使えるのか。サービスディスカバリの機能によって、次のことが容易にできるようになるという。「members」と入力すれば、ジョインしているサーバの一覧がすべて表示される。また「catalog services」と入力すると、システムで登録されているミドルウェア群が表示される。さらにそのサービスがどこにあるのか知りたい場合は、DNS Lookupを使えば、MySQLに対して問い合わせをかけ、その台数が答えとして返ってくるという。
最後に長谷川氏が取り上げた製品は「Nomad」。「これは端的にいうとスケジューラー。例えば複数台でのバッチ処理のスケジューリング、アプリの起動やデプロイといったクラスタマネジメントに便利に使えると思う」と長谷川氏。実はgrasysではほとんど活用していない。その理由は同社のプロジェクトは Google Cloud を使ったものが多いため、スケジューラーも GKE を使っているからである。
grasysでは運用設計と継続的改善を重視
grasysのシステムに対する考え方の特徴は、運用設計と継続的改善を重視していること。「この2つを重視することで運用コストの削減、更新の容易さ、障害復旧性や安定性が向上する。手を入れる前提にしているのが他社と違うところだ」と長谷川氏は説明する。
そのため、「自社で作っているプログラムもたくさんある」と長谷川氏。HashiCorpの製品に加え、OSSやElasticのツールも多数、使用している。その工夫の例として、長谷川氏は監視系のアーキテクチャを紹介。「オンプレミスやVMはConsul、GKE系はPrometheusを使っているが、ヒューマンインターフェースの終端については、Grafanaに統合している」と、画面を一つにすることで運用の効率を意識したと語る。
またオーケストレーションのアーキテクチャも、Consulのみだと簡易的なので、ターゲティングと定型オペレーションについては、Goで記述した「gorc」というプログラムを自社開発し機能を補完しているという。「運用を高速化するために、この部分にはこだわっている。シーケンスで10台ずつなどでも運用できるし、全台並列でも実行できるように、工夫している」(長谷川氏)。
エンジニアが起業するメリット、デメリット
セッション後半は、「エンジニアの起業」をテーマに展開。なぜ、このような話をするのか。「エンジニアのみなさんには起業してもらいたいからだ」とその理由を明かす。
2010年、長谷川氏が30代のときに転職したgloopsは、10人の社員数が2年後には700人にまで増え、急成長を遂げたという。同社で長谷川氏はインフラの責任者として、オンプレミス2200台、秒間15万リクエストの巨大なシステムを作った。そんなとき、Dellのテレビコマーシャルに出演。「有名になると失うばかり。あまりいいことはなかった」と吐露する。
その後、開発部長を経て本部長に昇進したときは、350名の部下ができた。この頃より、やらなければならない仕事と自分のやりたいことのかい離に悩み始めたという。ネクソンへ会社が売却された頃より、起業を意識するようになり、2014年に退職。「最初は知人の独立に協力する形をとったが、完全に失敗し、生活困窮に陥った」と笑いながら話す。だが、それで参ったわけではなかった。「やりたいことをやれる会社を作ろう。そして金持ちになってやる」と起業を決意したという。
起業準備で意識したのは、仲間や資金、計画、プロモーション、営業、情熱だったという。中でも一番大事なのは「情熱だ」と長谷川氏。資本金は50万円。そこで日本政策金融公庫で創業融資を受けたという。
創業融資で準備したものは、事業計画、事業(ビジネスモデル)説明、人員計画、設備投資費。「事業計画は起業後2カ月分の正確なランニングコストから、事業拡大を想定したランニングコストまでをエビデンス付きでまとめること」と長谷川氏は語る。また事業説明ではソースを付け、マーケットの規模と未来予測を説明する。人員計画では将来の組織図に加え、誰に何を任せるかも含めたビジネスフローを作成。設備投資費では、設備に関する各種見積もりをすべて添付したという。「数字のずれは特に気をつけてほしい」と長谷川氏。こういった準備をしたことで、無事、1500万円の創業融資を受けることができた。
エンジニア起業の悪いところは、良くも悪くも、経営者自身がエンジニアで「技術以外に興味がないところだ」と指摘する。一方エンジニア起業の良いところは、「エンジニアなので技術に関して高いボルテージで話せること。そしてエンジニアが評価されない会社にはならないことだ」と力強く話す。
起業前は金持ちになりたいという思いを持っていたが、起業後は「みんなを豊かにすることを考え始めるようになった」と長谷川氏は笑みを浮かべる。現在、創業5期目で完全独立、独自資本で経営している。「堅実に成長しており、財務面で税理士にも褒められるようになった」と満足そうに語る。
最後に長谷川氏は次のように展望を語り、セッションを締めた。
「ゴールはない。もっとgrasysを成長させていきたい。今は経営が忙しくてなかなかできていないが、大好きなエンジニアをこれからもやっていきたい」
お問い合わせ
株式会社grasys