DockerCon ’17 Recap
- Docker User Stories -
DockerCon Recap Meetup
Go Chiba from Rancher JP
@go_chiba
About me
 Go Chiba
– Work
AWS/Azure...
OpenStack/CloudStack...
Docker, Orchestrator, Monitoring...
– Role
Rancher JP 運営メンバー
GUI i18n サポート
国内クラウド サポート
– Contact
Twitter: @go_chiba
User Stories
User Stories Traditional & microservices
apps, cloud
Traditional app
modernization
Big data, genomic
sequencing
Microservices appsMicroservices apps
Big data, genomic
sequencing
DevOps, CI for traditional
& microservices apps, cloud
Traditional & microservices
apps, cloud
Automated dev pipelines
Traditional &
microservices apps
VISA
VISA
 カード決済サービスを提供
– 2015年後半から Docker に注目
– 2016年後半から商用環境に適用(初期はフロントエンド部分に適用)
100~800
コンテナ
スケールアウト
商用 x2
SandBox x2
リージョンは分割
100~
1000
コンテナ per
Host
VISA
 Goal: LBを介した N-Tier 構成から
Microservice に移行
(Dynamic Scalability, 運用のシンプル化, LBの排除)
VISA
 1st Gen
Docker UCP と Consul によるサービス管理
独自の Healthcheck 機構
しかし、以下のような課題が...
– 複雑(コンポーネント多すぎ、HAは?、トラシューしんどい)
– メンテナンス性(グルーコードが増えてしまった)
VISA
VISA
 2nd Gen
Docker に内部 DNS, VIP, Healthcheck
Consul で実施していたサービス管理を Docker に置き換え
VISA
VISA
 East-West のトラフィックは overlay を利用
– パケットの書き換えが発生するため若干のパフォーマンス劣化は存在
(15%程度?)
 まだ、商用環境には適用しておらず今後適用予定
 Docker EE の場合はL7や Stickness LBもサポート
MetLife
MetLife
 生命保険会社
– 約150年の歴史
MetLife
 ウォーターフォールで設計されたレガシーなコードが点在
中には35年前のコードがまだ動いていたり...
 ユーザー要求との相違
– モバイルファースト
– API エコノミー
– IoT
– ソーシャル
– Apps for Everything
MetLife
 まずは少数のチームを結成(MODsquad)
– クロスファンクションチーム
– ダイバーシティ(男女比 1:1)
– 専用の共有スペース(ディスプレイも!)
– 会議も無し
– ルールも設けない
MetLife
 OSSの活用
– 従来はOSSに抵抗があったが少しずつ文化を変えていった
 Docker Datacenter を採用
– 現在はクラシックモードを利用
MetLife
 仮想マシンの数を70%にまで減らした
 サービスを分割しモバイル向けにマッシュアップ
1868
1884
1898
1920
1950
1954
1967
1970
1982
1983
2000
2005 2015
2012
Intuit
Intuit
 クラウド型の会計サービス “Proconnect”
– 200,000人以上の確定申告代行
– 25,000,000件以上返ってくる
– 相当なトランザクション、問題が発生した時のスピード感
– 9ヶ月間で0から商用環境に Docker を適用した話
Intuit
 プロジェクトがスタートするまで
2013
2014
2015
2016
2017
Docker を Chef クックブックの
テスト用に利用 3rd Party ツールが
必要と判断し断念 Swarm Mode による
単一ベンダー Docker 1.12で
プロジェクトスタート
Intuit
 社内に Docker の素晴らしさを伝えるのが難しい
– タクシードライバーに Docker を説明するようなもの...
– やはり、Developer first で進めるのが良い
Intuit
明確なゴールの設定
• 開発者の生産性向上
• ハイブリッド
ホスティングの実現
• Patch as a Code
専任チームの形成
• 運用
• 開発
• パフォーマンス
• セキュリティ
• + パートナー
ガードレール
• 物理的な環境の分離
• データを置かない
• サポートされるテクノ
ロジーのみ
• 開発サイクルの適用
Intuit
 結果 Docker EE を採用
Intuit
 今後は?
– 短期的には残りのサービスの Dockerize を進める
– サービスのグルーピングを見直し
– 来年にはもっとステートフルアプリケーションに関して話したい
by Docker Inc.
1 in 1
1 サービス
1 スプリント
9 in 5
9 サービス
5 スプリント
1 スプリント:
2 週間
Summary
 レガシーアプリケーションのコンテナ移行
– コードを変えずにコンテナ化するパターンもちらほら
– CI/CDパイプライン, ポータビリティ, パフォーマンス
 Dockerizing Process
– Start Small, Grow Big
– 可能であれば Cloud Native にデザイン
Appendix
 DockerCon ‘17 Use Case(Video)
https://www.youtube.com/playlist?list=PLkA60AV
N3hh-nubLYLr8CgXotVoAkC24n
 DockerCon ‘17 Slides
https://www.slideshare.net/Docker/presentations
Thank you!!

DockerCon '17 Feedback -User Stories- at Docker Meetup Tokyo