Movatterモバイル変換


[0]ホーム

URL:


Etsuji Nakai, profile picture
Uploaded byEtsuji Nakai
PDF, PPTX22,520 views

Googleのインフラ技術から考える理想のDevOps

デブサミ2017で発表予定の資料です。http://event.shoeisha.jp/devsumi/201702162017/02/14 ver1.0 公開

Embed presentation

Download as PDF, PPTX
Google confidential | Do not distributeGoogle のインフラ技術から考える理想の DevOpsEtsuji NakaiCloud Solutions Architect at Google2017/02/14 ver1.0
$ who am i▪Etsuji NakaiCloud Solutions Architect at GoogleTwitter @enakai00好評発売中
DevOps を支える隠された視点
そもそも DevOps って何でしたっけ?▪ 開発チームと運用チームが一緒に会議すること?▪ 開発チームが運用までやっちゃうこと?▪ 運用チームがコードを書いて開発すること?https://ja.wikipedia.org/wiki/DevOpshttp://itpro.nikkeibp.co.jp/article/COLUMN/20131113/517746/http://www.atmarkit.co.jp/ait/articles/1307/02/news002.html
Site Reliability Engineer▪ Google の運用チームの名称●開発者と同じスキルセット+インフラの知識●運用作業 + 運用効率を改善するためのコード開発●運用作業は、業務時間の 50% 以下に制限
Google が開発した分散ソフトウェア技術の例▪ 全世界のデータセンターで共通化されたインフラの提供▪ スケーラブルで運用効率性の高いアプリケーションを実現する機能を提供▪ インフラを隠蔽して、アプリケーションレベルでの開発/管理に集中
公開論文から読み解くインフラ技術の「思想」▪ 「謎技術」の実体は、徹底的な合理主義 ▪ 「技術的制約」に対する恐ろしいほどの洞察力●この制約を受けいれることが何が可能になるのか?●この制約を打破することで何が可能になるのか?https://research.google.com/pubs/papers.htmlhttp://www.school.ctc-g.co.jp/columns/nakai2/
理想の DevOps を実現するための隠された視点▪ レイヤーごとの責任分界点を明確にすることで、「本質的でない依存関係」をなくして、全体最適化を実現●無駄な依存関係がないからこそ、インフラ・開発・運用の 3 チームが健全な協力関係を確立可能に▪ その上で「真に重要な依存関係」に叡智を結集●スケーラブルで運用効率性の高いアプリケーションに必要なインフラ技術の提供●運用段階での効率性や安定性、スケーラビリティの確保を前提としたインフラ/アプリケーションの設計基盤開発アプリケーション開発運用
この先生きのこるために・・・▪ インフラを構成するソフトウェアの特性を深く理解して、最適なアプリケーション・アーキテクチャーを見極めることが重要▪ それぞれの技術要素を根本から理解して、システム全体のアーキテクチャーを俯瞰できる能力が必要https://github.com/GoogleCloudPlatform/gke-gobang-app-example http://www.slideshare.net/strsk/google-container-engine-kubernetes●重要なのは、役割ではなく、知識範囲としてのフルスタック
Google が開発したソフトウェア技術の例
Google が開発した基盤技術の例▪ Borg / Omega●コンテナを用いたアプリケーション実行基盤●OS レイヤーを隠蔽して、アプリケーションレベルでの管理に集中●リソーススケジューラーによるアプリケーションデプロイの最適化http://research.google.com/pubs/pub44843.htmlhttp://www.hpts.ws/papers/2015/wilkes.pdf基盤とアプリケーションの明確な責任分界点
Google が開発したデータストア技術の例▪ Google File System / Colossus●分散ファイルシステム●大容量ファイルのシーケンシャルな読み込みと追記処理に特化してチューニング●MapReduce や Bigtable など上位ミドルウェアのバックエンドとして使用▪ Bigtable●行単位アクセスに特化した Key-Value ストア(複数行のトランザクションは非対応)●1 つの行の中に複数のカラムファミリーを用意して複数データを保存●追記処理しかできない GFS の上に高速なデータの書き換え処理を実装!ユースケースの分析に基づいた機能選定技術的制約の打破
Google が開発したデータストア技術の例▪ Megastore●Bigtable をバックエンドとして実装した分散データストア●複数データセンターにまたがるレプリケーションと「エンティティグループ」単位でのトランザクション(強い一貫性を持ったデータアクセス)●実質的に無限のスケーラビリティ(レイテンシーは Bigtable より劣る)▪ Spanner●MegaStore の欠点を克服するために再実装された分散データストア●RDB に類似したテーブル構造と SQL トランザクションを実現●原子時計による時刻同期システムを用いて、分散データベースにおける性能問題を解決技術的制約と機能要件の合理的なトレードオフ技術的制約の打破
Google が開発したデータ処理技術の例▪ MapReduce●Map / Shuffle / Reduce の処理モデルに基づいた分散データ処理基盤▪ FlumeJava●MapReduce を汎化して、より一般的なデータ変換のフローを記述可能にした基盤●最適化された MapReduce を内部的に生成して実行●バッチ型のデータ処理機能を提供▪ MillWheel●ストリームデータの処理基盤●Low Watermark (処理済みイベント時刻)を用いた時系列イベントのトラッキング●イベントデータの永続性と処理の一貫性を基盤レベルで保証制約の受け入れによるスケーラビリティの実現アプリケーションの開発生産性にフォーカスした機能実装
実装とユースケース
Borg / Omega▪ Google のデータセンターで稼働するミドルウェア/アプリケーションの多数が稼働する標準基盤●Web Search●Gmail, Google Docs●Bigtable, MapReduce, FlumeJava, MillWheel●Google File System, Bigtable, Megastore●分散ビルドシステム●Google Compute Engine●etc…▪ OSS として再実装したものが Kuberneteshttps://research.google.com/pubs/pub43438.html
(参考) Colossus について▪ Google File System の後継として開発▪ Google における標準的な分散ファイルシステムとして利用▪ 詳細情報は未公開
Google File System▪ Google におけるファイルアクセスのパターンを分析して仕様を決定●大容量ファイルのシーケンシャルな読み込みと追記処理に特化してチューニング●他の操作(部分書き換えなど)も可能ではあるが、性能は出ない▪ 冗長性の確保などは基盤側で実装●64MB のチャンクに分割して複数サーバーに複製保存●サーバー障害時は自動的に切り替え並列データ処理の結果を受け渡し大容量データの受け渡しhttp://research.google.com/archive/gfs.html
Google File System19チャンクサーバー プライマリセカンダリ セカンダリデータフロークライアントクライアントコントロールフロー▪ データフローを最適化することで書き込み性能を向上●クライアントから複数のチャンクサーバーに対してシリアルにデータ転送●データ受信を開始したチャンクサーバーは、即座に転送を開始●コントロールフローを分離して、チャンクサーバー間のデータ整合性を確保
Bigtable▪ 構造化データを保存するための大規模分散 Key-Value ストア●クローラーが収集した HTML ファイルから、衛星画像ファイルまで大小さまざまなデータを保存●行単位でのアトミックな操作●Row Key の辞書順での高速スキャンhttp://research.google.com/archive/bigtable.html
Bigtable▪ Row Key の一定範囲ごとに Tablet に分割にして、分散アクセスを実現●Tablet の実体はバックエンドの GFS に保存( Tablet サーバーが障害停止しても、他のTablet サーバーが引き継ぎ可能)●イミュータブルな SSTable/memtable と追記型ログファイルの組み合わせにより、 GFS上のファイルに対する追記処理のみで、高速なランダムアクセスを実現
Spanner▪ 複数データセンターにまたがった分散データベース●RDB に類似したテーブル構造とトランザクション機能を実現●すべての書き込みデータにタイムスタンプを付与することで、サーバー間でのデータの整合性を確保( TrueTime API で信頼できる時刻同期の範囲をチェックして、タイムスタンプの値と書き込み間隔を調整)●原子時計と GPS を用いたタイムサーバーにより、高精度な時刻同期を実現http://research.google.com/archive/spanner.html
まとめ
理想の DevOps を実現するための隠された視点▪ レイヤーごとの責任分界点を明確にすることで、「本質的でない依存関係」をなくして、全体最適化を実現●無駄な依存関係がないからこそ、インフラ・開発・運用の 3 チームが健全な協力関係を確立可能に▪ その上で「真に重要な依存関係」に叡智を結集●スケーラブルで運用効率性の高いアプリケーションに必要なインフラ技術の提供●運用段階での効率性や安定性、スケーラビリティの確保を前提としたインフラ/アプリケーションの設計基盤開発アプリケーション開発運用SRE基盤開発チーム決して「謎技術」ではありません!
Google のインフラを一般開放した Google Cloud PlatformVIRTUAL NETWORKLOAD BALANCINGCDNDNSINTERCONNECTManagement Compute Storage Networking DataMachineLearningSTACKDRIVERIDENTITY ANDACCESSMANAGEMENTCLOUD MLSPEECH APIVISION APITRANSLATE APINATURALLANGUAGE API
Thank you!

Recommended

PDF
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
PPTX
Slurmのジョブスケジューリングと実装
PPTX
root権限無しでKubernetesを動かす
PDF
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
PPTX
Docker Tokyo
PDF
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
PDF
Vacuum徹底解説
PDF
10分で分かるLinuxブロックレイヤ
PDF
20230105_TITECH_lecture_ishizaki_public.pdf
PDF
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
PDF
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
PDF
DockerとPodmanの比較
PPTX
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PPTX
Redisの特徴と活用方法について
PDF
1076: CUDAデバッグ・プロファイリング入門
PDF
WebAssemblyのWeb以外のことぜんぶ話す
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
PDF
Ingress on Azure Kubernetes Service
PDF
超実践 Cloud Spanner 設計講座
PDF
Cycloudのストレージ紹介と歴史
PPTX
Dockerからcontainerdへの移行
PDF
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
PDF
"SRv6の現状と展望" ENOG53@上越
PPTX
DockerコンテナでGitを使う
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
PDF
JVMのGCアルゴリズムとチューニング
PPTX
コンテナネットワーキング(CNI)最前線
PDF
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
PDF
リクルート式AIの活用法

More Related Content

PDF
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
PPTX
Slurmのジョブスケジューリングと実装
PPTX
root権限無しでKubernetesを動かす
PDF
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
PPTX
Docker Tokyo
PDF
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
PDF
Vacuum徹底解説
PDF
10分で分かるLinuxブロックレイヤ
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
Slurmのジョブスケジューリングと実装
root権限無しでKubernetesを動かす
DSIRNLP #3 LZ4 の速さの秘密に迫ってみる
Docker Tokyo
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
Vacuum徹底解説
10分で分かるLinuxブロックレイヤ

What's hot

PDF
20230105_TITECH_lecture_ishizaki_public.pdf
PDF
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
PDF
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PDF
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
PDF
DockerとPodmanの比較
PPTX
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
PPTX
Redisの特徴と活用方法について
PDF
1076: CUDAデバッグ・プロファイリング入門
PDF
WebAssemblyのWeb以外のことぜんぶ話す
PDF
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
PDF
Ingress on Azure Kubernetes Service
PDF
超実践 Cloud Spanner 設計講座
PDF
Cycloudのストレージ紹介と歴史
PPTX
Dockerからcontainerdへの移行
PDF
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
PDF
"SRv6の現状と展望" ENOG53@上越
PPTX
DockerコンテナでGitを使う
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
PDF
JVMのGCアルゴリズムとチューニング
PPTX
コンテナネットワーキング(CNI)最前線
20230105_TITECH_lecture_ishizaki_public.pdf
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
DockerとPodmanの比較
分析指向データレイク実現の次の一手 ~Delta Lake、なにそれおいしいの?~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
Redisの特徴と活用方法について
1076: CUDAデバッグ・プロファイリング入門
WebAssemblyのWeb以外のことぜんぶ話す
エンジニアなら知っておきたい「仮想マシン」のしくみ (BPStudy38)
Ingress on Azure Kubernetes Service
超実践 Cloud Spanner 設計講座
Cycloudのストレージ紹介と歴史
Dockerからcontainerdへの移行
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
"SRv6の現状と展望" ENOG53@上越
DockerコンテナでGitを使う
ネットワーク ゲームにおけるTCPとUDPの使い分け
JVMのGCアルゴリズムとチューニング
コンテナネットワーキング(CNI)最前線

Viewers also liked

PDF
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
PDF
リクルート式AIの活用法
PDF
スタディサプリを支えるデータ分析基盤 ~設計の勘所と利活用事例~
PDF
[ICLR2017読み会 @ DeNA] ICLR2017紹介
PDF
170614 iclr reading-public
PDF
ICLR読み会 奥村純 20170617
PDF
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
PDF
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
PDF
Q prop
PPTX
医療データ解析界隈から見たICLR2017
言葉のもつ広がりを、モデルの学習に活かそう -one-hot to distribution in language modeling-
リクルート式AIの活用法
スタディサプリを支えるデータ分析基盤 ~設計の勘所と利活用事例~
[ICLR2017読み会 @ DeNA] ICLR2017紹介
170614 iclr reading-public
ICLR読み会 奥村純 20170617
ICLR2017読み会 Data Noising as Smoothing in Neural Network Language Models @Dena
Semi-Supervised Classification with Graph Convolutional Networks @ICLR2017読み会
Q prop
医療データ解析界隈から見たICLR2017

Similar to Googleのインフラ技術から考える理想のDevOps

PDF
マイクロサービスに至る歴史とこれから - XP祭り2021
PDF
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
PDF
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
PDF
Changing Infrastructure operation by DevOps And Agile Development
PPTX
今さら聞けない人のためのDevOps超入門
PPTX
今さら聞けない人のためのDevOps超入門 2025/2/20 OSC2025 Tokyp/Spring
PPTX
今さら聞けない人のためのDevOps超入門 OSC2024 Online/Fall版
PDF
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
PDF
2023/10/30_CloudOperatorDaysTokyo_開発チームと共に取り組むGCPリソースのGitOps化実践
PDF
Microsoft MVP から見たクラウド サービスの現状と今後について
byIIJ
 
PDF
20120927 findjob4 dev_ops
 
PPTX
今さら聞けない人のためのDevOps超入門
PDF
Developer Summit Summer 2013 C1セッション CA Technologies
 
PPTX
XPFes2023_DevOps business-briefing_Hasegawa
PDF
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
PDF
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
PPTX
今さら聞けない人のためのDevOps超入門 ODC2024 9月7日バージョン
PDF
39 works:ドコモにおける オープンイノベーションプログラムの紹介
PDF
大企業におけるイノベーションはどうやって起こす?@立命館大学
PDF
Ops meets NoOps
マイクロサービスに至る歴史とこれから - XP祭り2021
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
Changing Infrastructure operation by DevOps And Agile Development
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門 2025/2/20 OSC2025 Tokyp/Spring
今さら聞けない人のためのDevOps超入門 OSC2024 Online/Fall版
Googleのインフラ技術に見る基盤標準化とDevOpsの真実
2023/10/30_CloudOperatorDaysTokyo_開発チームと共に取り組むGCPリソースのGitOps化実践
Microsoft MVP から見たクラウド サービスの現状と今後について
byIIJ
 
20120927 findjob4 dev_ops
 
今さら聞けない人のためのDevOps超入門
Developer Summit Summer 2013 C1セッション CA Technologies
 
XPFes2023_DevOps business-briefing_Hasegawa
JAWS FESTA Kansai 2013 | ビジネスに貢献する戦略的なITのためのDevOps
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
今さら聞けない人のためのDevOps超入門 ODC2024 9月7日バージョン
39 works:ドコモにおける オープンイノベーションプログラムの紹介
大企業におけるイノベーションはどうやって起こす?@立命館大学
Ops meets NoOps

More from Etsuji Nakai

PDF
Spannerに関する技術メモ
PDF
TensorFlowプログラミングと分類アルゴリズムの基礎
PDF
TensorFlowで学ぶDQN
PDF
TensorFlowによるニューラルネットワーク入門
PDF
Machine Learning Basics for Web Application Developers
PDF
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
PDF
Deep Q-Network for beginners
PDF
DevOpsにおける組織に固有の事情を どのように整理するべきか
PDF
Googleにおける機械学習の活用とクラウドサービス
PDF
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
PDF
「ITエンジニアリングの本質」を考える
PDF
Using Kubernetes on Google Container Engine
PDF
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
PDF
Your first TensorFlow programming with Jupyter
PDF
Life with jupyter
PDF
Introducton to Convolutional Nerural Network with TensorFlow
PDF
A Brief History of My English Learning
PDF
Lecture note on PRML 8.2
PDF
PRML11.2-11.3
PDF
PRML7.2
Spannerに関する技術メモ
TensorFlowプログラミングと分類アルゴリズムの基礎
TensorFlowで学ぶDQN
TensorFlowによるニューラルネットワーク入門
Machine Learning Basics for Web Application Developers
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
Deep Q-Network for beginners
DevOpsにおける組織に固有の事情を どのように整理するべきか
Googleにおける機械学習の活用とクラウドサービス
Exploring the Philosophy behind Docker/Kubernetes/OpenShift
「ITエンジニアリングの本質」を考える
Using Kubernetes on Google Container Engine
インタークラウドを実現する技術 〜 デファクトスタンダードからの視点 〜
Your first TensorFlow programming with Jupyter
Life with jupyter
Introducton to Convolutional Nerural Network with TensorFlow
A Brief History of My English Learning
Lecture note on PRML 8.2
PRML11.2-11.3
PRML7.2

Googleのインフラ技術から考える理想のDevOps


[8]ページ先頭

©2009-2025 Movatter.jp