Skip to content

Commit

Permalink
Merge pull request #23 from y-ohgi/fix/tips
Browse files Browse the repository at this point in the history
Fix/tips
  • Loading branch information
y-ohgi authored Aug 17, 2024
2 parents ad38b89 + 6f6778f commit 4dfe2b5
Show file tree
Hide file tree
Showing 8 changed files with 64 additions and 57 deletions.
22 changes: 0 additions & 22 deletions docs/3_production/introduction.md

This file was deleted.

30 changes: 0 additions & 30 deletions docs/3_production/orchestration.md

This file was deleted.

File renamed without changes.
File renamed without changes
Binary file removed docs/4_tips/imgs/kitematic.png
Binary file not shown.
24 changes: 24 additions & 0 deletions docs/4_tips/introduction.md
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. 本番への導入
- 最後に本番環境への導入を行いましょう
35 changes: 35 additions & 0 deletions docs/4_tips/orchestration.md
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を行なってからが望ましいでしょう。
10 changes: 5 additions & 5 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,8 @@ nav:
- Dockerfileのベストプラクティス: 3_production/dockerfile.md
- docker compose: 3_production/docker-compose.md
- Tips:
- docker composeを使いこなす: 4_tips/docker-compose.md
- オーケストレーションツール: 3_production/orchestration.md
- プロダクションへの導入: 3_production/introduction.md
- デバッグ: 3_production/debug.md
- tools: 4_tips/tools.md
# - docker composeを使いこなす: 4_tips/docker-compose.md
- オーケストレーションツール: 4_tips/orchestration.md
- プロダクションへの導入: 4_tips/introduction.md
- デバッグ: 4_tips/debug.md
# - tools: 4_tips/tools.md

0 comments on commit 4dfe2b5

Please sign in to comment.