SlideShare a Scribd company logo
1 of 35
Download to read offline
1
Shuji	
 Yamada	
 
@uzyexeMar	
 28,	
 2016
What a Wonderful Docker World

(この素晴らしき Docker の世界)
https://www.flickr.com/photos/maerskline/7101140285/
Docker 102
Shuji Yamada @uzyexe
9 years Build &

IT Infrastructure Operating Ops.
#cloud #network #server #docker #coreos

#devops #lean #agile #monitoringlove
Works at SAKURA Internet inc.
2
• website: http://uzy-exe.hateblo.jp/
• twitter: https://twitter.com/uzyexe
• slideshare: http://www.slideshare.net/uzy_exe
• github: https://github.com/uzyexe
• dockerhub: https://hub.docker.com/r/uzyexe
2
“What is Docker?”
3
https://www.flickr.com/photos/johnkeane/5408126721/
https://www.flickr.com/photos/yukop/11941236015/
4
• Docker 社によるオープンソース・プロダクトの一つ。
• 標準化されたコードでアプリケーション環境を定義することで、アプリ
ケーション環境をイメージ化することができる。
• アプリケーション環境を確実な再現性を持つ Dockerイメージ形式で配
布することで、誰とでも簡単に環境を
• 開発環境や検証環境の共有手段
What is Docker?
5
Docker Image
build Push
Provisioning

(pull)
• Dockerfile に任意のアプリケーション環境を定義する。
• ビルドしたイメージを Docker Hub などに push する。
• 任意のサーバ上でDocker Hub にあるイメージを pull して稼働させる。
Dockerfile
Docker Hub
Run
Run
シンプルな Docker ワークフローの例 Run
6
Docker Hub
Push Push
GitHub

or

Bitbucket
Provisioning

(pull)
Dockerfile
• GitHub、Bitbucket と Docker Hub を連携させることもできる。
• この場合、イメージのビルド処理を Docker Hub に任せることもできる。
Docker Image
Automated

Build
Push
Run
Run
Run
7
Push
Automated

Build
Push
Push
GitHub

or

Bitbucket
Provisioning

(pull)
Dockerfile
• Docker イメージは任意の Docker Repository に保管できる。
• Docker イメージの保管先は必ずしも Docker Hub でなくとも構わない。
Repository
Run
Run
Run
Docker Image
8
Repository
Push
Hook
Push
GitHub

or

Bitbucket
Provisioning

(pull)
Dockerfile
• CI サービスにイメージのビルド処理やテスト処理を任せることも可能。
• CI サービスの例:Travis CI、CircleCI、Jenkins など。
CI Service Docker Image
Build

and

Test
Run
Run
Run
9
Docker Engine
HyperVisor
Guest

OS
Server
Guest

OS
Guest

OS
App-1
App-2
App-1
App-1’
App-3
App-4
App-1
App-2
App-1
App-1’
App-2
App-3
Docker
Type-1
HyperVisor
OS
HyperVisor
Server
App-1
App-2
App-1
App-1’
App-3
App-4
Type-2!
HyperVisor
Bins/Libs Bins/LibsBins/Libs Bins/Libs
Bins/Libs Bins/Libs
Bins/Libs Bins/Libs
Guest

OS
Guest

OS
Guest

OS
OS
Server
https://www.flickr.com/photos/maerskline/7101143435/
Docker の代表的な
10
1. 軽量・省
• Docker イメージにはアプリケーションに必要なものしか含まれていない。
• 軽量・省メモリで迅速に起動・停止することが
2. Docker
• Windows PC 上でも Macbook 上でも Linux サーバ上でも動く。
3. イメージを
• 他人が作成した Docker イメージを再利用できる。
• アプリケーション環境をコードで定義できるのでバージョン管理
https://www.flickr.com/photos/christopherbrown/15002659050/
Docker コンテナの課題
• CPU使用率、ストレージ容量などのリソース制御機能が充分ではない。
• 既存のネットワークやストレージやアプライアンスとの親和性が低い。
• コンテナならではの厄介なクセがある。
• Docker 周辺の開発スピードが速すぎる。情報収集が追いつかない。
• いざ本番で利用しようと思うと決して小さくない学習コスト
11
https://www.flickr.com/photos/77108378@N06/17784119510/
Docker 代表的な
12
1. Continuous Integration!
• 開発者が任意の環境で迅速にアプリケーションをテストする環境として
2. DevOps!
• 開発と運用チームの融合性を高める
3. Big Data / HPC
• ビッグデータや HPC など。
4. Infrastructure Optimization!
• インフラに関わる各種コストを削減していく
https://www.flickr.com/photos/cote/15789016578/
現在の Docker
13
• 1,400,000,000+ Image Download!
• 240,000+ Repositories on DockerHub!
• 200+ Meetup Groups in 50+ countries!
• 1300+ Contributors!
• 80,000+ Third-party projects on GitHub
https://www.flickr.com/photos/taymtaym/14226257335/
Docker をサポートしているエコシステム群
• Config Management Tools *
• Container OS *
• Scheduler/Orchestration/Management *
• Database/BigData *
• Networking *
• Security *
• Monitoring *
14
• Image Registry *
• Hosting/Service Providers *
• Developer Tools *
• Deplopment Platform *
IaaS
Infrastructure as a Services
15
PaaS
Platform as a Services
&
What Problem...
16
PaaS
Platform
PaaS の利用におけるユーザビリティ上の
• PaaS のミッションはオペレーション層までを抽象化すること。それ以
上の高レベル
• 例えば、アプリケーション層は抽象化されていない。アプリケーショ
ンのビルドやパッケージ方法は各 PaaS プロバイダごとに独自の手法
を提供
• 他の PaaS 環境への移行コストが大きい。ノウハウが固定化してしま
い、結果として PaaS プロバイダにロックインされがち
IaaS
Infrastructure
17
IaaS の利用におけるユーザビリティ上の
• インフラが抽象化されているが、実際の操作感は各 IaaS プロバイダごと
に異なる。
• 各 IaaS プロバイダで API が用意されていれば、各 IaaS プロバイダ間に
おけるユーザビリティ(操作感)のギャップは埋めることができる。し
かし、本格的に API を利用しようと思うと学習コストや開発コストが無
視できない。
• CLI を独自提供している IaaS プロバイダも存在するが、CLI
とベンダロックされてしまう。
The one thing that is truly necessary.
(本当に必要なことは何なのか?)
18
https://www.flickr.com/photos/techcrunch/15407337357/
19
“Build, Ship, and Run Any App, Anywhere”!
(構築した環境を安全に保管して、好きな場所で迅速に動かすことだけ。)
20
Build
• Infrastructure as Code
• Continuous Integration (CI/CD)
• Secure Signing/Trust
• +++
• Trusted Registries
• Access Controll
• Policies
• +++
• Management
• Deploy and Scalling
• Metrics/Monitoring/Logging
• +++
Ship Run
“Build, Ship, and Run Any App, Anywhere”
21
Build
• Infrastructure as Code
• Continuous Integration (CI/CD)
• Secure Signing/Trust
• +++
• Trusted Registries
• Access Controll
• Policies
• +++
• Management
• Deploy and Scalling
• Metrics/Monitoring/Logging
• +++
Ship Run
1. Build!
• 標準化された定義ファイルを設定するだけで、任意のアプリケーショ
ン環境を誰でも利用可能なイメージファイルの形にビルド
と。
2. Ship
• アプリケーションの開発、テスト、配布のサイクル全体が標準化され、
一貫性のあるユーザーインターフェースで操作・管理
3. Run
• セキュアかつ確実な再現性をもってスケーラブルなアプリケーション
環境を多種多様なプラットフォーム上に展開可能な機能を
“Build, Ship, and Run Any App, Anywhere”
CaaS
Container as a Services
22
Container as a Service Platform Stack
23
CaaS
Container
24
考えられうる CaaS パターン
1. プライベート Docker クラウド (例: Docker Datacenter など)
• Docker イメージをプライベート環境にあるレポジトリに保管して、プライベートな
オンプレ環境上でアプリケーション環境を稼働するためのソリューションとして
2. パブリック Docker クラウド (例: Docker Cloud など)
• Docker イメージをパブリッククラウド環境にあるレポジトリに保管して、任意のイ
ンフラ環境上でアプリケーション環境を稼働するための
3. Docker コンテナ
• Docker イメージをパブリッククラウド環境にあるレポジトリに保管して、インフラ
を気にせずに任意のアプリケーション環境を稼働するためのソリューションとして
Docker Datacenter
25
https://www.flickr.com/photos/115938778@N06/23137464863/
Volume
Netwroking
Logging
Monitoring
LDAP/AD
Docker Universal

Control Plane
Client
Compose
26
Docker Toolbox Docker Datacenter
Virtual Private CloudOnpremises
Integrations
!
!
!
Docker Trusted

Registry
Infrastructure
Docker Swarm
https://www.flickr.com/photos/115938778@N06/23137464863/
Docker

Trusted Registry
• Web UI for administrators and users LDAP/AD integration!
• Role-based access control!
• Docker Content Trust image signing and verification!
• Garbage collection for saving memory space!
• User audit logs
27
• GUI management for clusters, apps, containers, images,
networks, volumes. Monitoring and logging
• Monitoring / Logging of UCP users and
• Out of the box High availability!
• LDAP/Active Directory
• Role-based-access control for teams
• SSO and push/pull images from Docker Trusted Registry(DTR)
• Out of the box TLS
• Docker native stack with Swarm, Compose, CS
• Full Docker API compatible
Docker Universal

Control Plane
Docker Datacenter
Docker Cloud
28
https://www.flickr.com/photos/outofideas/178040396/
Volume
Client
Compose
Netwroking
Logging
Monitoring
!
!
!
Docker Cloud
29
Docker Toolbox Docker Cloud
Onpremises
Integrations
!
!
!
Docker Hub
Infrastructure
Cloud

(public/private)
https://www.flickr.com/photos/34121831@N00/6027016005/
30
Docker Cloud
• Manage node clusters!
• Pull images from Docker Hub!
• Deploy containers across nodes!
• Monitor and scale applications
• Automated builds!
• Webhooks!
• image scanning!
• Role based access control
Docker Hub
Docker Container Hosting
31
https://www.flickr.com/photos/johnkeane/5408126721/
Volume
Netwroking
Logging
Monitoring
!
!
!
User Control Panel
Client
Compose
32
Docker Toolbox Container Hosting
Cloud

(public/private)
Onpremises
Integrations
!
!
!
Registry
Infrastructure
Orchestration Tools
or
or
https://www.flickr.com/photos/alreadytaken/2504312455/
33
Docker Container Hostings
2014-11 Google Container Engine
2014-11 Amazon EC2 Container Service
2014-12 Giant Swarm!
2015-03 sloppy.io
2015-03 Arukas!
2015-06 profitbricks!
2015-07 mocloud.io!
2015-09
2015-10 Carina by RackSpace
2010-12
2013-11 Tutum
2013-11
2013-11
2013-11 Resin.io!
2014-02 ContainerShip
2014-08 Jelastic!
2014-09
2014-11 Joyent Triton
https://www.flickr.com/photos/maerskline/7101140285/
まとめ
• Docker の世界観(ドッカー・ワールド
• Build から Run まで、統一的な一貫したユーザビリティで提供されることが望ましい。
• これを失念してしまうと Docker の強みを失ってしまう。
• 多くの問題を今すぐに解決してくれる夢のテクノロジーではない。
• サーバや仮想マシンが持つ弱みを補完する技術として捉えたほうが良い。
• おそらく、トレンドの流れは Docker Datacenter -> Docker Cloud -
• 今、本格的な利用を検討するなら、まずは Docker Datacenter から
34
Thank You!
35

More Related Content

Viewers also liked

Design and development of an Online Social Network crawler
Design and development of an Online Social Network crawlerDesign and development of an Online Social Network crawler
Design and development of an Online Social Network crawler
Federico Feroldi
 
Scaling web application in the Cloud
Scaling web application in the CloudScaling web application in the Cloud
Scaling web application in the Cloud
Federico Feroldi
 

Viewers also liked (20)

Design and development of an Online Social Network crawler
Design and development of an Online Social Network crawlerDesign and development of an Online Social Network crawler
Design and development of an Online Social Network crawler
 
From Startup to Exit in 18 months
From Startup to Exit in 18 monthsFrom Startup to Exit in 18 months
From Startup to Exit in 18 months
 
Scaling web application in the Cloud
Scaling web application in the CloudScaling web application in the Cloud
Scaling web application in the Cloud
 
Cloudify your applications with Amazon Web Services
Cloudify your applications with Amazon Web ServicesCloudify your applications with Amazon Web Services
Cloudify your applications with Amazon Web Services
 
Mesosphere & Magnetic: Take the pain out of running complex and critical serv...
Mesosphere & Magnetic: Take the pain out of running complex and critical serv...Mesosphere & Magnetic: Take the pain out of running complex and critical serv...
Mesosphere & Magnetic: Take the pain out of running complex and critical serv...
 
A Primer on Kubernetes and Google Container Engine
A Primer on Kubernetes and Google Container EngineA Primer on Kubernetes and Google Container Engine
A Primer on Kubernetes and Google Container Engine
 
DDoS vs. Dockerコンテナホスティング Arukas(Container SIG Meet-up 2016 Fall)
DDoS vs. Dockerコンテナホスティング Arukas(Container SIG Meet-up 2016 Fall)DDoS vs. Dockerコンテナホスティング Arukas(Container SIG Meet-up 2016 Fall)
DDoS vs. Dockerコンテナホスティング Arukas(Container SIG Meet-up 2016 Fall)
 
Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2
 
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
さくらのDockerコンテナホスティング-Arukasの解説とインフラを支える技術(July Tech Festa 2016 『IoTxAIxインフラ時代...
 
Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)
Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)
Arukasの運用事例と、末永くインフラ運用していくためのTips(SRE Tech Talks #2)
 
Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architecture
 
Docker and the Linux Kernel
Docker and the Linux KernelDocker and the Linux Kernel
Docker and the Linux Kernel
 
Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...
Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...
Getting Deep on Orchestration: APIs, Actors, and Abstractions in a Distribute...
 
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron GrattafioriThe Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
The Golden Ticket: Docker and High Security Microservices by Aaron Grattafiori
 
Microservices + Events + Docker = A Perfect Trio by Docker Captain Chris Rich...
Microservices + Events + Docker = A Perfect Trio by Docker Captain Chris Rich...Microservices + Events + Docker = A Perfect Trio by Docker Captain Chris Rich...
Microservices + Events + Docker = A Perfect Trio by Docker Captain Chris Rich...
 
Prometheus design and philosophy
Prometheus design and philosophy   Prometheus design and philosophy
Prometheus design and philosophy
 
Docker London: Container Security
Docker London: Container SecurityDocker London: Container Security
Docker London: Container Security
 
Docker Roadshow 2016
Docker Roadshow 2016Docker Roadshow 2016
Docker Roadshow 2016
 
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
Building Web Scale Apps with Docker and Mesos by Alex Rukletsov (Mesosphere)
 
Architecture, what does it even mean?
Architecture, what does it even mean?Architecture, what does it even mean?
Architecture, what does it even mean?
 

More from Shuji Yamada

Kanban 301「プロセスマネジメント(成長エンジン)」
Kanban 301「プロセスマネジメント(成長エンジン)」Kanban 301「プロセスマネジメント(成長エンジン)」
Kanban 301「プロセスマネジメント(成長エンジン)」
Shuji Yamada
 

More from Shuji Yamada (15)

GitHub Enterpriseの導入事例と実践GitHub Actions
GitHub Enterpriseの導入事例と実践GitHub ActionsGitHub Enterpriseの導入事例と実践GitHub Actions
GitHub Enterpriseの導入事例と実践GitHub Actions
 
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
ここにハマった!Dockerコンテナホスティング「Arukas」の裏側
 
現場!実物!実践!マルチクラスタを運用するときの課題とコツ
現場!実物!実践!マルチクラスタを運用するときの課題とコツ現場!実物!実践!マルチクラスタを運用するときの課題とコツ
現場!実物!実践!マルチクラスタを運用するときの課題とコツ
 
Arukas meet Mesos/Marathon
Arukas meet Mesos/MarathonArukas meet Mesos/Marathon
Arukas meet Mesos/Marathon
 
20分でわかるgVisor入門
20分でわかるgVisor入門20分でわかるgVisor入門
20分でわかるgVisor入門
 
10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF10分でわかる Cilium と XDP / BPF
10分でわかる Cilium と XDP / BPF
 
Kanban 301「プロセスマネジメント(成長エンジン)」
Kanban 301「プロセスマネジメント(成長エンジン)」Kanban 301「プロセスマネジメント(成長エンジン)」
Kanban 301「プロセスマネジメント(成長エンジン)」
 
Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」Kanban 101「明日から使えるかもしれないカンバン」
Kanban 101「明日から使えるかもしれないカンバン」
 
Velocity - Lean, Velocity and Anti-Fragile 「ボトルネックを飼い慣らせ!」
Velocity - Lean, Velocity and Anti-Fragile  「ボトルネックを飼い慣らせ!」Velocity - Lean, Velocity and Anti-Fragile  「ボトルネックを飼い慣らせ!」
Velocity - Lean, Velocity and Anti-Fragile 「ボトルネックを飼い慣らせ!」
 
自動テストによって生み出される価値
自動テストによって生み出される価値自動テストによって生み出される価値
自動テストによって生み出される価値
 
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
2015-07-27 Docker Introduction 〜Dockerの基礎とユースケースに関する考察〜
 
お手軽OpenFlow試験環境 Mininet
お手軽OpenFlow試験環境 Mininetお手軽OpenFlow試験環境 Mininet
お手軽OpenFlow試験環境 Mininet
 
Sensu -The Next Generateion Monitoring Framework-
Sensu -The Next Generateion Monitoring Framework-Sensu -The Next Generateion Monitoring Framework-
Sensu -The Next Generateion Monitoring Framework-
 
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
【Interop Tokyo 2013】 どうする?どうなる?SDN/クラウド時代の運用管理 ~データセンター、クラウド提供事業者の立場から~
 
2015-01-27 Introduction to Docker
2015-01-27 Introduction to Docker2015-01-27 Introduction to Docker
2015-01-27 Introduction to Docker
 

Recently uploaded

Recently uploaded (10)

Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 

What a Wonderful Docker World (この素晴らしき Docker の世界)