■ 発表カテゴリ
・Tech: SREを支える具体的な技術や手法
■ 発表概要(400字程度)
世は大マイクロサービス時代!Web UIをポチポチして膨大なサービスインフラを構成・管理し続けることは一般人類には難しく、より良く、より安定してインフラを管理するため、人々はインフラをもテキストで管理しようと考えた!Infrastructure as Codeである!
Infrastructure as Codeがもはや一般的なプラクティスとなって幾星霜。Terraformは目新しくも、物珍しくもないソフトウェアとなりました。Terraform (あるいは最近はOpenTofuでしょうか?)、皆さんも使ってますよね?
Terraform/OpenTofuはそれ自体には各種クラウド・SaaSとの連携部分は実装されておらず、Terraform Plugin、あるいはTerraform Providerと呼ばれるプラグインがその機能を担っています。
例えば、AWSではterraform-provider-aws、Google Cloudではterraform-provider-google、GitHubならばterraform-provider-githubといった具合です。
さて、皆さんはこういった、オープンソースのTerraform Pluginの実装を読んだことはありますか?コントリビュートしたことは?あるいはTerraform Pluginを実装したことは?
AWSやGoogle Cloudの様な大手パブリッククラウドを使って、Terraform PluginもHashicorpが提供しているオフィシャルのものを使って、というケースではあまり内部実装まで気にすることは多くはないかと思います。
本セッションでは、Terraform Pluginの実装方法や、多くのTerraform Plugin実装が抱えている問題とコントリビューションチャンスについてお話しします。
■ 発表の詳細(1000字程度)
私が所属する会社ではクラウド基盤としてプライベートクラウドを自社で開発運用しており、モニタリングプラットフォームも自社開発基盤です。
安心・安全にインフラやアラートルール等の設定構築をするため、これらの管理をテキストベースで管理したいと考え、ここ数年、Terraform Pluginを社内向けに2つ開発・保守しています。
これらのTerraform Pluginを開発・保守してきた経験から、Terraform Pluginを開発する方法についてお話しします。
■ 対象聴衆とその人たちが得られるもの
実際に明日からTerraform Pluginを開発できるようになります!
■ なぜこのトピックについて話したいのか(モチベーション)
Terraform Pluginはユーザが非常に多い一方で、多くのオープンソースTerraform Pluginが十分に揃っているため、Plugin開発をした経験がある人は少ないと感じています。
自社で、自社内向けにTerraform Pluginを開発している事例はすごく少なく、従って最近のTerraform Plugin実装方法についての情報も少ないため、「自分だからこそ」共有できる内容なのではないかと思いました。