Slide 1

Slide 1 text

HashiCorpと歩む Platform Engineeringジャーニー イオンスマートテクノロジー株式会社 SREチーム 齋藤 光 HashiCorp Strategy Day Japan 2024

Slide 2

Slide 2 text

⾃⼰紹介

Slide 3

Slide 3 text

⾃⼰紹介 齋藤光( @hikkie13 ) イオンスマートテクノロジー株式会社(AST) DevSecOps Div SREチーム所属 (2022/5⼊社) ⼊社以来、SREの⽴ち上げに従事 直近の登壇: - SRE NEXT 2023 - CloudNative Days Tokyo 2023 - PagerDuty on Tour TOKYO 2024 趣味:ヨガ(RYT200)

Slide 4

Slide 4 text

会社紹介

Slide 5

Slide 5 text

イオングループ紹介 - 関連数字 https://www.aeon.info/company/ - "INFOGRAPHICS 数字で⾒るイオングループ "

Slide 6

Slide 6 text

会社紹介

Slide 7

Slide 7 text

会社紹介

Slide 8

Slide 8 text

iAEONアプリについて 膨⼤なIDと購買データを集約したアプリ「iAEON」 iAEON(アイイオン)はイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを⼀つのアプリに統合しています。 提供開始から約3年で、iAEONは880万⼈以上の会員を抱え(24年8⽉時点)、総ダウンロード数は1000万を2024年6⽉に突破しました。

Slide 9

Slide 9 text

iAEONアプリについて 膨⼤なIDと購買データを集約したアプリ「iAEON」 iAEON(アイイオン)はイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを⼀つのアプリに統合しています。 提供開始から約3年で、iAEONは880万⼈以上の会員を抱え(24年8⽉時点)、総ダウンロード数は1000万を2024年6⽉に突破しました。 https://prtimes.jp/main/html/rd/p/000004399.000007505.html

Slide 10

Slide 10 text

Agenda • SREチームの役割 • ASTとPlatform Engineering • ASTにおけるHashiCorp Productの活⽤ • 展望

Slide 11

Slide 11 text

SREチームの役割

Slide 12

Slide 12 text

SREチームにまつわるトポロジー Stream-Aligned Team Platform Team Enabling Team SREチーム https://amzn.asia/d/9e7akXD 2つの側⾯を持ち合わせる Enabling • Stream-Aligned(SA)チームへSREのインストール • 整備したツール/基盤の伝承と伴⾛ • 定点観測会など定期的にSAチームとcommunication Platform • インフラ基盤⾃体の改善(Azure) • セルフサービスの提供(徐々に拡⼤中) • ツール/基盤の整備

Slide 13

Slide 13 text

AST と Platform Engineering

Slide 14

Slide 14 text

ASTを取り巻く状況(1): 増え続けるプロダクト 2020年 2021年 2022年 2023年 2024年 サービス数 +

Slide 15

Slide 15 text

ASTを取り巻く状況(1): 増え続けるプロダクト 情報共有&連携 SREチーム プロダクトA プロダクトB プロダクトD プロダクトC Platform ツール など 課題や要望を⼀般化 Enabling Enabling Enabling Enabling

Slide 16

Slide 16 text

ASTを取り巻く状況(1): 増え続けるプロダクト SREチーム SAチーム SAチーム SAチーム SAチーム SAチーム SAチーム 💥🔥💥🔥💥🔥💥

Slide 17

Slide 17 text

ASTを取り巻く状況(2): 多様なツール • 共通的なツールとして随時整備している • 常に、SAチームにケイパビリティを与えることを意識 • 監視/オブザーバビリティやアラートツールは最早運⽤チームの為のものではない • ツール導⼊後、⼩慣れるまでの時間は要する

Slide 18

Slide 18 text

ASTを取り巻く状況(3): 多様な技術 Platform Engineer⾃⾝の認知負荷が⾼い

Slide 19

Slide 19 text

ASTを取り巻く状況(3): 多様な技術 Azureと⼀⼝に⾔っても選択肢、ツールが沢⼭ある

Slide 20

Slide 20 text

ASTを取り巻く状況(4): 多様性のあるSAチーム • チームによって異なるリソース充⾜度 • チームによって異なるケイパビリティ アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発 アーキテクトがいる アーキテクトがいる アーキテクトがいる インフラわかる インフラわかる SREの実践 誰が為のPlatform?

Slide 21

Slide 21 text

ASTを取り巻く状況(4): 多様性のあるSAチーム • チームによって異なるリソース充⾜度 • チームによって異なるケイパビリティ アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発 アーキテクトがいる アーキテクトがいる アーキテクトがいる インフラわかる インフラわかる SREの実践 誰が為のPlatform? ↑Platformを提供すれば解決するのか?

Slide 22

Slide 22 text

ASTを取り巻く状況(4): 多様性のあるSAチーム • チームによって異なるリソース充⾜度 • チームによって異なるケイパビリティ アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発 アーキテクトがいる アーキテクトがいる アーキテクトがいる インフラわかる インフラわかる SREの実践 SREチームの⽀援 SREチームの⽀援 SREチームの⽀援 Embeddedで⼊っているSRE /Platform EngineerのためのPlatformでもある 誰が為のPlatform?

Slide 23

Slide 23 text

ASTのPlatform Engineeringへの向き合い⽅ • 開発者ポータルの導⼊からは始めない。 • その前に部品を整えて⼟台を作る。 • 組織の現状を考慮して全体としてflowが⾼くなることを⽬指す • costとoutcomeのバランス(Platform Engineeringをやること⾃体を⽬的にしない) • outcomeはビジネス価値/事業価値の向上につながるか • Provisioningだけでなく運⽤まで視野に⼊れる

Slide 24

Slide 24 text

参考にしているPlatform Engineering情報 • Team Topologies(website & 書籍) • プラットフォーム エンジニアリング ガイド(MicroSoft) • Platform Engineering Meetup • プラットフォームエンジニアリングの成熟度モデル • Platform Engineering(By Camille Fournier, Ian Nowland) https://amzn.asia/d/9e7akXD

Slide 25

Slide 25 text

ASTの取り組み • 再利⽤可能となるようにTerraformコードのリファクタリング • Terraform 構成管理 NG祭@HashiTalks Japan 2022 参照 • この際にmoduleを整備し、他プロダクトのデプロイへ利⽤できるように。 • 標準的なワークロード実⾏基盤としてのスタックを固める • オンボーディングドキュメントの整備(再利⽤時のハードルを下げる) • 頻度が⾼くハードルが低いものからセルフサービス化 • 例:各種アカウント作成 レバレッジを⾼める意識。そのための再利⽤性と標準化

Slide 26

Slide 26 text

ASTの成熟度(⼤まかな評価) https://github.com/cncf/tag-app-delivery/raw/main/platforms-maturity-model/v1/assets/platform-eng-maturity-model-v1.0.pdf

Slide 27

Slide 27 text

AST における HashiCorp Productの活⽤

Slide 28

Slide 28 text

ASTにおけるHashiCorp Productの活⽤(1) :全体像

Slide 29

Slide 29 text

ASTにおけるHashiCorp Productの活⽤(2): HCP Terraform なぜTerraformを利⽤しているか? • IaCのデファクト • 単⼀クラウド利⽤でも、クラウドで全てが完結しない • state fileによる状態管理

Slide 30

Slide 30 text

ASTにおけるHashiCorp Productの活⽤(2): HCP Terraform • TerraformのCI/CDに対する認知負荷を全体的に下げる • state fileの管理の考慮やパイプラインの⼿組みをなくす • Terraform実⾏基盤の運⽤をなくす。 • 以下の機能も魅⼒的 • Private Module Registry • Policy制御 HCP Terraformを導⼊

Slide 31

Slide 31 text

ASTにおけるHashiCorp Productの活⽤(3): HCP Vault • 定期的なローテーション • 最⼩権限管理 • 監査 • 暗号化 シークレット管理で必要なこと

Slide 32

Slide 32 text

ASTにおけるHashiCorp Productの活⽤(3): HCP Vault • シークレットの⼀元管理化 • 権限に基づいたシークレットアクセスの制御 • 動的シークレット管理とローテーションの⾃動化 を実現 HashiCorp Vaultを利⽤することで‧‧‧

Slide 33

Slide 33 text

ASTにおけるHashiCorp Productの活⽤(3): HCP Vault • HCP Terraform と HCP Vaultを組み合わせて構成 • Vault⾃体の運⽤をしたくないため、HCP Vaultを選択 • VSO(Vault Secrets Operator)を利⽤ HCP Vaultを導⼊

Slide 34

Slide 34 text

ASTにおけるHashiCorp Productの活⽤(3): HCP Vault • VaultへのアクセスはVSOが⾏う • VSOはVaultに登録されたシークレットをKubernetesのSecretsに同期 VSO(Vault Secrets Operator)の利⽤イメージ Vault Secrets Operator Secrets Pod Pod Pod JWT Auth Method を使⽤

Slide 35

Slide 35 text

ASTにおけるHashiCorp Productの活⽤(3): HCP Vault • AKSをPrivate Cluster化していると、Kubernetes Auth Methodは利⽤できない。 • Private DNSを解決できないため • 回避策としてはJWT認証を利⽤する 留意点:HCP VaultとAKS間のAuth Methodについて 弊社テックブログ: HCP Vault Private Clusterで弊社AKSのSecret Operator実装が⾟すぎた より

Slide 36

Slide 36 text

ASTにおけるHashiCorp Productの活⽤(3): HCP Vault HCP Vaultを直接触らないような運⽤にしている • コスト • 直接HCP Vaultへのアクセスさせるのは⽬的を考えると極⼒避けるべき • Terraformを利⽤して、シークレット管理のセルフサービス化を実現

Slide 37

Slide 37 text

展望

Slide 38

Slide 38 text

展望(1): Terraformへの意識を減らす • Terraformが接点にならないような仕組みを • いわゆるPlatform Engineer以外はHCLを習得することが重荷だし動機も低い • 習得を強制すると本末転倒になる • コードで会話 → フロー化 → GUIの流れで進化させる

Slide 39

Slide 39 text

展望(2): 成熟度モデルは定期的に評価 • 基本的に右側へ移っていけることを⽬指すが、ゴール/⽬的ではない • 組織のフェーズに合わせて顧客(開発者)に必要なことを議論することが必須 https://github.com/cncf/tag-app-delivery/raw/main/platforms-maturity-model/v1/assets/platform-eng-maturity-model-v1.0.pdf

Slide 40

Slide 40 text

展望(3): AEONグループは広い • 事業会社の数が⾮常に多いため、Platform Engineeringによるoutcomeが効きやすい • 多種多様な事業環境 • 利⽤クラウド/内製か or 外部ベンダ依存か/多くのベンダ • その状況で求められるガバナンス/セキュリティ • CCoEやPlatform Engineeringの効果に対する期待は⼤きい しかし、これを会社の⽅針としてトップダウンで進めれば解決するのだろうか?

Slide 41

Slide 41 text

展望(3): AEONグループは広い • Platformの利⽤を強制するのは、Platform Engineeringの⽂脈でも悪⼿ • 所謂「使われない共通基盤」になる • AEONグループの⽂化とも合わない • まさに“Platform as a product”のアプローチが求められる そのため、まずは⾜元のplatformの磨き込みを継続していくことが重要

Slide 42

Slide 42 text

まとめ

Slide 43

Slide 43 text

まとめ 以下をご紹介 • ASTの状況を踏まえた、Platform Engineeringのアプローチと実践 • HashiCorp Productとの関わり • 今後の展望

Slide 44

Slide 44 text

最後に

Slide 45

Slide 45 text

告知

Slide 46

Slide 46 text

募集しています!