9. The Big Switch: Rewriting the world, From Edition to Google
• 20世紀の「電力会社」のように、
インターネットを通したクラウド
コンピューティング
• Nicholas G. Carr
• 2008年1月発売(邦訳10月発売)
• 翔泳社
9
14. クラウドの定義
• 2011年9月に最終版を策定
• 本質的特質
• On-Demand self-service
• Broad network access
• Resource pooling
• Rapid elasticity
• Measured service
• サービス・モデル
• Software as a Service (SaaS)
• Platform as a Service (PaaS)
• Infrastructure as a Service (IaaS)
14
SP 800-145, The NIST Definition of Cloud Computing
https://csrc.nist.gov/publications/detail/sp/800-145/finalb
25. Cloud Native の定義
• https://github.com/cncf/toc/blob/master/DEFINITION.md
• Cloud native technologies empower organizations to build and run scalable
applications in modern, dynamic environments such as public, private, and
hybrid clouds. Containers, service meshes, microservices, immutable
infrastructure, and declarative APIs exemplify this approach.
• These techniques enable loosely coupled systems that are resilient, manageable,
and observable. Combined with robust automation, they allow engineers to
make high-impact changes frequently and predictably with minimal toil.
• The Cloud Native Computing Foundation seeks to drive adoption of this paradigm
by fostering and sustaining an ecosystem of open source, vendor-neutral projects.
We democratize state-of-the-art patterns to make these innovations accessible
for everyone.
25
CNCF Cloud Native Definition v1.0
45. Docker
45
“Docker allows you to package an application
with all of its dependencies into a standardized
unit for software development.”
www.docker.com
全ての依存関係をパッケージ化して、コンテナとして動かす
58. docker クライアント docker エンジン
docker container run hello-world
OSに対してdocker プログラムの
実行を伝える
Docker に対してコンテナに読み込む
イメージの情報を伝える
Docker コンテナを作成・実行
するためのサブコマンド
$ docker container run hello-world
run
59. docker クライアント docker エンジン
$ docker container run hello-world
run
Docker Hub
pull
レジストリ
latest
イメージ
タグ
hello-world レポジトリ
latest
イメージ
タグ
latest
コンテナ化した
hello-worldの実行
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
3. The Docker daemon created a new container from that image which runs
the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent
it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker Hub
account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/userguide/
60. $ docker container run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
03f4658f8b78: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest
Hello from Docker.
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
(省略)
Share images, automate workflows, and more with a free Docker Hub account:
https://hub.docker.com
For more examples and ideas, visit:
https://docs.docker.com/userguide/
ローカルにhello-worldイメージがない
公式イメージlibraryにある”hello-world”を取得
最新の”hello-world:latest”イメージを取得完了
hello-worldイメージを使ったコンテナの実行(run)を命令
67. 宣言型サービス・モデルのオーケストレーション
67
Declarative service model
【参考】 https://www.slideshare.net/Docker/container-orchestration-from-theory-to-practice/7
OD クラスタ
Δ S
D = 期待状態
O = オーケストレータ
S = 状態
Δ = 状態から期待状態への収束
フィードバック
レプリカ作成
グローバル・サービス
並列
遅延
変更可能