Copyright JCB Co.,Ltd. 2021 All Rights reserved. Whatʼs JCB 5 l Issuer p 約 1 億 4000 万⼈のカード会員 l Acquirer p 国内外 約 3600 万の加盟店 l Brand Holder p ⽇本発唯⼀の国際カードブランド
Copyright JCB Co.,Ltd. 2021 All Rights reserved. 8 Service A Team A New Platform Service B Team B Service C Team C QA Team SRE Team Sec Team Platform Team Arch Team • Agility ある開発を実現させるための開発体制 • 逆コンウェイの法則に則り、システム構造を組織構造に写像 Whatʼs JCB
Copyright JCB Co.,Ltd. 2021 All Rights reserved. 9 新規サービスの⾼速開発を可能とするPlatformとしてJDEPを構築 ・JDEP︓JCB Digital Enablement Platform。CloudNativeなサービス・ソリューション群で構成 ・サービス開発に⾃由度を持たせつつ、Agilityあるシステム開発を実現 JDEP GKE(Google Kubernetes Engine) / Cluster SaaS Shared Service Public Cloud Cloud Pub/Sub Cloud Spanner Key Management Service On-Premises Data Center Partner Interconnect Cloud NAT Cloud IAM Big Query Cloud Resource Manager Monitoring Cloud DNS Service A (NameSpace) Service B (NameSpace) Service C (NameSpace) NEW Service (NameSpace) Anthos Service Mesh (Istio) Whatʼs JCB
Copyright JCB Co.,Ltd. 2021 All Rights reserved. GKE GKE GKE 10 Dev/QA環境 開発 テスト Stage環境 性能テスト 障害テスト Production環境 顧客提供 Service Service Service Service Service Service Service Service Service release (本番) Whatʼs JCB
Copyright JCB Co.,Ltd. 2021 All Rights reserved. 12 Chaos Engineering これまで以上にサービスを⾼信頼化する施策の実施が必要 1. システムが複雑化・障害点が増え、事前にすべてを考慮するのが難しい 2. 外部サービスや共有リソースを含んだ障害テストは困難 3. 障害テストを頻繁に実施するのは難しい (+なんとなく⾯⽩そうだし技術的にチャンレンジしてみよう︕) Chaos Engineering “Chaos Engineering is the discipline of experimenting on a system in order to build confidence in the systemʼs capability to withstand turbulent conditions in production. “ 出典︓https://principlesofchaos.org/ JCBʼs Motivation
Copyright JCB Co.,Ltd. 2021 All Rights reserved. 13 出典︓https://principlesofchaos.org/ja/ Chaos Engineering 詳細な原則 l 定常状態における振る舞いの仮説を⽴てる l 実世界の事象は多様である l 本番環境で検証を実⾏する l 継続的に実⾏する検証の⾃動化 l 影響範囲を局所化する とはいっても… l ⼼理的に本番は怖い… l 厳しいアクセス制限… ・ 本番環境へはセキュリティ ルームからアクセス etc... Chaos Engineering
Copyright JCB Co.,Ltd. 2021 All Rights reserved. 14 現 状 の 考 察 • クラウド、Kubernetes、IaC等により構成はStage ≒ Production • Stage〜は可観測(Observability)を実現する環境 Stage VM VM OS OS App App NW etc. Production VM VM OS OS App App NW etc. ≠ 監視基盤 Stage Production 可観測基盤 (datadog etc.) ≒ Kubernetes App (コンテナ) App (コンテナ) Kubernetes App (コンテナ) App (コンテナ) 昔 今 (JDEP) 仮 説 Stage実施でも得られるものは ⼗分にあるはず︕ l 既知障害の運⽤訓練 l 未知障害の検出 etc. Stageで実施 ・本番影響なし ・本番差異(データ等) etc. Productionで実施 ・本番データ利⽤可能 ・SLA違反のリスク etc. IaC: Infrastructure as Code Chaos Engineering ︖
Copyright JCB Co.,Ltd. 2021 All Rights reserved. 18 Chaos Mesh Chaos Mesh l CNCF Sandbox project l PingCAP社社のTiDBテストツールが起源 l Ease to Use p リッチなGUI、構築が容易 etc. l Design for Kubernetes p CustomResourceを⽤いた管理 etc. https://chaos-mesh.org/ https://github.com/chaos-mesh/
Copyright JCB Co.,Ltd. 2021 All Rights reserved. 19 多彩なNetwork障害はサービスが互いに通信して成り⽴つシステムでは魅⼒ Network、Disk IO中⼼に様々な障害注⼊が可能 l Network: JitterやCorrelationsを伴うDelay , Bandwidth制限 l Disk IO: Latency, Fault, FileAttribute変更 l Pod: Kill (Delete), Failure (Unavailable) Chaos Mesh
Copyright JCB Co.,Ltd. 2021 All Rights reserved. Node APL Pod APL Pod APL Pod 23 PoCを通したChaos MeshのGood Points: 1. NetworkやKubernetesに対する多彩な障害 2. UIで確認 → YAML出⼒で再利⽤・⾃動化へ 3. Chaos EngineeringとServiceの管理を分離可能 Service team PF team Anthos Service Mesh (Istio) Chaos Engineer Serviceの世界 Chaos Engineeringの世界 Chaos Meshのない世界 Node APL Pod APL Pod APL Pod Service team PF team Anthos Service Mesh (Istio) Chaos Engineer Serviceの世界 Chaos Engineeringの世界 Chaos Meshのある世界 Chaos Mesh Chaos Mesh
Copyright JCB Co.,Ltd. 2021 All Rights reserved. Thank you. We are hiring for business Let's develop together with JCB! 26 https://www.saiyo.jcb.co.jp/careerrecruit/special