ミッション:
メガクラウドを安全にアップデートせよ!
「何もしてないのに壊れた」が許されない世界で
真壁 徹
日本マイクロソフト株式会社
2020/07/29
Cloud Operator Days Tokyo 2020
自己紹介
apiVersion: selfIntroduction/v1
name: “真壁 徹(まかべ とおる)”
company:
name: “日本マイクロソフト株式会社”
role: “クラウド ソリューションアーキテクト”
education:
name: “国立大学法人 北陸先端科学技術大学
院大学 先端科学技術研究科 先端科学技術専攻
情報科学系 セキュリティ・ネットワーク領域 博士前期
課程 東京社会人コース (在学中)”
displayName: “JAIST M2 篠田研”
お伝えしたいこと
Azureの信頼性を向上する取り組みと仕組み
メガクラウドが止まる時
安全にアップデート/アップグレードするための技術と運用
最新の論文を交え
信頼性向上の取り組みと仕組み
Azure
ミッション : メガクラウドを安全にアップデートせよ!
ミッション : メガクラウドを安全にアップデートせよ!
Foundation & Features
Azure Resiliency
60+ 130K+ 160+ 200+
Regions
worldwide
Miles of fiber
and subsea cable
Edge
sites
ExpressRoute
partners
ミッション : メガクラウドを安全にアップデートせよ!
可用性向上の選択肢 (仮想マシンの例)
Single VM
別サーバーで再起動
VM SLA
99.9%
(with Premium Storage)
Availability sets
配置サーバーのラックや共有シャーシ
を分離
Availability zones
配置サーバーのデータセンターを分
離
Region pairs
東日本/西日本など十分な距離のペア
地域災害にも耐えうる
VM SLA
99.95%
VM SLA
99.99%
Regions
60+
ミッション : メガクラウドを安全にアップデートせよ!
Project Tardigrade
ホストのクラッシュからもVMを保護する
Host platform Host platformHost platform
従来 Tardigrade
VM 1 VM 2 VM 3 VM 1 VM 2 VM 3
Host platform
VM 1 VM 2 VM 3
https://www.youtube.com/watch?v=S2zguwKvlQk (12:00~)
With Your Application
Azure Resiliency
Daily active users
75M+
daily active
users
200M+
daily meeting
participants
4.1B
daily meeting
minutes
Jul 2019 Nov 2019 Mar 2020 Apr 2020
13M
20M
32M
44M
75M
IC3 Office Azure Teams
Microsoft Teams architecture on Azure
SMTPEmail
Clients
Teams graph service Exchange Search Push notifications Notifications Feeds Cache writer
Information
protectionGraph webhook
OneNote
WAC
OneDrive
SharePoint
Experimentation
MRU
Exchange
Calling and
meeting services
Chat and presence
services
Publish and subscribe Stream recording
Core team
services
Teamsの回復性を高める取り組み
回復性を高めるアーキテクチャーとアプリケーション設計
グローバル アクティブ/アクティブ負荷分散と冗長化
回復性最適化キャッシュ
(Time To LiveとTime To Refreshのバランス)
クラウドデザインパターンの適用
(サーキットブレイカー、バルクヘッド隔離、APIレート制限、指数
バックオフ再試行など)
意図的な機能縮退
(過負荷時にチャットの”入力しています…”表示は無効にする、など)
Advancing Microsoft Teams on Azure—operating at pandemic scale
高い回復性を持つシステムの設計を助ける情報源
Azure アーキテクチャセンター
https://docs.microsoft.com/ja-jp/azure/architecture/
メガクラウドの
主要な停止要因
CloudHarmony CloudSquare Service Status [2020/06/24]
サービス停止は印象に残りやすいが
メガクラウドのSLA(*)は99.9X%/月の水準
かつ、通常は SLA < 実績値
客観的に評価、判断を
(*)仮想マシンやコンテナーなど
Compute系サービス
とはいえサービス停止がないわけではない
では、主な要因は?
Why does the cloud stop
computing? Lessons from
hundreds of service outages
Proceedings of the 7th ACM Symposium on Cloud Computing,
SoCC 2016
変化・変更
Azureの1日あたりのロールアウトタスク数
ロールアウト = 新機能追加、設定変更、パッチ適用などの変更作業
(2019/6~8)
いかに変更管理を行うか?
ミッション : メガクラウドを安全にアップデートせよ!
最新の技術的挑戦
NSDI ‘20での発表論文から
Gandalf: An Intelligent, End-To-End Analytics Service for Safe
Deployment in Large-Scale Cloud Infrastructure
Rex: Preventing Bugs and Misconfiguration in Large Services Using
Correlated Change Analysis
SelfStarter: Finding Network Misconfigurations by Automatic
Template Inference
Gandalf
ロールアウト中の問題を検知し、影響を局所化する
段階的ロールアウトだけでは不十分
慎重、段階的にロールアウトしても、本番で見つかる問題がある
インフラストラクチャの多様性
(ハードウェアの供給者、世代、規模、組み合わせなど)
ユーザーワークロードの多様性
(ユーザーのアプリケーションと利用リソース)
時間の経過やタイミング
(メモリ割当/開放やリソース競合など)
ロールアウト中に問題を検知し、止める
機械学習を活用した異常(アノマリー)検知
テスト環境での検証
段階的ロールアウト戦略
個々のコンポーネントでの
不具合検知
環境全体でのアノマリー検知
(Gandalf)
個々のコンポーネント
も監視しているが、相
関なしではアラーム量
が膨大になる(APIの一
時的な遅延など)
Gandalf
Gandalfの相関/判断プロセス
Gandalfの効果
Azureでの適用結果
論文公開時18か月運用、分析対象データは8か月分
コントロールプレーンのロールアウトにおいて
高影響インシデント(重大度0-2)につながる不具合を
94.9%の精度で検出し、99.8%に対処できた
(2件の誤アラート、2件の見逃しはあった)
Rex
設定ファイルのプルリク時に漏れを指摘する
設定ファイルはひとつとは限らない
サービスの追加や変更において、複数の設定ファイルの編集が必要になりがち
existingservice1-rule
existingservice2-rule
existingservice3-rule
newservice-rule
existingservice1-rule
existingservice2-rule
existingservice3-rule
newservice-rule
existingservice1
existingservice2
existingservice3
acl load-balancing role-assignment
やってもうた…
Rex
過去の設定変更を学習し、関連する確率の高いファイルの変更確認を提案する
プルリクに対するRexのコメント
このファイルを変更した時は、以
下に挙げたファイルも変更される
ことが多いよ!検討してみて!
学習のためのフィードバック
Rexの評価方法
モデルとデプロイの精度を分けて評価する
検出、提案: 100
True Positive: 80 False Positive: 20
関連ファイルを
変更済み: 72
うっかり
変更漏れ!: 8
モデルの精度
= 80/(80 + 20) = 80%
デプロイの精度
= 8/(8 + 20) = 28.5%
多くの場合、プルリク時には変更者が気づき変更している
そこでモデルの精度の他に、デプロイの精度も算出する
Rexの効果
AzureとO365などマイクロソフトのオンラインサービスでの適用結果
論文公開時14か月運用、対象レポジトリ数は360
対象全体で4926件の設定漏れを指摘
Azureではモデル精度91.25%、デプロイ精度15.38%
False Positiveが含まれる分、デプロイ精度は低く見えがち
精度面では改善の余地は大きいが、事故防止に大きく貢献
SelfStarter
ルーターの誤設定を検証で洗い出す
ルーター設定の検証が難しい理由
「規模が大きく複雑」だけが理由ではない
従来から形式手法への期待があるが、厳密な形式モデルにもとづいた
仕様を作り、維持することはルーター設定の現場では難しい
設定ファイルの単純比較が難しい
(例: IPアドレス)
SelfStarter
役割別にルーターのメタテンプレートを作り、外れ値を検出する
ルーターには役割がある
(コアルーター、集約ルーター、アクセスルーター、etc)
役割別に設定ファイルを汎化してメタテンプレートを作る
メタテンプレートを元に設定ファイルをグループ化し、外れ値を持つ
グループの設定ミスを疑う
SelfStarter (ACL検証の例)
SelfStarter (ACL検証の例)
設定ファイルを汎化、生成した
メタテンプレート
間違ったルールを
持っている可能性が
ある
メタテンプレート
でグループ化
SelfStarterの効果
マイクロソフトのWAN/データセンターネットワークで評価
SelfStarterの効果
既存ネットワークで評価して得られた知見
WANで未知の不要/誤設定が40件検出された
WAN設定はスクリプトと手作業で設定されているが、スクリプトのバ
グと手作業ミスが主な直接的原因
データセンターでは630件検出されたが、問題のない設定
評価対象のデータセンタールーターはソフトウェアによる設定自動化
を徹底しており、段階的設定変更によるタイミング差で外れ値が検出
された
まとめ
お伝えしたかったこと
Azureの信頼性を向上する取り組みと仕組み
メガクラウドの主要な停止要因は故障ではなく変化
安全にアップデート/アップグレードするための技術的挑戦
様々な挑戦が論文で公開されています、ぜひご参考に
© Copyright Microsoft Corporation. All rights reserved.

More Related Content

PPTX
NGINXをBFF (Backend for Frontend)として利用した話
PPTX
Istioサービスメッシュ入門
PDF
Ingressの概要とLoadBalancerとの比較
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
PDF
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
PPTX
世界一わかりやすいClean Architecture
PDF
Dockerを支える技術
PDF
事業が対峙する現実からエンジニアリングを俯瞰する #devlove
NGINXをBFF (Backend for Frontend)として利用した話
Istioサービスメッシュ入門
Ingressの概要とLoadBalancerとの比較
新入社員のための大規模ゲーム開発入門 サーバサイド編
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
世界一わかりやすいClean Architecture
Dockerを支える技術
事業が対峙する現実からエンジニアリングを俯瞰する #devlove

What's hot (20)

PDF
Ingress on Azure Kubernetes Service
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
PDF
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
PDF
ドメイン駆動設計 本格入門
PDF
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
PDF
シリコンバレーの「何が」凄いのか
PDF
AWSでDockerを扱うためのベストプラクティス
PDF
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
PPTX
Azure API Management 俺的マニュアル
PDF
Python におけるドメイン駆動設計(戦術面)の勘どころ
PDF
ドメイン駆動設計 失敗したことと成功したこと
PDF
ユーザーストーリー駆動開発で行こう。
PDF
Dockerfile を書くためのベストプラクティス解説編
PDF
40歳過ぎてもエンジニアでいるためにやっていること
PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
BuildKitの概要と最近の機能
PDF
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
PDF
ドメイン駆動設計のための Spring の上手な使い方
PDF
ユーザーインタビューするときは、どうやらゾンビのおでましさ
Ingress on Azure Kubernetes Service
コンテナ未経験新人が学ぶコンテナ技術入門
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
がんばらなくても C# で Single Page Web アプリケーションが書けてしまう「Blazor」とは
ドメイン駆動設計 本格入門
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
シリコンバレーの「何が」凄いのか
AWSでDockerを扱うためのベストプラクティス
どうする計画駆動型スクラム(スクラムフェス大阪2023 発表資料)
Azure API Management 俺的マニュアル
Python におけるドメイン駆動設計(戦術面)の勘どころ
ドメイン駆動設計 失敗したことと成功したこと
ユーザーストーリー駆動開発で行こう。
Dockerfile を書くためのベストプラクティス解説編
40歳過ぎてもエンジニアでいるためにやっていること
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
BuildKitの概要と最近の機能
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
ドメイン駆動設計のための Spring の上手な使い方
ユーザーインタビューするときは、どうやらゾンビのおでましさ
Ad

Similar to ミッション : メガクラウドを安全にアップデートせよ! (20)

PDF
インフラ廻戦 品川事変 前夜編
PPTX
How to face the Kubernetes ?
PDF
インフラ野郎 Azureチーム at クラウド boost
PDF
20140220 gumistudy cloudformation
PDF
Modernization of IT Infrastructure by Microsoft Azure
PDF
Amazon SageMaker Unified Studioを触ってみた (20250129)
PDF
マルチクラウドってそもそも何?いるの?いらないの? (20201005)
PDF
実例に学ぶ、クラウドネイティブセキュリティの勘所.pdf
PDF
.NET の過去、現在、そして未来
PPTX
クラウドによって 変わった未来
PDF
インフラCICDの勘所
PDF
世界はつながっている!VyOSで実現するマルチリージョン
PPTX
欲しいアプリは自分で作る!経済産業省も認めたPower Appsの威力と可能性
PPTX
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
PPTX
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
PPTX
SORACOM Technology Camp 2018 | 開会宣言
PDF
凄いWordPress2018 contents.nagoya
PDF
[Japan Tech summit 2017] CLD 023
PDF
業界ごとのデータ分析を支援するIBM Data and AI Acceleratorsのご紹介
PDF
IoT のシナリオを変える Azure SQL Edge
インフラ廻戦 品川事変 前夜編
How to face the Kubernetes ?
インフラ野郎 Azureチーム at クラウド boost
20140220 gumistudy cloudformation
Modernization of IT Infrastructure by Microsoft Azure
Amazon SageMaker Unified Studioを触ってみた (20250129)
マルチクラウドってそもそも何?いるの?いらないの? (20201005)
実例に学ぶ、クラウドネイティブセキュリティの勘所.pdf
.NET の過去、現在、そして未来
クラウドによって 変わった未来
インフラCICDの勘所
世界はつながっている!VyOSで実現するマルチリージョン
欲しいアプリは自分で作る!経済産業省も認めたPower Appsの威力と可能性
DevSecOpsのユースケースとDevSecOpsがもたらす未来(20191126)
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
SORACOM Technology Camp 2018 | 開会宣言
凄いWordPress2018 contents.nagoya
[Japan Tech summit 2017] CLD 023
業界ごとのデータ分析を支援するIBM Data and AI Acceleratorsのご紹介
IoT のシナリオを変える Azure SQL Edge
Ad

More from Toru Makabe (20)

PDF
Demystifying Identities for Azure Kubernetes Service
PDF
Azure Blueprints - 企業で期待される背景と特徴、活用方法
PDF
俺の Kubernetes Workflow with HashiStack
PDF
Resilience Engineering on Kubernetes
PDF
俺とHashiCorp
PDF
Real World Azure RBAC
PDF
Azure Kubernetes Service 2019 ふりかえり
PDF
インフラ野郎AzureチームProX
PDF
NoOps Japan Community 1st Anniversary 祝辞
PDF
ZOZOTOWNのCloud Native Journey
PDF
Ops meets NoOps
PDF
Essentials of container
PDF
ダイ・ハード in the Kubernetes world
PDF
半日でわかる コンテナー技術 (応用編)
PDF
インフラエンジニア エボリューション ~激変する IT インフラ技術者像、キャリアとスキルを考える~ at Tech Summit 2018
PDF
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
PDF
半日でわかる コンテナー技術 (入門編)
PDF
NoOps?よろしいならば戦争だ
PDF
Terraform Bootcamp - Azure Infrastructure as Code隊
PDF
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018
Demystifying Identities for Azure Kubernetes Service
Azure Blueprints - 企業で期待される背景と特徴、活用方法
俺の Kubernetes Workflow with HashiStack
Resilience Engineering on Kubernetes
俺とHashiCorp
Real World Azure RBAC
Azure Kubernetes Service 2019 ふりかえり
インフラ野郎AzureチームProX
NoOps Japan Community 1st Anniversary 祝辞
ZOZOTOWNのCloud Native Journey
Ops meets NoOps
Essentials of container
ダイ・ハード in the Kubernetes world
半日でわかる コンテナー技術 (応用編)
インフラエンジニア エボリューション ~激変する IT インフラ技術者像、キャリアとスキルを考える~ at Tech Summit 2018
インフラ野郎 Azureチーム v18.11 at Tech Summit 2018
半日でわかる コンテナー技術 (入門編)
NoOps?よろしいならば戦争だ
Terraform Bootcamp - Azure Infrastructure as Code隊
帰ってきた インフラ野郎 Azureチーム ~Azure データセンターテクノロジー解体新書2018春~ - de:code2018

Recently uploaded (12)

PPTX
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
PDF
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
PDF
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
PDF
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
PDF
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
PDF
Working as an OSS Developer at Ruby Association Activity Report 2025
PPTX
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
PDF
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
PDF
20250823_IoTLT_vol126_kitazaki_v1___.pdf
PPTX
Vibe Codingを触って感じた現実について.pptx .
PDF
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION
生成AIとモデルベース開発:実はとても相性が良いことを説明します。まあそうだろうなと思われる方はご覧ください。
ココロ分解帳|感情をやさしく分解し自分と他者を理解するためのモバイルノートアプリ
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual...
20250826_Devinで切り拓く沖縄ITの未来_AI駆動開発勉強会 沖縄支部 第2回
翔泳社 「C++ ゼロからはじめるプログラミング」対応 C++学習教材(三谷純)
Working as an OSS Developer at Ruby Association Activity Report 2025
Cosense - 整えずして完全勝利!Cosenseが他のwikiツールと違う理由
Geminiの出力崩壊 本レポートは、Googleの大規模言語モデル「Gemini 2.5」が、特定の画像と短文入力に対して、誤った地名を推定し、最終的に...
20250823_IoTLT_vol126_kitazaki_v1___.pdf
Vibe Codingを触って感じた現実について.pptx .
Yamaha DT200WR Real Enduro ENGINE CYLINDER TRANSMISSION

ミッション : メガクラウドを安全にアップデートせよ!