Slide 1

Slide 1 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 2024年11月28日 東京ガス株式会社 杉山祐介 / 迫田 賀章 今はまだ小さい東京ガス内製開発チームが、 これからもKubernetesと共に歩み続けるために

Slide 2

Slide 2 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 自己紹介 @yus_sugiyama ❑名前 杉山祐介 / Yusuke Sugiyama ❑所属 東京ガス株式会社リビング戦略部 エンジニアリングマネージャー兼SRE ❑経歴 SI -> 内製 -> AWS(SA) -> 2022年10月より現職 ❑好き Suicaのペンギン / Fashion 2

Slide 3

Slide 3 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 自己紹介 @ysakotch ❑名前 迫田賀章 / Yoshiaki Sakota ❑所属 東京ガス株式会社リビング戦略部 SRE ❑経歴 SI -> 事業会社PM -> 2024年1月より現職 ❑好き 甘いもの 3

Slide 4

Slide 4 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. KubeCon で Kubestronaut の集合写真を撮ったりしました 4 KubeCon + CloudNativeCon NA 2024 に参加してきました! 最終日には Kubestronaut として集合写真を撮影する機会も…! 非 IT 企業に2名の Kubestronaut が居るのは初でしょうか(2024年11月時点 みなさんも Kubestronaut を目指しませんか?

Slide 5

Slide 5 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. アジェンダ 1. 東京ガスについて 2. 東京ガス内製開発チームとは 3. 東京ガス内製開発チーム発足の背景 4. Kubernetes 利用の背景 a. マイクロサービス化を決意するまで b. 現在の構成と技術選定理由 5. 技術選定をふりかえる a. 学びと反省点 6. エコシステムと共に歩み続けるために 7. まとめ 5

Slide 6

Slide 6 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 本日お話しすること • 東京ガス内製開発チームのチャレンジについて。 • チャレンジのふりかえりとこれからに向けて。 • Kubernetes を中心としたエコシステムとの歩み方。 6 旅立とう!

Slide 7

Slide 7 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 東京ガスについて 7

Slide 8

Slide 8 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 会社紹介 会社名 創立 従業員数 売上高(連結) 主な事業 東京ガス株式会社 明治18年(1885)年10月1日 単体:3,190名 連結:15,504名(2024年3月31日現在) 26,645億円(2024年3月末時点) エネルギー(ガス+電気)ソリューション、海外、都市ビジネス(不動産)など エネルギー需要の増大に伴い、クリーンで高効率なエネルギーとして、 1969年、日本で初めて LNG (液化天然ガス) を導入。 お客さまアカウント数は約1,300万件(*1) 都市ガス国内販売シェア約34%は国内No.1。 小売電力販売件数も387.1万件(*2) に到達、新電力No.1となっています。 8 *1 ガス・電気・サービス延べ契約数 2024年3月末時点 *2 2024年3月末時点

Slide 9

Slide 9 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 東京ガスは CNCF End User Supporter になりました! 東京ガスは2024年10月(頃)にCNCF End User Supporter になりました。 これが小さな第一歩。これからもコミュニティへの貢献をがんばります! 9 https://www.cncf.io/about/members/ https://www.cncf.io/enduser/ https://landscape.cncf.io/?group=members&item=cncf-members--end-user-supporter--tokyo-gas-supporter

Slide 10

Slide 10 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 東京ガス内製開発チームとは 10

Slide 11

Slide 11 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 東京ガス内製開発チームとは 東京ガスCX推進部デジタルマーケティンググループ(2022年当時)に発足した 自社プロダクトを開発するチームです。 主に myTOKYOGAS と呼ばれる会員サイトの内製開発を行っています。 お客さま 内製開発チーム領域 バックエンド 基幹システム BFF myTOKYOGAS 11

Slide 12

Slide 12 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. myTOKYOGAS とは myTOKYOGAS は毎月のガスや電気の使用量・料金を確認できる 登録無料の会員サービスです。 ガス・電気を契約する多くの方にご利用いただいております。 12

Slide 13

Slide 13 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. ちなみに myTOKYOGAS は 2023年11月にリニューアルオープンしました! 内製開発チームが担当するフロントエンドはフルリプレイス Next.js React NestJS GraphQL Redis Mongo 13

Slide 14

Slide 14 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. ちなみに myTOKYOGAS は 2023年11月にリニューアルオープンしました! 内製開発チームが担当するフロントエンドはフルリプレイス これはまだ旅の始まりに過ぎなかった 後半に続く・・・ 14

Slide 15

Slide 15 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 東京ガス内製開発チーム発足の背景 15

Slide 16

Slide 16 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. エネルギー小売全面自由化による変化 2016年4月に電力、2017年4月に都市ガスが小売全面自由化となり、家庭用の分野においても、 エネルギー会社はお客さまから選ばれる存在になりました。 その結果、デジタル接点によるお客さまの獲得・お客さま体験の向上が急務となっています。 2000年3月 電力小売自由化スタート 【特別高圧】 大規模工場・大規模オフィスビル 電力 都市 ガス 1995年3月 都市ガス小売自由化スタート 【年間200万m3以上】 2004年4月/2005年4月 自由化領域拡大 【高圧】 中小規模工場・中小ビル 1999年11月~2007年4月 自由化領域拡大 【年間10万m3以上】 2016年4月 全面自由化 【低圧】 2017年4月 全面自由化 【年間10万m3以上】 一般家庭など 16

Slide 17

Slide 17 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Kubernetes 利用の背景 17

Slide 18

Slide 18 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 18 マイクロサービス化を決意するまで

Slide 19

Slide 19 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. なぜマイクロサービス化を決めたのか CNDS2024 プレイベントや他イベントで過去に二回ほど 説明したことがありますが、改めて… 熱心な東京ガス内製開発チームファンの方はご存知かもしれませんが何卒・・・え、いない? 19

Slide 20

Slide 20 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. なぜマイクロサービス化を決めたのか myTOKYOGAS は 2023年11月にリニューアルオープンしました! 内製開発チームが担当するフロントエンドはフルリプレイス バックエンドは・・・? 20

Slide 21

Slide 21 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 現在の myTOKYOGAS BFF Database WEB Mobile バックエンド 基幹システム 組織の境界線 関連システム 30 - 40 ...? 東京ガス 内製開発チーム 東京ガス アイネット フルリニューアル リフト&シフト 21

Slide 22

Slide 22 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. myTOKYOGAS の課題 例:契約を追加したいケース 1. 現在の会員情報を取得 (API0101, API0110 を呼び出す) 2. 契約情報を追加 (API0204 を呼び出す) 3. 会員基本情報を変更 (API0035 を呼び出す) 4. 個人別契約情報を更新 (API0011 を呼び出す) バックエンド BFF 1. API0101, API0110 2. API0204 3. API0035 4. API0011 手続き発生… 契約とは… 22

Slide 23

Slide 23 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. myTOKYOGAS の課題 Fat BFF ドメイン層 契約 ポイント 会員 ・ ・ ・ For WEB xっっっx 契約追加 createOne 契約を追加する 契約を追加する 料金 プロセス層(UI) ・ ・ ・ 契約を追加する For Mobile App ・ ・ ・ ・ ・ ・ For External SVC 契約追加 createOne BFFで吸収: Fat BFFへ コード内部での分離へ WEB Mobile 23

Slide 24

Slide 24 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. myTOKYOGAS の課題 Fat BFF ドメイン層 契約 ポイント 会員 ・ ・ ・ For WEB xっっっx 契約追加 createOne 契約を追加する 契約を追加する 料金 プロセス層(UI) ・ ・ ・ 契約を追加する For Mobile App ・ ・ ・ ・ ・ ・ For External SVC 契約追加 createOne BFFで吸収: Fat BFFへ コード内部での分離へ WEB Mobile 24 2023年11月リリースが MUST・・・ リニューアル時点では これが限界だった

Slide 25

Slide 25 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. myTOKYOGAS の課題 Fat BFF ドメイン層 契約 ポイント 会員 ・ ・ ・ For WEB xっっっx 契約追加 createOne 契約を追加する 契約を追加する 料金 プロセス層(UI) ・ ・ ・ 契約を追加する For Mobile App ・ ・ ・ ・ ・ ・ For External SVC 契約追加 createOne Web向けに 契約修正しよう WEB Mobile 25

Slide 26

Slide 26 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. myTOKYOGAS の課題 Fat BFF ドメイン層 契約 ポイント 会員 ・ ・ ・ For WEB xっっっx 契約追加 createOne 契約を追加する 契約を追加する 料金 プロセス層(UI) ・ ・ ・ 契約を追加する For Mobile App ・ ・ ・ ・ ・ ・ For External SVC 契約追加 createOne Web向けに 契約修正しよう なんか動き 変わったよ!? WEB Mobile 26

Slide 27

Slide 27 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. myTOKYOGAS の課題 Fat BFF ドメイン層 契約 ポイント 会員 ・ ・ ・ For WEB xっっっx 契約追加 createOne 契約を追加する 契約を追加する 料金 プロセス層(UI) ・ ・ ・ 契約を追加する For Mobile App ・ ・ ・ ・ ・ ・ For External SVC 契約追加 createOne 急いで外部向けに 修正し直そう WEB Mobile 27

Slide 28

Slide 28 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. myTOKYOGAS の課題 Fat BFF ドメイン層 契約 ポイント 会員 ・ ・ ・ For WEB xっっっx 契約追加 createOne 契約を追加する 契約を追加する 料金 プロセス層(UI) ・ ・ ・ 契約を追加する For Mobile App ・ ・ ・ ・ ・ ・ For External SVC 契約追加 createOne 急いで外部向けに 修正し直そう モバイルが 動かないのですが WEB Mobile 28

Slide 29

Slide 29 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. とてもつらい 29

Slide 30

Slide 30 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 30 解決したい

Slide 31

Slide 31 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. モノリスを乗り越えてマイクロサービスへ WEB Mobile ドメイン層 契約 ポイント 会員 ・ ・ ・ 契約追加 createOne 契約を追加する 料金 ・ ・ ・ BFF for WEB External 契約を追加する ・ ・ ・ BFF for Mobile 契約を追加する ・ ・ ・ BFF for External マイクロサービス (一例です) 契約追加 createOne 関連システム群 変化に強くお客さまに 素早く価値を届けられる アーキテクチャへ 31 ドメイン層を 分離・整理して バックエンド再構築

Slide 32

Slide 32 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. モノリスを乗り越えてマイクロサービスへ WEB Mobile ドメイン層 契約 ポイント 会員 ・ ・ ・ 契約追加 createOne 契約を追加する 料金 ・ ・ ・ BFF for WEB External 契約を追加する ・ ・ ・ BFF for Mobile 契約を追加する ・ ・ ・ BFF for External マイクロサービス (一例です) 契約追加 createOne 関連システム群 変化に強くお客さまに 素早く価値を届けられる アーキテクチャへ マイクロサービス化も手段でしかない 理想論だけでなく事業への貢献を果たす 32 ドメイン層を 分離・整理して バックエンド再構築

Slide 33

Slide 33 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 事業部内に発足したからこそ求められるもの 成果を求められる事業部内に所属している以上、 延々とリアーキテクチャし続けているわけにはいかない。 ※ここからの進め方は組織構造や背景などによって大きく変わる。 あくまでも当社の場合という前提。 距離感の近さは 事業理解に大きなメリット しかし当然 直近成果も求められる 33

Slide 34

Slide 34 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. そして航海へ・・・ マイクロサービス化を決断し、長い航海への旅立ちへ! しかし・・・ 前述のとおり結果も必要 さらに何が待っているか未知… なのでベイビーステップで 34

Slide 35

Slide 35 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 35 現在の構成と技術選定理由

Slide 36

Slide 36 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. マイクロサービス化における全体構成 AWS Cloud VPC Istio-Ingress Gateway Virtual Service EKS Karpenter TGW DX Route 53 ACM GitHub Actions Developers Argo CD(UI) manifest repo TiDB (dedicated) Datadog App/IaC repo ※主要サービスのみ記載 36

Slide 37

Slide 37 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Why Kubernetes? 37

Slide 38

Slide 38 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Why Kubernetes? 比較したのは AWS の ECS と EKS. 決め手は「自分たちでどこまで技術選定をコントロールできるか」 CNCF がリードするようなベンダーニュートラルなエコシステムを使いたい。 そのため、 Kubernetes をやっていくことを決意。 Cloud Native Definition Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach. These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil. The Cloud Native Computing Foundation seeks to drive adoption of this paradigm by fostering and sustaining an ecosystem of open source, vendor- neutral projects. We democratize state-of-the-art patterns to make these innovations accessible for everyone. https://www.cncf.io/about/who-we-are/ https://github.com/cncf/toc/blob/main/DEFINITION.md 38

Slide 39

Slide 39 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 二人で構築したって聞いたけど? 39

Slide 40

Slide 40 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 二人で構築したって聞いたけど? 40 しました! 大変でした… ごめんなさい

Slide 41

Slide 41 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 二人で構築したって聞いたけど? 構築しましたしエコシステムも全部自分たちで選択して決めて導入しました。 構築中にアップグレードして動かなくなったものもありました…(泣) 41

Slide 42

Slide 42 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 二人で構築したって聞いたけど? しかしコミュニケーションコストを最小限に抑え、知識と運用経験をもって 加速した結果、今に至ったと考えています。 プラットフォーム起因での遅延なし! 全てを互いに把握したうえで構築する関係・意思決定者が構築していた。 ただし決して運用観点を疎かにしたわけではありません!が・・・(次ページへ 42 構築しましたしエコシステムも全部自分たちで選択して決めて導入しました。 構築中にアップグレードして動かなくなったものもありました…(泣)

Slide 43

Slide 43 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 二人で構築したって聞いたけど? もちろん!これからの道のりの方が 大変なのは間違いありません。 歩み続けることが重要!(今回のテーマでもある 43

Slide 44

Slide 44 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. その他のエコシステムたちは? 以下の基準で選定していきました(まだ受け身状態です) - コミュニティが活発か。更新サイクルはどうか。 - 短すぎてもアップグレードが大変 - バージョンは安定版か。CNCF プロジェクトならどの段階か。 - ナレッジ・ドキュメントが充実しているか。 - 高負荷に耐え、高いパフォーマンスを発揮するか。 - 他社採用事例があるか。 - アイコンがかっこいい or かわいい 44

Slide 45

Slide 45 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. その他のエコシステムたちは? 結果、以下のような代表的なものを選定。 - Argo CD (Workflows, Rollouts なども検討中) - Istio / Kiali - Prometheus (ほぼ Kiali のため) - External Secrets Operator - Helm - Trivy - Karpenter .... and more (k6 もこっそり浮かんでます) 45

Slide 46

Slide 46 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Ready...? 果たしてこの選択はどうだったのか・・・ to be continued... 46

Slide 47

Slide 47 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 技術選定をふりかえる 47

Slide 48

Slide 48 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 結果から:負荷試験はどうだったか 目標の数値は以下のとおり(APIのみ、バッチは別指標にて実施) - ピーク時:263rps x 5minutes(中央値からピーク時数値を策定) - 通常時 :36rps x 5minites - 瞬間最大:526rps x 10seconds ※テーブル件数:1000万件 ※履歴テーブル:3億件 プラスアルファで以下も実施 - ロングラン:正常レスポンス99.999%以上 48 合格条件 API : p(95) < 1s ※API 単体での負荷試験のみ取り扱います。 アプリケーション全体の負荷試験は割愛。 *正確には GET/POST それぞれ 263 rps で同時に実施。

Slide 49

Slide 49 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 結果から:負荷試験はどうだったか 目標の数値は以下のとおり(APIのみ、バッチは別指標にて実施) - ピーク時:263rps x 5minutes(中央値からピーク時数値を策定) - 通常時 :36rps x 5minites - 瞬間最大:526rps x 10seconds ※テーブル件数:1000万件 ※履歴テーブル:3億件 プラスアルファで以下も実施 - ロングラン:正常レスポンス99.999%以上 49 ピーク時:263rps x 5minutes(中央値からピーク時数値を策定) ピックアップ ※API 単体での負荷試験のみ取り扱います。 アプリケーション全体の負荷試験は割愛。

Slide 50

Slide 50 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 結果から:負荷試験はどうだったか 参考:ピーク時(263rps x 5minutes) の k6 ダッシュボード 50 ※実施時のイメージとなります。 繰り返し実行しているため以降の画像と整合しない場合があります。

Slide 51

Slide 51 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 結果から:負荷試験はどうだったか 参考:ピーク時(263rps x 5minutes) の API サマリー 51 Istio Ingress Gateway メトリクス (受け付けたリクエスト数) アプリケーションレスポンス ※実施時のイメージとなります。 繰り返し実行しているため画像同士が整合しない場合があります。

Slide 52

Slide 52 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 結果から:負荷試験はどうだったか 参考:瞬間最大(526rps x 10seconds) 52 ※実施時のイメージとなります。 繰り返し実行しているため画像同士が整合しない場合があります。

Slide 53

Slide 53 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 結果から:負荷試験はどうだったか 負荷試験中にも当然問題発生・・・チューニング実施。 結果として GET, POST ともにピーク時・瞬間最大時をクリア。 最終的な AP/TiDB の基本スペックは以下のとおり。 - App Pod:6 Pod 0.25core/256MiB(istio-proxy も同様/バッチは除く) - QoS : Guaranteed - Istio ingress gateway:6 Pod 0.1core/128MiB - TiDB:8 vCPU, 32 GiB / 2 Nodes - TiKV:8 vCPU, 32 GiB / 200GiB Storage x 3 Nodes 53

Slide 54

Slide 54 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 54 学びと反省点

Slide 55

Slide 55 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. アプリケーションデプロイの自動化 夏のイベントで苦戦中とお話しをした Argo CD Image Updater ですが… リリース時には利用を断念することに まず ECR が非対応な問題はクリアしたものの… タグ変更を想定通りに検知しないことがある問題に直面 55 ビジネス上、リリースに間に合わせることが最優先。 であれば手で凌げるものを冷静にジャッジすることが重要。

Slide 56

Slide 56 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. アプリケーションデプロイの自動化 56 App イメージを GitHub Actions で ECR に PUSH した後 Kustomization.yaml にイメージタグを記載して Argo CD で Sync 今は手で更新… 12月に自動化するぞ!

Slide 57

Slide 57 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Istio Ingress Gateway のスケールイン 負荷試験で問題発生。スケールイン時にエラーレスポンスが・・・。 57 ※実施時のイメージとなります。 繰り返し実行しているため画像同士が整合しない場合があります。

Slide 58

Slide 58 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Istio Ingress Gateway のスケールイン 負荷試験で問題発生。スケールイン時にエラーレスポンスが・・・。 58 Istio Ingress gateway Pod の スケールとエラータイミングが一致・・・

Slide 59

Slide 59 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Istio Ingress Gateway のスケールイン 負荷試験で問題発生。スケールイン時にエラーレスポンスが・・・。 59 スケーラビリティに 満足する人の顔 エラーレスポンスを 見てXXXの顔

Slide 60

Slide 60 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Istio Ingress Gateway のスケールイン スケールイン時の問題ということは闇に消えたトラフィックが? アプリケーション Pod のサイドカー istio-proxy でも議論が紛糾する中、 迫るスケジュール・・・果たして我々の選択とは! 60

Slide 61

Slide 61 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Istio Ingress Gateway のスケールイン スケールイン時の問題ということは闇に消えたトラフィックが? アプリケーション Pod のサイドカー istio-proxy でも議論が紛糾する中、 迫るスケジュール・・・果たして我々の選択とは! 61 Istio Ingress Gateway はトラフィックをさばける固定 6 Pod に。 スケーラビリティを置き去りにした NOT Cloud Native... ごめんね しかたない

Slide 62

Slide 62 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Istio Ingress Gateway のスケールイン 62 余談:サイドカーの istio-proxy 起因で余計なスケールが発生し、 HPA の基礎に立ち返りディスカッションする Kubestronaut の二人…

Slide 63

Slide 63 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Istio Ingress Gateway のスケールイン 63 さ「杉山さん、これ出来なかったって発表しちゃうんですか?」 す「最初から完璧に出来るわけないし、これから同じように 始めるみなさんに、スケールインってやっぱり気をつけないと だよね!って伝わったら何よりだよ!」 あと誰か助けてくれるかm

Slide 64

Slide 64 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 余談:Istio と共に歩むために チームとして Istio 周りの今後の対応方針を考えてみる。 64

Slide 65

Slide 65 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Gateway API への対応 Gateway API Mesh Support Promoted To Stable May 13, 2024 https://istio.io/latest/blog/2024/gateway-mesh-ga/ https://istio.io/latest/docs/tasks/traffic-management/ingress/gateway-api/ 65 Gateway API 実装の中でも Istio は GA されている。 In addition to its own traffic management API, Istio supports the Kubernetes Gateway API and intends to make it the default API for traffic management in the future. と記載されているように、当チームもアーキテクチャを進化させたい。 Istio Ingress Gateway の調査ももちろんだが、リソースをどこに割くのかは ディスカッションしたいところ。 ... Istio 重い...

Slide 66

Slide 66 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Istio Ambient へのチャレンジをするか…? Istio Ingress Gateway の問題は今後当然解決したい。 それとは別に、課題の多いサイドカーをこれからも使うのか悩みどころ。 Istio Ambient の検証を十分に行って移行したい気持ちあふれる。 66 https://istio.io/latest/docs/ops/deployment/performance-and-scalability/ 公式の機能比較やアーキテクチャを 確認して徐々に移行をしていきたいが… As of Istio 1.22, it is production-ready for single cluster use cases. Beta 抜けるかな…

Slide 67

Slide 67 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. Istio Ambient GA しました!! Istio’s Ambient Mode Reaches General Availability in v1.24!! Nov 7, 2024 https://istio.io/latest/blog/2024/ambient-reaches-ga/ 67 GAした!来年はこれをやっていき!! KubeCon の基調講演でも話題になっていました 他にも関連セッションがあったり、今アツい Ambient...!!!

Slide 68

Slide 68 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. VPC 今回よかったこと 事前に k6 Operator を Kubernetes 上に用意したことで繰り返し実行を容易に。 68 EKS Istio-Ingress Gateway Virtual Service EKS Karpenter Developers Argo CD(UI) k6 operator k6 operator は 分散実行も可能 Datadog 結果はDatadogで確認

Slide 69

Slide 69 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. エコシステムと共に歩み続けるために 69

Slide 70

Slide 70 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. いつも聞かれるアップグレード Kubernetes と言うと「アップグレード大変なんでしょ」と言われる(体感 確かに「作業だけ」を切り出して考えてしまうと 大変なうえに直接的なビジネス価値を生み出さないかもしれない。 しかしクラウドネイティブ周辺の進化速度と、もたらす価値を同時に考えたい。 70

Slide 71

Slide 71 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. いつも聞かれるアップグレード Kubernetes と言うと「アップグレード大変なんでしょ」と言われる(体感 確かに「作業だけ」を切り出して考えてしまうと 大変なうえに直接的なビジネス価値を生み出さないかもしれない。 しかしクラウドネイティブ周辺の進化速度と、もたらす価値を同時に考えたい。 71 いち早く最新のエコシステムを使える優位性をもって ビジネスで打ち勝つ!そのために採用したはずだ… バージョン上がった なら新機能増えてる よね?

Slide 72

Slide 72 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 余談:App Meshを選ぼうとした時期があった 最近サービス終了で話題になった AWS App Mesh... 実は今年はじめに Istio で決定するまで、導入を悩んでいた時期も。 ちなみに見送りの決め手は公式ドキュメント履歴の改訂が少なかったこと。 自分たちでやっていくことを決意している中での決定打となった。 慎重に検討した結果、2026 年 9 月 30 日をもって AWS App Mesh のサポートを終了することを決定しました。この日まで、既存の AWS App Mesh のお客様は、 AWS CLI や AWS CloudFormation による新しいリソースの作成や新しいアカウントのオンボーディングなど、通常通りにサービスを利用できます。また、AWS はこの期間中も、AWS App Mesh にセキュリティと可用性に関する重要な更新を引き続き提供します。新規のお客様は、2024 年 9 月 24 日以降、AWS App Mesh にオンボーディングできなくなります。2024 年 9 月 24 日 https://aws.amazon.com/jp/blogs/news/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect/ 72 App Mesh にしてたら 今頃どうなってたのだろう… (もちろん全て同じことが言えます

Slide 73

Slide 73 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. いつも聞かれるアップグレード 「クラウドネイティブ周辺の進化速度ともたらす価値」を踏まえて この選択をしているので、我々自身も加速する必要がある!! 73 Before After ビジネス 加速!

Slide 74

Slide 74 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 延長サポートも出ましたが 余談:マネージド Kubernetes サービスは延長サポートなど出てきているが、 周辺のエコシステムが対応しなくなってくるため、上げない選択肢はない。 (と思っているが、猶予があるのはありがたいこと。) 74 例えばEKS v1.31の 延長サポートは2026年 11月26日だが… IstioはK8sの直近 4バージョンのみサポート

Slide 75

Slide 75 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. free ride だけでは続かない エコシステムの恩恵を受けるだけで良いのかというとそうではない。 改めて、自分たちも積極的に貢献していかなければならない。 OSS への依存度は高まるばかりであり、持続可能性を鑑みたとき、 エネルギーの観点から社会の持続可能性を訴える当社が、 ソフトウェアエンジニアの観点で何もしないで良いのか? そのための一歩として CNCF End User Supporter への参加。 が、今後は徐々にソフトウェアエンジニアとしての貢献もしていきたい! 75

Slide 76

Slide 76 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 勇気をもって、一歩、踏み出そう 定期開催される以下のイベントは 特に参加したい。前回、前々回ともに イベント重複で参加できず… 76 GitHub で Issue を挙げたりコードリー ディングは今後も続けていきたい所 存。

Slide 77

Slide 77 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. まとめ 77

Slide 78

Slide 78 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. 本日お話ししたこと • 東京ガス内製開発チームのチャレンジについて。 • チャレンジのふりかえりとこれからに向けて。 • Kubernetes を中心としたエコシステムとの歩み方。 78 旅立った!

Slide 79

Slide 79 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. これまでとこれからと 140年の歴史ある東京ガスに発足した内製開発チームは Kubernetes という船に乗り、出航しました。 しかし旅立つだけでなく、これからも共に歩み続けることにこそ価値がある。 決してその速さに振り落とされることなく、ビジネスを加速させていきたい。 そのために、東京ガス内製開発チームは、今後も自己のスキルを高め、 コミュニティへの貢献を行い、クラウドネイティブなみなさんと 会社の枠を超えて一緒に進んでいけたらと思っています!! そしてこの小さな一歩が、これから歩みを始める方への 小さな勇気になれたなら幸いです!! 79 みんなと一緒なら 怖くない!

Slide 80

Slide 80 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved. We are hiring!! あなたもぜひ、この船に乗りませんか? 80 GoGo!! 東京ガス 内製開発 で検索!

Slide 81

Slide 81 text

Copyright©︎ TOKYO GAS Co., Ltd. All Rights Reserved.