Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HashiCorpと歩むPlatform Engineeringジャーニー/the-jour...
Search
AEON
October 03, 2024
1
470
HashiCorpと歩むPlatform Engineeringジャーニー/the-journey-of-platform-engineering-with-hashicorp
HashiCorp Strategy Day Japan 2024(
https://events.hashicorp.com/strategydayjapan2024
) での発表資料です。
AEON
October 03, 2024
Tweet
Share
More Decks by AEON
See All by AEON
巨大企業でDX革新を起こすということ@BTCONJP2024
aeonpeople
2
130
AEON’s blueprint for technological maturity and market competitiveness/aeon-for-technological-maturity-and-makert-competitiveness
aeonpeople
0
1.2k
SRE改善サイクルはチームを超えて - ダッシュボードを眺める会の取り組み/SRE improvement cycle across teams
aeonpeople
1
2.5k
1000万DL人を支えるiAEONアプリ:完全停止を防ぐ耐障害性の設計/iAEON app supporting 10 million users
aeonpeople
7
5k
データ連携をチートせよ。~イオンが目指すコネクティビティデータ基盤~/Aeon's goal of creating a connectivity data platform
aeonpeople
1
220
New Relicで実践する外形監視
aeonpeople
2
290
内製化の背景/Back ground of insourcing
aeonpeople
2
110
エンタープライズ企業の障害対応革新 – PagerDuty導入とその成果/pagerduty-usecase-of-aeon
aeonpeople
8
6.9k
AeonNext における Collaborativeな開発/Collaborative Development at AeonNext
aeonpeople
1
170
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Side Projects
sachag
452
42k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Adopting Sorbet at Scale
ufuk
73
9.1k
A Tale of Four Properties
chriscoyier
156
23k
Statistics for Hackers
jakevdp
796
220k
What's in a price? How to price your products and services
michaelherold
243
12k
Raft: Consensus for Rubyists
vanstee
136
6.6k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.3k
Transcript
HashiCorpと歩む Platform Engineeringジャーニー イオンスマートテクノロジー株式会社 SREチーム 齋藤 光 HashiCorp Strategy Day
Japan 2024
⾃⼰紹介
⾃⼰紹介 齋藤光( @hikkie13 ) イオンスマートテクノロジー株式会社(AST) DevSecOps Div SREチーム所属 (2022/5⼊社) ⼊社以来、SREの⽴ち上げに従事
直近の登壇: - SRE NEXT 2023 - CloudNative Days Tokyo 2023 - PagerDuty on Tour TOKYO 2024 趣味:ヨガ(RYT200)
会社紹介
イオングループ紹介 - 関連数字 https://www.aeon.info/company/ - "INFOGRAPHICS 数字で⾒るイオングループ "
会社紹介
会社紹介
iAEONアプリについて 膨⼤なIDと購買データを集約したアプリ「iAEON」 iAEON(アイイオン)はイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを⼀つのアプリに統合しています。 提供開始から約3年で、iAEONは880万⼈以上の会員を抱え(24年8⽉時点)、総ダウンロード数は1000万を2024年6⽉に突破しました。
iAEONアプリについて 膨⼤なIDと購買データを集約したアプリ「iAEON」 iAEON(アイイオン)はイオングループが提供する決済機能やポイントプログラムを1つにまとめたアプリです。 イオングループ内の多数の事業会社がもつ顧客IDを⼀つのアプリに統合しています。 提供開始から約3年で、iAEONは880万⼈以上の会員を抱え(24年8⽉時点)、総ダウンロード数は1000万を2024年6⽉に突破しました。 https://prtimes.jp/main/html/rd/p/000004399.000007505.html
Agenda • SREチームの役割 • ASTとPlatform Engineering • ASTにおけるHashiCorp Productの活⽤ •
展望
SREチームの役割
SREチームにまつわるトポロジー Stream-Aligned Team Platform Team Enabling Team SREチーム https://amzn.asia/d/9e7akXD 2つの側⾯を持ち合わせる
Enabling • Stream-Aligned(SA)チームへSREのインストール • 整備したツール/基盤の伝承と伴⾛ • 定点観測会など定期的にSAチームとcommunication Platform • インフラ基盤⾃体の改善(Azure) • セルフサービスの提供(徐々に拡⼤中) • ツール/基盤の整備
AST と Platform Engineering
ASTを取り巻く状況(1): 増え続けるプロダクト 2020年 2021年 2022年 2023年 2024年 サービス数 +
ASTを取り巻く状況(1): 増え続けるプロダクト 情報共有&連携 SREチーム プロダクトA プロダクトB プロダクトD プロダクトC Platform ツール
など 課題や要望を⼀般化 Enabling Enabling Enabling Enabling
ASTを取り巻く状況(1): 増え続けるプロダクト SREチーム SAチーム SAチーム SAチーム SAチーム SAチーム SAチーム 💥🔥💥🔥💥🔥💥
ASTを取り巻く状況(2): 多様なツール • 共通的なツールとして随時整備している • 常に、SAチームにケイパビリティを与えることを意識 • 監視/オブザーバビリティやアラートツールは最早運⽤チームの為のものではない • ツール導⼊後、⼩慣れるまでの時間は要する
ASTを取り巻く状況(3): 多様な技術 Platform Engineer⾃⾝の認知負荷が⾼い
ASTを取り巻く状況(3): 多様な技術 Azureと⼀⼝に⾔っても選択肢、ツールが沢⼭ある
ASTを取り巻く状況(4): 多様性のあるSAチーム • チームによって異なるリソース充⾜度 • チームによって異なるケイパビリティ アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発
アーキテクトがいる アーキテクトがいる アーキテクトがいる インフラわかる インフラわかる SREの実践 誰が為のPlatform?
ASTを取り巻く状況(4): 多様性のあるSAチーム • チームによって異なるリソース充⾜度 • チームによって異なるケイパビリティ アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発
アーキテクトがいる アーキテクトがいる アーキテクトがいる インフラわかる インフラわかる SREの実践 誰が為のPlatform? ↑Platformを提供すれば解決するのか?
ASTを取り巻く状況(4): 多様性のあるSAチーム • チームによって異なるリソース充⾜度 • チームによって異なるケイパビリティ アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発 アプリケーションコード開発
アーキテクトがいる アーキテクトがいる アーキテクトがいる インフラわかる インフラわかる SREの実践 SREチームの⽀援 SREチームの⽀援 SREチームの⽀援 Embeddedで⼊っているSRE /Platform EngineerのためのPlatformでもある 誰が為のPlatform?
ASTのPlatform Engineeringへの向き合い⽅ • 開発者ポータルの導⼊からは始めない。 • その前に部品を整えて⼟台を作る。 • 組織の現状を考慮して全体としてflowが⾼くなることを⽬指す • costとoutcomeのバランス(Platform
Engineeringをやること⾃体を⽬的にしない) • outcomeはビジネス価値/事業価値の向上につながるか • Provisioningだけでなく運⽤まで視野に⼊れる
参考にしているPlatform Engineering情報 • Team Topologies(website & 書籍) • プラットフォーム エンジニアリング
ガイド(MicroSoft) • Platform Engineering Meetup • プラットフォームエンジニアリングの成熟度モデル • Platform Engineering(By Camille Fournier, Ian Nowland) https://amzn.asia/d/9e7akXD
ASTの取り組み • 再利⽤可能となるようにTerraformコードのリファクタリング • Terraform 構成管理 NG祭@HashiTalks Japan 2022 参照
• この際にmoduleを整備し、他プロダクトのデプロイへ利⽤できるように。 • 標準的なワークロード実⾏基盤としてのスタックを固める • オンボーディングドキュメントの整備(再利⽤時のハードルを下げる) • 頻度が⾼くハードルが低いものからセルフサービス化 • 例:各種アカウント作成 レバレッジを⾼める意識。そのための再利⽤性と標準化
ASTの成熟度(⼤まかな評価) https://github.com/cncf/tag-app-delivery/raw/main/platforms-maturity-model/v1/assets/platform-eng-maturity-model-v1.0.pdf
AST における HashiCorp Productの活⽤
ASTにおけるHashiCorp Productの活⽤(1) :全体像
ASTにおけるHashiCorp Productの活⽤(2): HCP Terraform なぜTerraformを利⽤しているか? • IaCのデファクト • 単⼀クラウド利⽤でも、クラウドで全てが完結しない •
state fileによる状態管理
ASTにおけるHashiCorp Productの活⽤(2): HCP Terraform • TerraformのCI/CDに対する認知負荷を全体的に下げる • state fileの管理の考慮やパイプラインの⼿組みをなくす •
Terraform実⾏基盤の運⽤をなくす。 • 以下の機能も魅⼒的 • Private Module Registry • Policy制御 HCP Terraformを導⼊
ASTにおけるHashiCorp Productの活⽤(3): HCP Vault • 定期的なローテーション • 最⼩権限管理 • 監査
• 暗号化 シークレット管理で必要なこと
ASTにおけるHashiCorp Productの活⽤(3): HCP Vault • シークレットの⼀元管理化 • 権限に基づいたシークレットアクセスの制御 • 動的シークレット管理とローテーションの⾃動化
を実現 HashiCorp Vaultを利⽤することで‧‧‧
ASTにおけるHashiCorp Productの活⽤(3): HCP Vault • HCP Terraform と HCP Vaultを組み合わせて構成
• Vault⾃体の運⽤をしたくないため、HCP Vaultを選択 • VSO(Vault Secrets Operator)を利⽤ HCP Vaultを導⼊
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 を使⽤
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実装が⾟すぎた より
ASTにおけるHashiCorp Productの活⽤(3): HCP Vault HCP Vaultを直接触らないような運⽤にしている • コスト • 直接HCP
Vaultへのアクセスさせるのは⽬的を考えると極⼒避けるべき • Terraformを利⽤して、シークレット管理のセルフサービス化を実現
展望
展望(1): Terraformへの意識を減らす • Terraformが接点にならないような仕組みを • いわゆるPlatform Engineer以外はHCLを習得することが重荷だし動機も低い • 習得を強制すると本末転倒になる •
コードで会話 → フロー化 → GUIの流れで進化させる
展望(2): 成熟度モデルは定期的に評価 • 基本的に右側へ移っていけることを⽬指すが、ゴール/⽬的ではない • 組織のフェーズに合わせて顧客(開発者)に必要なことを議論することが必須 https://github.com/cncf/tag-app-delivery/raw/main/platforms-maturity-model/v1/assets/platform-eng-maturity-model-v1.0.pdf
展望(3): AEONグループは広い • 事業会社の数が⾮常に多いため、Platform Engineeringによるoutcomeが効きやすい • 多種多様な事業環境 • 利⽤クラウド/内製か or
外部ベンダ依存か/多くのベンダ • その状況で求められるガバナンス/セキュリティ • CCoEやPlatform Engineeringの効果に対する期待は⼤きい しかし、これを会社の⽅針としてトップダウンで進めれば解決するのだろうか?
展望(3): AEONグループは広い • Platformの利⽤を強制するのは、Platform Engineeringの⽂脈でも悪⼿ • 所謂「使われない共通基盤」になる • AEONグループの⽂化とも合わない •
まさに“Platform as a product”のアプローチが求められる そのため、まずは⾜元のplatformの磨き込みを継続していくことが重要
まとめ
まとめ 以下をご紹介 • ASTの状況を踏まえた、Platform Engineeringのアプローチと実践 • HashiCorp Productとの関わり • 今後の展望
最後に
告知
募集しています!