spacelyのブログ

Spacely Engineer's Blog

HashiTalks: Japanで発表しました「Terraform workspaceとTerraform Cloudを用いたDRYでシンプルな運用フロー」

インフラエンジニアの thaim です。
先日 2021-09-30 に開催された HashiTalks: Japan 2021にて、ついに弊社におけるTerraformの活用状況を発表しました!今回その発表概要と発表した感想についてまとめておきます。

発表の経緯

HashiTalksはHashiCorp社が主催する年次カンファレンスで、日本など地域ごとに開催しています。発表内容はYoutubeでも公開されており、昨年度分も合わせて視聴することができます。

HashiTalks: Japan - YouTube

スペースリーでは自分が入社した直後の2019年10月頃からTerraformの活用が本格化し、今では新規インフラ基盤はもちろん過去に手動で構築したインフラリソースの多くがTerraformの管理下にある状況です。特にTerraform workspaceを利用しているところが特徴で、他社でまったく活用状況を耳にしないのでどこかで自社の活用事例を発表したいなと思っていました。今回 HashiTalks の開催を知ったので試しにCfPに応募したところ無事受理されたという流れです。

発表概要

発表動画とスライドは公開しているのでそちらを参照ください。

www.youtube.com


speakerdeck.com

発表では、Terraform workspaceのメリットとデメリットを整理した上で、Terraform Cloudを併用することでそのデメリットを解消できることを紹介しました。また、スペースリーにおけるTerraformディレクトリ構成や開発・運用フローを紹介しました。発表を通してTerraform workspaceを活用する人が1人でも増えれば、またスペースリーのインフラ開発がどのように行われているかを知ってもらえるとうれしいです。
特に、workspaceによって実行モードを使い分けているところ、複雑な環境差分はモジュール化して表現しているところ、Terraform Cloud workspaceの設定自体をTerraformで管理しているところは自社で上手く活用できているところかなと思っています。もしこれだと上手くいかないと既に経験済の方がいたら、そのあたりぜひ話を聞いてみたいです。

発表感想

テックカンファレンスでの登壇は、エンジニアとして1つの目標だったのでやっと経験できてうれしいです。さまざまなOSSやサービスを活用する上で他社の事例を参考にさせて頂くケースは過去に数え切れないほど多くあったので、微力ながら自分たちが活用事例を発表できるようになり小さいながらも達成感を得ています。やはりと言うべきか、今回のHashiTalksではTerraformの活用事例は多くありましたが、Terraform workspaceの活用事例はなさそうなのでユニークな事例になったのではないかと思います。Terraform Cloudの活用事例は想像より多かったので、そちらは意外でした。
一方で、今回のプレゼンを行うにあたり、自分のプレゼンスキルの低さを実感してちょっと凹んでいます。長いこと実装・運用ばかりでプレゼンする機会は皆無だったので苦労するだろうなとは思っていましたが、まさかここまでとは。Terraformに限らず、今後もさまなざまナレッジを発信していきたいとは考えているので、これに懲りずにまたチャレンジしてみたいです。

まとめ

HashiTalksでスペースリーにおけるTerraformの活用事例を発表しました。
今後スペースリーのインフラが複雑化・大規模化するにつれてTerraform workspaceの活用も新しい課題が出てくると思います。Terraform workspaceを活用している方いましたらぜひ情報交換しましょう!まだ活用してなくて今後利用を検討している段階でも、twitterで自分に話掛けてくれるか、弊社の採用ページからカジュアル面談として技術的な話をしてみたいとリクエストくれるのも大歓迎です。