devops最前線:webrtc x kubernetes...devops最前線:webrtc x kubernetes...
TRANSCRIPT
Copyright © NTT Communications Corporation. All rights reserved.
DevOps最前線:WebRTC x Kubernetes〜コンテナプラットフォームの活用で、迅速で柔軟なシステム開発を!〜
NTTコミュニケーションズ株式会社
技術開発部 小松健作
2019年10月3日
Copyright © NTT Communications Corporation. All rights reserved.
自己紹介
2
小松健作
エバンジェリスト@NTTコミュニケーションズ
WebRTC など各種Web技術、API技術に精通
Copyright © NTT Communications Corporation. All rights reserved.
k8s(Kubernetes) 関連のアクティビティ
3
KubeCon Europe 2019 in Barcelona
https://www.youtube.com/watch?v=-f88Kp_wjxo&feature=youtu.be
Google Cloud Next '19 in Tokyo
https://www.youtube.com/watch?v=Y1m3YNQDxAo&feature=youtu.be
Copyright © NTT Communications Corporation. All rights reserved.
◼ 1997 – 2000 : NTT未来ねっと研究所
◼ 2000 – 2006 : NTT東日本
• フレッツサービス(コンテンツ配信系)のシステム開発
• ひかり電話サービスのシステム開発
◼ 2006 - : NTTコミュニケーションズ
• 自然言語処理系サービスのシステム開発
• WebRTC Platform (SkyWay) の開発マネージャ
略歴
4
Copyright © NTT Communications Corporation. All rights reserved.
本日お伝えしたいこと
5
コンテナ/ k8s は、電話 -> インターネットぐらいのパラダイム変化 (私見)
◼ なぜ、そう思うのか?◼ なぜ、「迅速で柔軟なシステム開発」が可能になるのか?を、解説します。
Copyright © NTT Communications Corporation. All rights reserved.
実例:SkyWay Media Pipeline Factory
6
https://dashboard.m-pipe.net/
Copyright © NTT Communications Corporation. All rights reserved.
実例:超低遅延 Live 配信 w/ WebRTC
7
https://mpipe-l3-live.netlify.com/l3-live/9e920b0e
Copyright © NTT Communications Corporation. All rights reserved.
コンテナ / k8s (Kubernetes)
概要
8
Copyright © NTT Communications Corporation. All rights reserved.
プロセスと VM 双方を足して二で割ったもの
◼ OSも含めてパッケージ化されたアプリ
◼ 小さいオーバーヘッド
◼ 高い集約度
◼ 高い可搬性
◼ Docker がデファクト
コンテナの概要説明
9
“Copyright 2013-2015 Docker, Inc. All rights reserved.”
Copyright © NTT Communications Corporation. All rights reserved.
◼ デモ
• docker build
• docker run
コンテナの概要説明
10
Copyright © NTT Communications Corporation. All rights reserved.
◼ OSSのコンテナオーケストレーションプラットフォーム
• Google の Borg に強い影響
• クラスタリング上にコンテナを最適配置
• 容易なデプロイ・スケーリング・管理
k8s(Kubernetes) の概要説明
11
Creative Commons Attribution 4.0 International
Copyright © NTT Communications Corporation. All rights reserved.
◼ デモ
• Deploy (deployment & service)
• Rolling update
k8s(Kubernetes) の概要説明
12
Copyright © NTT Communications Corporation. All rights reserved.
◼ 便利なだけ?
• No!
◼ 従来システム開発の様々な課題を解決
何が従来との違いか?
13
Copyright © NTT Communications Corporation. All rights reserved.
システム開発 3つのあるある
14
Copyright © NTT Communications Corporation. All rights reserved.
1. 需要予測を積み上げ設計したら無駄が・・・
2. 他のソフトのせいでアップグレードできない!
3. バージョンアップしたら特定顧客に障害発生!
システム開発 3つのあるある
15
Copyright © NTT Communications Corporation. All rights reserved.
1. 需要予測を積み上げ設計したら無駄が・・・
2. 他のソフトのせいでアップグレードできない!
3. バージョンアップしたら特定顧客に障害発生!
システム開発 3 つのあるある
16
Copyright © NTT Communications Corporation. All rights reserved.
電話とインターネットの根本的な違い:時分割 vs パケット多重
従来システムと k8sは、電話とインターネットとの違いに似ている
閑話休題
17
時分割多重 パケット多重
Copyright © NTT Communications Corporation. All rights reserved.
需要予測値をベースに、 ハードウェアを準備(VMであれば、CPUやメモリを割り当てる)
従来のシステム開発運用
18
Webサーバー
Webサーバー
Webサーバー
Appサーバー
Appサーバー
Appサーバー
Appサーバー
DBサーバー
DBサーバー
リソース、有効に使えてますか?
Copyright © NTT Communications Corporation. All rights reserved.
k8sクラスタ上に各コンテナをデプロイ
統計多重効果によりリソース効率の高い設計・運用が可能に
k8sでの DevOps
19
k8sノード
k8sノード
k8sノード
Copyright © NTT Communications Corporation. All rights reserved.
1. 需要予測を積み上げ設計したら無駄が・・・
2. 他のソフトのせいでアップグレードできない!
3. バージョンアップしたら特定顧客に障害発生!
システム開発 3 つのあるある
20
Copyright © NTT Communications Corporation. All rights reserved.
◼ ハードウェアリソースを下げたいので、一つのサーバーに色んな機能を詰め込む
• 過去にあった話:セキュリティアップデートしようとしたら「監視エージェントの検証が出来てないので、アップデートしないでください!(汗」
従来のシステム開発運用
21
機能A
機能B
監視エージェント
Copyright © NTT Communications Corporation. All rights reserved.
内部プロセス(各機能)をコンテナごとに分離(マイクロサービス)
⇨各機能(コンテナ)ごとにバージョンアップ対応可能
k8sでの DevOps
22
k8sノード
機能A
機能B
監視エージェント
Copyright © NTT Communications Corporation. All rights reserved.
1. 需要予測を積み上げ設計したら無駄が・・・
2. 他のソフトのせいでアップグレードできない!
3. バージョンアップしたら特定顧客に障害発生!
システム開発 3 つのあるある
23
Copyright © NTT Communications Corporation. All rights reserved.
◼ 複数の顧客に対して、共通のサーバーシステムでサービス提供
• 機能改善でサーバーシステムをバージョンアップ。特定の顧客からクレームが・・・
従来のシステム開発運用
24
サーバーNew version
Copyright © NTT Communications Corporation. All rights reserved.
◼ 顧客ごとにコンテナを分離
• 問題なければバージョンアップ。トラブル時には、個別にグレードダウン
k8sでの DevOps
25
k8sノード
サーバーNew version
サーバーNew version
サーバーOld version
Copyright © NTT Communications Corporation. All rights reserved.
k8sの活用により、低コスト・迅速・柔軟なシステムの運用・開発が可能に
◼ 便利
• 宣言ベース、容易なスケーリング・アップグレード
◼ 低コスト
• 統計多重効果により、効率的なシステム設計・構築
◼ 迅速・安定
• 独立性により、バージョンアップ時の他コンテナへの影響やテストコストを削減
• テナントごとにコンテナを分離し、バージョンロック機構を容易に
まとめ
26
Copyright © NTT Communications Corporation. All rights reserved.
ご清聴ありがとうございました。