SlideShare ist ein Scribd-Unternehmen logo
1 von 32
チーム開発におけるDevとOpsのプラクティス
- Tech-on Meet Up #7 -
Copyright © 2019 KDDI Corporation. All Rights Reserved
プラットフォーム開発本部
アジャイル開発センター
廣田 翼
自己紹介
Copyright © 2019 KDDI Corporation. All Rights Reserved
技術統括本部
プラットフォーム開発本部
アジャイル開発センター
様々なサービス/システムの開発を担当
1
廣田 翼
Hirota Tsubasa
ネットワークスペシャリスト
アジェンダ
1. はじめに
2. チーム開発と運用の課題
3. 継続的障害訓練のススメ
4. まとめ
Copyright © 2019 KDDI Corporation. All Rights Reserved
2
はじめに
Copyright © 2019 KDDI Corporation. All Rights Reserved
3
KDDIでは、開発と運用で組織が分かれています。
この場合に、チーム開発を行う上で様々な課題に直面し、
1つずつ解決していきました。
本セッションでは開発と運用の異なる組織が、1つのサー
ビス成功というゴールに向かうために行ってきたプラク
ティスを紹介いたします。
チーム開発と運用の課題
Copyright © 2019 KDDI Corporation. All Rights Reserved
4
チーム開発と運用の課題
Copyright © 2019 KDDI Corporation. All Rights Reserved
5
❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う
❏ 開発と運用とでシステムの考え方にギャップがある
❏ 現代のシステムは分散化され複雑である
チーム開発と運用の課題
Copyright © 2019 KDDI Corporation. All Rights Reserved
6
❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う
❏ 開発と運用とでシステムの考え方にギャップがある
❏ 現代のシステムは分散化され複雑である
チーム開発と運用の課題
Copyright © 2019 KDDI Corporation. All Rights Reserved
7
❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う
開発者 運用者
監視もリリースも
自動化したい
監視統合システムに
沿うようにしたい
システム復旧よりも
サービス復旧を
障害原因を特定し
再発防止策を
まずはユーザストーリ
に直結するものを作
ろう
性能、監視要件を
満たそう
チーム外の意見は後
回しにせざるを得ない
どうしたら運用観点を
早くに注入できるんだ
ろう
Copyright © 2019 KDDI Corporation. All Rights Reserved
8
❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う
解決策
☞ 実際に運用するメンバを開発チームに入れる
☞ 最初から非機能要件の優先度をPOやチームと調整する
☞ 運用も開発チームの一員となり、サービスをより良
くするためのゴールを統一する
チーム開発と運用の課題
チーム開発と運用の課題
Copyright © 2019 KDDI Corporation. All Rights Reserved
9
❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う
❏ 開発と運用とでシステムの考え方にギャップがある
❏ 現代のシステムは分散化され複雑である
Copyright © 2019 KDDI Corporation. All Rights Reserved
10
❏ 開発と運用とでシステムの考え方にギャップがある
 システム構成要素をペット扱いする
 SaaSのSLAへのこだわり
 メンテナンスし難い監視設定
 リリース承認フローの硬化
チーム開発と運用の課題
Copyright © 2019 KDDI Corporation. All Rights Reserved
11
 システム構成要素をペット扱いする
 SaaSのSLAへのこだわり
 メンテナンスし難い監視設定
 リリース承認フローの硬化
チーム開発と運用の課題
❏ 開発と運用とでシステムの考え方にギャップがある
Copyright © 2019 KDDI Corporation. All Rights Reserved
12
 システム構成要素をペット扱いする、への解決策
Auto Scaling group
Availability Zone #1 Availability Zone #2
web app
server
EC2 instance
RDS instance RDS instance standby
CloudWatchLogs
EC2 instance
web app
server
ログ転送
AWS Management
Console
削除
EC2 instance
web app
server
チーム開発と運用の課題
❏ 開発と運用とでシステムの考え方にギャップがある
Copyright © 2019 KDDI Corporation. All Rights Reserved
13
 メンテナンスし難い監視設定、への解決策
↑はALB配下のヘルスチェック
カウント数の監視設定のコード
チーム開発と運用の課題
❏ 開発と運用とでシステムの考え方にギャップがある
チーム開発と運用の課題
Copyright © 2019 KDDI Corporation. All Rights Reserved
14
❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う
❏ 開発と運用とでシステムの考え方にギャップがある
❏ 現代のシステムは分散化され複雑である
Copyright © 2019 KDDI Corporation. All Rights Reserved
15
❏ 現代のシステムは分散化され複雑である
au でんき
チーム開発と運用の課題
Copyright © 2019 KDDI Corporation. All Rights Reserved
16
au HOME
❏ 現代のシステムは分散化され複雑である
チーム開発と運用の課題
Copyright © 2019 KDDI Corporation. All Rights Reserved
17
❏ 現代のシステムは分散化され複雑である
 機能や連携先が増減すればシステム
の構成要素も変化する
 ユーザアクセス傾向も時期により
変化する
 システムは変化するべきであり
運用方法も変化するべき
チーム開発と運用の課題
Copyright © 2019 KDDI Corporation. All Rights Reserved
18
 機能や連携先が増減すればシステムの構成要素も変化する
☞ 各コンポーネント障害が全体に及ぼす影響を把握できない
 ユーザアクセス傾向も時期により変化する
サービスイン前の重厚なテストはアクセス傾向が変われば無意
味になる
☞
 システムは変化するべきであり運用方法も変化するべき
☞ 継続的に運用方法を見直すことが必要
チーム開発と運用の課題
継続的障害訓練のススメ
Copyright © 2019 KDDI Corporation. All Rights Reserved
19
継続的障害訓練のススメ
Copyright © 2019 KDDI Corporation. All Rights Reserved
20
 障害訓練によってシステムの
弱点を把握し、対策できる
 運用スキームの弱点も同様
 継続的に行うことでシステム
の変化に追随する
Copyright © 2019 KDDI Corporation. All Rights Reserved
21
❏ 障害はプラットフォームからサーバ、NW、DB
と全域に対して発生させたい
❏ 障害はGUIで発生させて、状況を可視化したい
❏ 複数障害パターンを記憶して簡単に障害を発生
させたい。自動化したい。
継続的障害訓練のススメ
Copyright © 2019 KDDI Corporation. All Rights Reserved
22
❏ 障害はプラットフォームからサーバ、NW、DB
と全域に対して発生させたい
❏ 障害はGUIで発生させて、状況を可視化したい
❏ 複数障害パターンを記憶して簡単に障害を発生
させたい。自動化したい。
継続的障害訓練のススメ
障害訓練を簡単に行える
ツールを導入しました
Gremlin
https://app.gremlin.com/
Gremlin
https://app.gremlin.com/
Gremlin
 リソース障害
• CPU:高負荷
• メモリ:領域占有
• IO:読み/書きを実施
• ディスク:書き込み
 ネットワーク障害
• ブラックホール:指定したNWトラフィックをドロップ
• 遅延:外向きのNWトラフィックを遅延させる
• パケットロス:外向きのNWトラフィックをパケットロスさせる
• DNS:DNSヘのアクセスをブロックする
 ステート障害
• シャットダウン:OSを再起動または停止する
• タイムトラベル:ホストのシステム時間を変更する
• プロセスキル:特定のプロセスをキルする
2
5
障害訓練の内容
Copyright © 2019 KDDI Corporation. All Rights Reserved
26
対象環境 対象設備 障害内容
auHOME Staging
(複数プロジェクトで実施)
・APIサーバ
・踏み台サーバ
・など
計9台
・メモリ負荷
・時刻同期の解除
・DBアクセスを遅延させる
・AWSリソースアクセスを70%失敗
・外部システムアクセスを70%失敗
・内部間アクセスを70%失敗
 訓練は基本、開発チームと運用(障害対応チーム)と合同で実施した
 障害対応者には何の障害をいつ発生させるかは伝えない
 実際に障害が発生したと想定して障害対応する
訓練参加者の声
Copyright © 2019 KDDI Corporation. All Rights Reserved
27
どの障害が起こる
か不明なので現実
に近い
復旧対応に慣れて
いないため時間が
かかった
被疑箇所特定に
はシステム構成を
理解する必要があ
る
何も障害対応が出
来ないことが分かっ
た
アプリの不具合しか対
応出来ないことが分
かった
APMツールの有効
性に気付いた
手順書の判断に
時間がかかった
復旧対応の順番を改
善することでよりサー
ビス影響のないもの
へと改善できた
開発
運用
障害訓練の効果
Copyright © 2019 KDDI Corporation. All Rights Reserved
28
❏ 各コンポーネント障害時のユーザ影響が分かる
❏ 障害手順の不備の修正や改善ができる
❏ 実際の障害状況に近い環境で訓練できる
❏ システムを改善できる機会が得られる
まとめ
Copyright © 2019 KDDI Corporation. All Rights Reserved
29
Copyright © 2019 KDDI Corporation. All Rights Reserved
30
❏ 運用要件もユーザストーリと同等に優先順位を付
けるために運用観点を持ったメンバを活用する
❏ チーム開発に適した運用方法をチーム内で確立し、
運用もクラウドやコード化の恩恵にあずかる
❏ 強硬化しがちな運用監視プラクティスをツールを
用いて柔軟にし、サービス品質を向上させる
まとめ
ご静聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

新しい契約形態での受託開発サービス
新しい契約形態での受託開発サービス新しい契約形態での受託開発サービス
新しい契約形態での受託開発サービス
 
Anyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechcon
Anyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechconAnyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechcon
Anyca(エニカ)のC2Cビジネスを支えるシステムと運用 #denatechcon
 
【公開版】アジャイル推進組織奮闘記
【公開版】アジャイル推進組織奮闘記【公開版】アジャイル推進組織奮闘記
【公開版】アジャイル推進組織奮闘記
 
[Agile Japan 2019]DXを実現するためにユーザ企業とSI企業が 今すぐとるべき3つのステップ
[Agile Japan 2019]DXを実現するためにユーザ企業とSI企業が 今すぐとるべき3つのステップ[Agile Japan 2019]DXを実現するためにユーザ企業とSI企業が 今すぐとるべき3つのステップ
[Agile Japan 2019]DXを実現するためにユーザ企業とSI企業が 今すぐとるべき3つのステップ
 
研修内製化を強くする定期購読型研修サービス「ずっとも」説明会資料
研修内製化を強くする定期購読型研修サービス「ずっとも」説明会資料研修内製化を強くする定期購読型研修サービス「ずっとも」説明会資料
研修内製化を強くする定期購読型研修サービス「ずっとも」説明会資料
 
開発チームの世代交代への取り組み
開発チームの世代交代への取り組み開発チームの世代交代への取り組み
開発チームの世代交代への取り組み
 
今、おさえておきたい DevOps
今、おさえておきたい DevOps 今、おさえておきたい DevOps
今、おさえておきたい DevOps
 
夏サミ2013【A1】基礎からわかるDevOps
夏サミ2013【A1】基礎からわかるDevOps夏サミ2013【A1】基礎からわかるDevOps
夏サミ2013【A1】基礎からわかるDevOps
 
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
XP祭り2019 - 日立・ソフトウェア革新部会 ~会社を越境する社内コミュニティ~
 
20171129 01 講演資料_チームレベル agile からエンタープライズ dev_ops へ
20171129 01 講演資料_チームレベル agile からエンタープライズ dev_ops へ20171129 01 講演資料_チームレベル agile からエンタープライズ dev_ops へ
20171129 01 講演資料_チームレベル agile からエンタープライズ dev_ops へ
 
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのかDeveloper's summit 2021 [19-D-5]なぜ今、ローコードなのか
Developer's summit 2021 [19-D-5]なぜ今、ローコードなのか
 
Future Tech Night Agile勉強会 20210709
 Future Tech Night Agile勉強会 20210709 Future Tech Night Agile勉強会 20210709
Future Tech Night Agile勉強会 20210709
 
Devsumi summer 2013_b2_share
Devsumi summer 2013_b2_shareDevsumi summer 2013_b2_share
Devsumi summer 2013_b2_share
 
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
 
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
国産業務PaaSを担いで稼ぐ方法 ~SIerの生き残る道の1つとなるか? ~
 
Atlassian Summit US 2017 #augj
Atlassian Summit US 2017 #augjAtlassian Summit US 2017 #augj
Atlassian Summit US 2017 #augj
 
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬る【17-D-1】今どきのアーキテクチャを現場の立場で斬る
【17-D-1】今どきのアーキテクチャを現場の立場で斬る
 
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
[TL12] "炎上案件ストッパー"はかく語りき 「プロジェクトの成果をあげるために意識した一つの事」
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
 
[ギルドワークス社イベント]〜DXを実現するためにユーザ企業とSI企業が今すぐとるべき3つのステップ〜(ボーナス版)
[ギルドワークス社イベント]〜DXを実現するためにユーザ企業とSI企業が今すぐとるべき3つのステップ〜(ボーナス版)[ギルドワークス社イベント]〜DXを実現するためにユーザ企業とSI企業が今すぐとるべき3つのステップ〜(ボーナス版)
[ギルドワークス社イベント]〜DXを実現するためにユーザ企業とSI企業が今すぐとるべき3つのステップ〜(ボーナス版)
 

Ähnlich wie チーム開発におけるDevとOpsのプラクティス

CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
Yuki Ando
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
Cybozucommunity
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
裕貴 荒井
 
Changing Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile DevelopmentChanging Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile Development
Taiji Tsuchiya
 
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
ShoKitawaki
 
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
満徳 関
 

Ähnlich wie チーム開発におけるDevとOpsのプラクティス (20)

Base 20141011 1_for_slideshre
Base 20141011 1_for_slideshreBase 20141011 1_for_slideshre
Base 20141011 1_for_slideshre
 
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
第25回 #TFSUG ノウハウお伝えします! 鉄人から学ぶ TFS セミナー編 - イマドキのチーム開発を支えるプロセスとは?
 
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
 
プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜
プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜
プロセスの過去から未来への物語 〜イマドキのチーム開発を支えるプロセスとは?〜
 
基調講演「データのグループウェア化」
基調講演「データのグループウェア化」基調講演「データのグループウェア化」
基調講演「データのグループウェア化」
 
Ossを使ったazureでのdev ops
Ossを使ったazureでのdev opsOssを使ったazureでのdev ops
Ossを使ったazureでのdev ops
 
チームで開発を行う上の心構え
チームで開発を行う上の心構えチームで開発を行う上の心構え
チームで開発を行う上の心構え
 
BPStudy#101発表資料
BPStudy#101発表資料BPStudy#101発表資料
BPStudy#101発表資料
 
SIerとクラウドの付き合い方
SIerとクラウドの付き合い方SIerとクラウドの付き合い方
SIerとクラウドの付き合い方
 
ndsと要求開発
ndsと要求開発ndsと要求開発
ndsと要求開発
 
企業の生産性とクラウドの活用_202205.pptx
企業の生産性とクラウドの活用_202205.pptx企業の生産性とクラウドの活用_202205.pptx
企業の生産性とクラウドの活用_202205.pptx
 
Changing Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile DevelopmentChanging Infrastructure operation by DevOps And Agile Development
Changing Infrastructure operation by DevOps And Agile Development
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
 
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
スクラムチームの立ち上げから複数フィーチャーチームへのスケーリングに至るまで(Scrum Fest Mikawa 2020)
 
DX認定制度システム開発裏話:技術編
DX認定制度システム開発裏話:技術編DX認定制度システム開発裏話:技術編
DX認定制度システム開発裏話:技術編
 
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
 
Developer Summit Summer 2013 C1セッション CA Technologies
Developer Summit Summer 2013 C1セッション CA TechnologiesDeveloper Summit Summer 2013 C1セッション CA Technologies
Developer Summit Summer 2013 C1セッション CA Technologies
 
Ti dd force09
Ti dd force09Ti dd force09
Ti dd force09
 
【Webinar-Slide】DataBridgeとは
【Webinar-Slide】DataBridgeとは【Webinar-Slide】DataBridgeとは
【Webinar-Slide】DataBridgeとは
 
Oracle ERP Cloud
Oracle ERP CloudOracle ERP Cloud
Oracle ERP Cloud
 

チーム開発におけるDevとOpsのプラクティス

  • 1. チーム開発におけるDevとOpsのプラクティス - Tech-on Meet Up #7 - Copyright © 2019 KDDI Corporation. All Rights Reserved プラットフォーム開発本部 アジャイル開発センター 廣田 翼
  • 2. 自己紹介 Copyright © 2019 KDDI Corporation. All Rights Reserved 技術統括本部 プラットフォーム開発本部 アジャイル開発センター 様々なサービス/システムの開発を担当 1 廣田 翼 Hirota Tsubasa ネットワークスペシャリスト
  • 3. アジェンダ 1. はじめに 2. チーム開発と運用の課題 3. 継続的障害訓練のススメ 4. まとめ Copyright © 2019 KDDI Corporation. All Rights Reserved 2
  • 4. はじめに Copyright © 2019 KDDI Corporation. All Rights Reserved 3 KDDIでは、開発と運用で組織が分かれています。 この場合に、チーム開発を行う上で様々な課題に直面し、 1つずつ解決していきました。 本セッションでは開発と運用の異なる組織が、1つのサー ビス成功というゴールに向かうために行ってきたプラク ティスを紹介いたします。
  • 5. チーム開発と運用の課題 Copyright © 2019 KDDI Corporation. All Rights Reserved 4
  • 6. チーム開発と運用の課題 Copyright © 2019 KDDI Corporation. All Rights Reserved 5 ❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う ❏ 開発と運用とでシステムの考え方にギャップがある ❏ 現代のシステムは分散化され複雑である
  • 7. チーム開発と運用の課題 Copyright © 2019 KDDI Corporation. All Rights Reserved 6 ❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う ❏ 開発と運用とでシステムの考え方にギャップがある ❏ 現代のシステムは分散化され複雑である
  • 8. チーム開発と運用の課題 Copyright © 2019 KDDI Corporation. All Rights Reserved 7 ❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う 開発者 運用者 監視もリリースも 自動化したい 監視統合システムに 沿うようにしたい システム復旧よりも サービス復旧を 障害原因を特定し 再発防止策を まずはユーザストーリ に直結するものを作 ろう 性能、監視要件を 満たそう チーム外の意見は後 回しにせざるを得ない どうしたら運用観点を 早くに注入できるんだ ろう
  • 9. Copyright © 2019 KDDI Corporation. All Rights Reserved 8 ❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う 解決策 ☞ 実際に運用するメンバを開発チームに入れる ☞ 最初から非機能要件の優先度をPOやチームと調整する ☞ 運用も開発チームの一員となり、サービスをより良 くするためのゴールを統一する チーム開発と運用の課題
  • 10. チーム開発と運用の課題 Copyright © 2019 KDDI Corporation. All Rights Reserved 9 ❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う ❏ 開発と運用とでシステムの考え方にギャップがある ❏ 現代のシステムは分散化され複雑である
  • 11. Copyright © 2019 KDDI Corporation. All Rights Reserved 10 ❏ 開発と運用とでシステムの考え方にギャップがある  システム構成要素をペット扱いする  SaaSのSLAへのこだわり  メンテナンスし難い監視設定  リリース承認フローの硬化 チーム開発と運用の課題
  • 12. Copyright © 2019 KDDI Corporation. All Rights Reserved 11  システム構成要素をペット扱いする  SaaSのSLAへのこだわり  メンテナンスし難い監視設定  リリース承認フローの硬化 チーム開発と運用の課題 ❏ 開発と運用とでシステムの考え方にギャップがある
  • 13. Copyright © 2019 KDDI Corporation. All Rights Reserved 12  システム構成要素をペット扱いする、への解決策 Auto Scaling group Availability Zone #1 Availability Zone #2 web app server EC2 instance RDS instance RDS instance standby CloudWatchLogs EC2 instance web app server ログ転送 AWS Management Console 削除 EC2 instance web app server チーム開発と運用の課題 ❏ 開発と運用とでシステムの考え方にギャップがある
  • 14. Copyright © 2019 KDDI Corporation. All Rights Reserved 13  メンテナンスし難い監視設定、への解決策 ↑はALB配下のヘルスチェック カウント数の監視設定のコード チーム開発と運用の課題 ❏ 開発と運用とでシステムの考え方にギャップがある
  • 15. チーム開発と運用の課題 Copyright © 2019 KDDI Corporation. All Rights Reserved 14 ❏ 開発(スクラム)と運用(複数件運用)とでゴールが違う ❏ 開発と運用とでシステムの考え方にギャップがある ❏ 現代のシステムは分散化され複雑である
  • 16. Copyright © 2019 KDDI Corporation. All Rights Reserved 15 ❏ 現代のシステムは分散化され複雑である au でんき チーム開発と運用の課題
  • 17. Copyright © 2019 KDDI Corporation. All Rights Reserved 16 au HOME ❏ 現代のシステムは分散化され複雑である チーム開発と運用の課題
  • 18. Copyright © 2019 KDDI Corporation. All Rights Reserved 17 ❏ 現代のシステムは分散化され複雑である  機能や連携先が増減すればシステム の構成要素も変化する  ユーザアクセス傾向も時期により 変化する  システムは変化するべきであり 運用方法も変化するべき チーム開発と運用の課題
  • 19. Copyright © 2019 KDDI Corporation. All Rights Reserved 18  機能や連携先が増減すればシステムの構成要素も変化する ☞ 各コンポーネント障害が全体に及ぼす影響を把握できない  ユーザアクセス傾向も時期により変化する サービスイン前の重厚なテストはアクセス傾向が変われば無意 味になる ☞  システムは変化するべきであり運用方法も変化するべき ☞ 継続的に運用方法を見直すことが必要 チーム開発と運用の課題
  • 20. 継続的障害訓練のススメ Copyright © 2019 KDDI Corporation. All Rights Reserved 19
  • 21. 継続的障害訓練のススメ Copyright © 2019 KDDI Corporation. All Rights Reserved 20  障害訓練によってシステムの 弱点を把握し、対策できる  運用スキームの弱点も同様  継続的に行うことでシステム の変化に追随する
  • 22. Copyright © 2019 KDDI Corporation. All Rights Reserved 21 ❏ 障害はプラットフォームからサーバ、NW、DB と全域に対して発生させたい ❏ 障害はGUIで発生させて、状況を可視化したい ❏ 複数障害パターンを記憶して簡単に障害を発生 させたい。自動化したい。 継続的障害訓練のススメ
  • 23. Copyright © 2019 KDDI Corporation. All Rights Reserved 22 ❏ 障害はプラットフォームからサーバ、NW、DB と全域に対して発生させたい ❏ 障害はGUIで発生させて、状況を可視化したい ❏ 複数障害パターンを記憶して簡単に障害を発生 させたい。自動化したい。 継続的障害訓練のススメ 障害訓練を簡単に行える ツールを導入しました
  • 26. Gremlin  リソース障害 • CPU:高負荷 • メモリ:領域占有 • IO:読み/書きを実施 • ディスク:書き込み  ネットワーク障害 • ブラックホール:指定したNWトラフィックをドロップ • 遅延:外向きのNWトラフィックを遅延させる • パケットロス:外向きのNWトラフィックをパケットロスさせる • DNS:DNSヘのアクセスをブロックする  ステート障害 • シャットダウン:OSを再起動または停止する • タイムトラベル:ホストのシステム時間を変更する • プロセスキル:特定のプロセスをキルする 2 5
  • 27. 障害訓練の内容 Copyright © 2019 KDDI Corporation. All Rights Reserved 26 対象環境 対象設備 障害内容 auHOME Staging (複数プロジェクトで実施) ・APIサーバ ・踏み台サーバ ・など 計9台 ・メモリ負荷 ・時刻同期の解除 ・DBアクセスを遅延させる ・AWSリソースアクセスを70%失敗 ・外部システムアクセスを70%失敗 ・内部間アクセスを70%失敗  訓練は基本、開発チームと運用(障害対応チーム)と合同で実施した  障害対応者には何の障害をいつ発生させるかは伝えない  実際に障害が発生したと想定して障害対応する
  • 28. 訓練参加者の声 Copyright © 2019 KDDI Corporation. All Rights Reserved 27 どの障害が起こる か不明なので現実 に近い 復旧対応に慣れて いないため時間が かかった 被疑箇所特定に はシステム構成を 理解する必要があ る 何も障害対応が出 来ないことが分かっ た アプリの不具合しか対 応出来ないことが分 かった APMツールの有効 性に気付いた 手順書の判断に 時間がかかった 復旧対応の順番を改 善することでよりサー ビス影響のないもの へと改善できた 開発 運用
  • 29. 障害訓練の効果 Copyright © 2019 KDDI Corporation. All Rights Reserved 28 ❏ 各コンポーネント障害時のユーザ影響が分かる ❏ 障害手順の不備の修正や改善ができる ❏ 実際の障害状況に近い環境で訓練できる ❏ システムを改善できる機会が得られる
  • 30. まとめ Copyright © 2019 KDDI Corporation. All Rights Reserved 29
  • 31. Copyright © 2019 KDDI Corporation. All Rights Reserved 30 ❏ 運用要件もユーザストーリと同等に優先順位を付 けるために運用観点を持ったメンバを活用する ❏ チーム開発に適した運用方法をチーム内で確立し、 運用もクラウドやコード化の恩恵にあずかる ❏ 強硬化しがちな運用監視プラクティスをツールを 用いて柔軟にし、サービス品質を向上させる まとめ