SlideShare a Scribd company logo
インフラ廻戦 品川事変 前夜編
細か過ぎて伝わらないかもしれない話で領域展開
真壁 徹
日本マイクロソフト株式会社
2021/06/28
Azure Infra Day 前夜祭 - MSTechNight #13
自己紹介
apiVersion: selfIntroduction/v1
name: “真壁 徹(まかべ とおる)”
company:
name: “日本マイクロソフト株式会社”
role: “クラウド ソリューションアーキテクト”
お伝えしたいこと
ごぶさたの理由
最近の面白ネタ
最近の関心事
ごぶさたの理由
Azureインフラトーク夜会は 2019/11のMS Tech Night以来です
働きながら大学院で研究しておりました
おかげさまで 修士号をいただきました
国立 北陸先端科学技術大学院大学(JAIST)
情報科学系 セキュリティ・ネットワーク領域
領 域 展 開
さあ帳を下すぞ という感じであります
セキュリティ・ネットワーク領域
JAIST 北陸先端科学技術大学院大学
最近の面白ネタ
大学院の研究で感じたこと
わたしが思いつくような研究ネタは、
だいたい誰かが先にやっている
特に Microsoft Research
Search - Microsoft Research
Research Areas: Systems and networking
論文はいいぞ
審美眼を磨く
そこにサービス仕様やTipsは書いてありません
今日明日の仕事に直接役立たないかもしれません
ですが、先端の技術的課題(例: クラウドの中で起こっていること)を
客観的なデータ、過去からの知の積み上げとともに知ることは
仕事での技術選定、設計や実装における判断の支えになります
※中身を想像しながらニヤニヤするだけでも 楽しい
Microsoft Research/Azure関連
論文から 3つほどご紹介
オーバークロック? ガッと冷やせばいいじゃない
Cost-Efficient Overclocking in Immersion-Cooled Datacenters
液浸冷却 その先にある取り組み
オーバークロックで性能上限と集
約率を上げたい
オーバークロックのトレードオフ
(消費電力、安定性、寿命)を液浸冷
却で解決できるのでは
オーバークロックの効果がある
ワークロードを見極めたい
液浸
ワークロード別の効果(性能)
ワークロードによって得られる効果と伸び率、負の影響(消費電力)に差がある
CPU
GPU(機械学習)
データセンタ間ってどう繋いでるの?課題は?
Beyond the mega-data center: networking multi-data center regions
Azureリージョンは複数の可用性ゾーン、データセンタで構成
データセンタ間をいかに接続するか?
ハブでつなぐ?メッシュにする?マルチハブ?
様々な課題、視点と解決のための設計と技術(光スイッチングなど)
この論文を読んだ後、パケットの気持ちになってAzureを触るとと
ても楽しい
どんなスイッチが使われ、どんな壊れ方をしたか
Surviving switch failures in cloud datacenters
マイクロソフトが保有する180,000
台超のスイッチで調査
3か月の調査期間で4,681台のス
イッチが故障 (約2%)
原因はベンダーによって様々
同じハードで比較すると、ベンダ
製ネットワークOSよりSONiCの故
障が少ない
Microsoft Does The Math On Azure Datacenter
Switch Failures (nextplatform.com)
他にもグッとくる論文は多いのですが
時間の都合により 今日はここまで
またやりましょう
いい論文を見つけたら教えてください
最近の関心事
インフラのリファクタリング
言うは易し 行うは難し
構築中/後に、どんどん新しいインフラ機能やサービスが提供される
コスト削減、運用簡素化、リスク軽減、セキュリティレベル向上、etc
しかし能動的に採用、リファクタリングの必要があるものも多い
リリース後も継続開発、投資するプロジェクトでは、取り組みやすい
そうでないプロジェクトは… どうするか?
うまいやり方を、もっと議論、共有したい
(やり方がイメージできれば、計画、予算が立てやすくなる)
クラウド導入フレームワークでの言及
ランディングゾーンのリファクター
Infrastructure as Codeによって、
環境構築作業は楽に、再現性高く
なった
そのコードをいかにリファクタリ
ングするか
組織視点、実施タイミングと学習
曲線に触れており、しみじみと参
考になる
最重要課題は おそらくテスト
アプリ開発におけるTDDのようなことを、インフラでも可能か
動いているインフラをリファクタ
リングするなら、既存環境への影
響を検証しなければならない
多くの現場で、インフラ構築後の
テストは未だ手作業で高コスト
テストを容易に実行できなければ、
リファクタリングの敷居は高い
ソフトウェアのテストピラミッド
ユニットテストの重要性
Small
(Unit)
Medium
(Integration/Service)
Large
(UI/E2E)
コードを変更したら、他の要素とは独立
して、素早くテストをする
内部の質に関するフィードバックを素早
く得る
変更部だけでなく既存コードへの影響を
確認する
手法やツールは多く存在(それを標準機能
として持つプログラミング言語もある)
か
か
る
手
間
や
時
間
ピラミッドを支える
ユニットテストをしっかりやろう!
インフラのテストピラミッド?
ユニットテストが悩ましい
Small
(Unit)
Medium
(Integration/Service)
Large
(System/E2E)
Network Storage
VM
Managed
Services
例えば VM設定の
変更テストに
必要なリソースは…
• テスト対象の他に依存するリソースが必要
• 多くのリソースはモックやスタブで代替できない
• それぞれのリソース作成に時間がかかる
• 常時テスト環境を動かしておく手はあるが、コスト
とのトレードオフ
• つまり、素早く頻繁なユニットテストが難しい
• 結果や影響が明白なケースでも都度ユニットテスト
すべき?(同サブネットでのIPアドレス変更やディス
クサイズ増減など)
インフラのテストダイヤモンド
Small
(Offline)
Medium
(Stack)
Large
(System/E2E)
Infrastructure as Code, 2nd Edition – O’Reilly
コードの文法検証など、リソース作成
を伴わず、素早く頻繁に実施
(例: terraform validate/plan)
本番環境監視のサブセットを用意し、
テストを効率化する
外形監視、ヘルスチェックエンドポイ
ントの有無が実現性に大きく影響
(参照)コンセプト
テスト可能な依存リソースをまとめた「ス
タック」単位でテストを実施
テスト、再現しやすいスタックを作ること
で、迅速な復旧や容易な横展開など、本番
環境にも好影響がある
スイスチーズ テスティングモデル
それぞれのテストには漏れがあるかもしれないが 多層でリスクを検知する
Infrastructure as Code, 2nd Edition – O’Reilly
(参照)コンセプト
Offline
Tests
Stack
Tests
System
Tests
Alerts
リ
ス
ク
ツールは徐々に充実
Azure のランディング ゾーン用のテスト駆動開発
テストの苦労はツールだけでは解
決しないが、大きく影響
特にPolicyとResource Graphは「リ
ソースが望む状態に作られた/設定
された」かを検証(verification)する
ために強力なツール
でも、Policy自体のテストが面倒
だったり、Resource Graphクエリ
を手打ちしていたり、が現状
verificationを支えるツール、やり口
ここを整備しないと テストは楽にならない
Terratest
Terraform使いでGoが書ける場合 有力な選択肢
未対応リソースがあった場合の対応方針は要検討
(自ら開発するか、プルリクがタイムリーにマージされやすいか、など)
InSpec
Rubyで書かれている
Terratestと同様、未対応リソースがあった場合の対応方針は要検討
Resource Graph APIを叩くツールを自作
AzureのAPIを叩くアプリを作れるなら、それほど難しくない
試しに作ってみた: ToruMakabe/azverify (github.com)
(JSONで、あるべきリソースの状態を定義し、実際のリソースと照合する)
ぼちぼち世の中も落ち着きそうなので
ぜひ議論、共有していきましょう
まとめ
お伝えしたかったこと
ごぶさたしておりました 修行しておりました
論文はいいぞ
テストは重要 今後も議論、共有したいですね
© Copyright Microsoft Corporation. All rights reserved.

More Related Content

PDF
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
PDF
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
PDF
インフラ野郎 Azureチーム at クラウド boost
PDF
インフラCICDの勘所
PDF
Ingress on Azure Kubernetes Service
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
細かすぎて伝わらないかもしれない Azure Container Networking Deep Dive
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
インフラ野郎 Azureチーム at クラウド boost
インフラCICDの勘所
Ingress on Azure Kubernetes Service

What's hot (20)

PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
PDF
Infrastructure as Code (IaC) 談義 2022
PDF
単なるキャッシュじゃないよ!?infinispanの紹介
PDF
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
PPTX
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
PDF
SQL大量発行処理をいかにして高速化するか
PDF
最近のOpenStackを振り返ってみよう
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
PDF
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
PPTX
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
PPTX
Azure API Management 俺的マニュアル
PPTX
「おうちクラウド」が今熱い!
PDF
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
PDF
DockerとPodmanの比較
PPTX
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
PDF
Ingressの概要とLoadBalancerとの比較
PPTX
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
PDF
Azure Monitor Logで実現するモダンな管理手法
PDF
AWSのログ管理ベストプラクティス
PDF
マルチテナントのアプリケーション実装〜実践編〜
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Infrastructure as Code (IaC) 談義 2022
単なるキャッシュじゃないよ!?infinispanの紹介
20191120 AWS Black Belt Online Seminar Amazon Managed Streaming for Apache Ka...
大規模データ活用向けストレージレイヤソフトのこれまでとこれから(NTTデータ テクノロジーカンファレンス 2019 講演資料、2019/09/05)
SQL大量発行処理をいかにして高速化するか
最近のOpenStackを振り返ってみよう
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
CyberAgentのプライベートクラウド Cycloudの運用及びモニタリングについて #CODT2020 / Administration and M...
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure API Management 俺的マニュアル
「おうちクラウド」が今熱い!
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
DockerとPodmanの比較
Knative Eventing 入門(Kubernetes Novice Tokyo #11 発表資料)
Ingressの概要とLoadBalancerとの比較
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
Azure Monitor Logで実現するモダンな管理手法
AWSのログ管理ベストプラクティス
マルチテナントのアプリケーション実装〜実践編〜
Ad

Similar to インフラ廻戦 品川事変 前夜編 (20)

PDF
ミッション : メガクラウドを安全にアップデートせよ!
PPTX
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのか
PDF
Azure Network Security Group(NSG) はじめてのDeep Dive
PDF
Microsoft Intelligent Edge Technologies
PPTX
SORACOM Technology Camp 2018 | 開会宣言
PPTX
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
PPTX
Agile Japan 2016 | アジャイルなIoTプラットフォーム開発
PDF
IBM Cloud にも「ボタンの欲望」を!ボタンの活用事例と動かし方 / IBM Cloud Community Summit 2019.04
PDF
decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!
PDF
IoT Cyber Security Counter Measurement
PPTX
ドライブレコーダの画像認識による道路情報の自動差分抽出
PPTX
Osc spring 20220311
PDF
【最新版誘導用】駅すぱあとWebサービス&sakura.io体験ハンズオン
PDF
SecHack365の紹介
PDF
#LDD13is LT: OSSで大学向けWebシステムを作ったおはなし
PDF
実例に学ぶ、クラウドネイティブセキュリティの勘所.pdf
PDF
.NET の過去、現在、そして未来
PDF
Microsoft Intelligent Edge Technologies
PDF
20201204 aws inter-region-network
PDF
Amazon Inspector v2で脆弱性管理を始めてみた
ミッション : メガクラウドを安全にアップデートせよ!
SRE Lounge #8 | ソラコムAPIの裏側で運用チームは何をやってきたのか
Azure Network Security Group(NSG) はじめてのDeep Dive
Microsoft Intelligent Edge Technologies
SORACOM Technology Camp 2018 | 開会宣言
10/2勉強会資料 ~IaaSを知る前にサーバを知ろう~
Agile Japan 2016 | アジャイルなIoTプラットフォーム開発
IBM Cloud にも「ボタンの欲望」を!ボタンの活用事例と動かし方 / IBM Cloud Community Summit 2019.04
decode2016振り返り Azure IaaSなどインフラ系8セッションのポイントについて語ります!
IoT Cyber Security Counter Measurement
ドライブレコーダの画像認識による道路情報の自動差分抽出
Osc spring 20220311
【最新版誘導用】駅すぱあとWebサービス&sakura.io体験ハンズオン
SecHack365の紹介
#LDD13is LT: OSSで大学向けWebシステムを作ったおはなし
実例に学ぶ、クラウドネイティブセキュリティの勘所.pdf
.NET の過去、現在、そして未来
Microsoft Intelligent Edge Technologies
20201204 aws inter-region-network
Amazon Inspector v2で脆弱性管理を始めてみた
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

インフラ廻戦 品川事変 前夜編