-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #23 from y-ohgi/fix/tips
Fix/tips
- Loading branch information
Showing
8 changed files
with
64 additions
and
57 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
File renamed without changes.
File renamed without changes
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
--- | ||
title: プロダクションへの導入 | ||
description: プロダクションへの導入へDockerを導入する際のステップについて紹介します。 | ||
--- | ||
|
||
## 新規開発の場合 | ||
新規開発で導入する場合、最初からDockerを導入することをオススメします。 | ||
|
||
開発チームでランタイムのバージョンの同期やデータベースのようなミドルウェアをローカルにインストールすることは非常に煩雑ですが、逆にDockerが得意とする領域です。 | ||
最初からDockerfileを書くことが難しければ、 `compose.yaml` でデータベースのみ管理をするなどミニマルスタートも考慮してもよいでしょう。 | ||
|
||
## IaaSからのコンテナ化 | ||
既存のIaaSからの移行であればステップを踏んで行くのが良いでしょう。 | ||
|
||
1. ローカル環境のDocker化 | ||
- まずはローカル環境での導入から行います | ||
- チームの開発環境をDockerで統一し、Dockerに慣れていくところから始めていきましょう | ||
2. テスト/CIへの導入 | ||
- 次にテスト/CI環境への導入を行います | ||
- また、CIを導入してないのであればDockerとの相性が良いのでこの機会に導入するのもありでしょう。 | ||
3. ステージングへの導入 | ||
- 本番へいきなり導入する前にステージング環境でDockerの動作を確認しましょう | ||
4. 本番への導入 | ||
- 最後に本番環境への導入を行いましょう |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
--- | ||
title: オーケストレーションツール | ||
description: Dockerを運用するために必須なオーケストレーションツールについて紹介します。 | ||
--- | ||
|
||
## オーケストレーションツールとは | ||
1つ以上のコンテナを管理するためのツールです。 | ||
|
||
コンテナは非常に軽量で可搬性・移植可能性が高く、開発環境からステージング環境・本番環境まで1つのイメージで1つの環境を完結させることが可能です。 | ||
しかし、コンテナには本番運用のための機能は備わっていません。 | ||
|
||
コンテナオーケストレーションツールにはコンテナを管理し、運用するための様々な機能が備わっています。 | ||
例えば、コンテナのためのリソースプールの管理・コンテナのデプロイ・セルフヒーリング・ネットワーク・オートスケールなどです。 | ||
|
||
コンテナオーケストレーションによって責務や機能が異なるので、代表的なオーケストレーションツールを紹介します。 | ||
|
||
## 代表的なオーケストレーションツール | ||
### compose | ||
Docker社が提供するオーケストレーションツールです。 | ||
ローカルでdockerを動かす際のデファクトスタンダードとなっているツールです。 | ||
|
||
### swarm | ||
同じくDocker社が提供するOSSのオーケストレーションツールです。 | ||
docker composeと相性がよく、 `compose.yaml` を拡張することで本番のワークロードでDockerを使用することができます。 | ||
|
||
### ECS (Elastic Container Service) | ||
AWSが提供するマネージドサービスの1つです。 | ||
他のAWSサービスの連携が得意で、AWSを使用する場合には候補に上がるものです。 | ||
|
||
### Kubernetes | ||
Google社が開発したOSSのオーケストレーションツールです。 | ||
機能が多く豊富なエコシステムがあり、CNCFなどコミュニティも非常に活発です。 | ||
|
||
クラウドベンダーもそれぞれマネージドKubernetesを提供しており、ロックインされない環境を求める場合は選択肢に上がります。 | ||
しかし、学習コストが高く、3ヶ月毎にアップデートを行う必要があるなど、採用する際は他の選択肢とPoCを行なってからが望ましいでしょう。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters