Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
サーバシステムを無理なくコンテナ移行する際に 伝えたい4つのポイント 2025年03月27日 NRIネットコム株式会社 NTシステム事業二部 尾澤 公亮 NRIネットコム TECH AND DESIGN STUDY #60
Slide 2
Slide 2 text
1 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy コンテナ導入におけるトレードオフがより発生している と思います コンテナは有益な技術要素
Slide 3
Slide 3 text
2 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 旨みを生かして 無理なく 移行したい どうせコンテナ移行するなら
Slide 4
Slide 4 text
3 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy ポイントは4つ ①マイクロサービス化は無理なく計画的に ②まずはデリバリーパイプラインから固める ③CI/CDはアプリ/インフラ両方の観点で組み上げる ④テストは信頼性を軸に実施
Slide 5
Slide 5 text
4 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy ◼インフラエンジニア、クラウドアーキテクト ◼AWS、コンテナを中心とした、 Webシステム設計/開発/運用/保守 ◼ex.: ECS, EKS, Codeシリーズ 尾澤 公亮(KOSUKE OZAWA)
Slide 6
Slide 6 text
5 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy コンテナ移行を進める上での心構え
Slide 7
Slide 7 text
6 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy コンテナ移行を進める上での心構え マイクロサービス 疎結合 CI/CD コンテナ間通信 Docker Kubernetes
Slide 8
Slide 8 text
7 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy ナウでヤングな言葉がいっぱい マイクロサービス 疎結合 CI/CD コンテナ間通信 Docker Kubernetes
Slide 9
Slide 9 text
8 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy できることからやりましょう ようは「リフトアンドシフト」 まずはコンテナにのせることを目標に →知見がたまってきたらより良い方向に
Slide 10
Slide 10 text
9 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy アプリとインフラの関係 アプリのことはちょっと... 正直コンテナとか よくわかんない...
Slide 11
Slide 11 text
10 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 歩み寄りが大事 アプリ、 ちゃんと動くかな? (OSライブラリ依存、 実行権限等の考慮) ちょっと 無理させてないかしら? (CPU,Memory消費量、 イメージサイズの考慮)
Slide 12
Slide 12 text
11 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 歩み寄りが大事 アプリ、 ちゃんと動くかな? (OSライブラリ依存、 実行権限等の考慮) 少し越境してみる ちょっと 無理させてないかしら? (CPU,Memory消費量、 イメージサイズの考慮)
Slide 13
Slide 13 text
12 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy ①マイクロサービス化は無理なく計画的に
Slide 14
Slide 14 text
13 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy マイクロサービス化とは
Slide 15
Slide 15 text
14 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy マイクロサービス化とは
Slide 16
Slide 16 text
15 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy マイクロサービス化とは 機能ごとにサービスとして分割 → スケーリングの柔軟性、 ライフサイクルの分割
Slide 17
Slide 17 text
16 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 機能ごとにサービス化する→コンポーネントの増加と結合の複雑さが増す
Slide 18
Slide 18 text
17 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 機能ごとにサービス化する→コンポーネントの増加と結合の複雑さが増す
Slide 19
Slide 19 text
18 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 実際使いそうなツールに置き換えるとこんな感じ
Slide 20
Slide 20 text
19 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 最低限アプリ機能はわける
Slide 21
Slide 21 text
20 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 最低限アプリ機能はわける アプリの使われ方で分ける Nginx、エージェント類は サイドカーコンテナ として配置
Slide 22
Slide 22 text
21 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy ②まずはデリバリーパイプラインから固める
Slide 23
Slide 23 text
22 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy CI/CDとは
Slide 24
Slide 24 text
23 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy CI/CDとは
Slide 25
Slide 25 text
24 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 実際のところ
Slide 26
Slide 26 text
25 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 実際のところ 外部レポジトリとの接続ポリシー イベント通知、監査ログの取得 サイドカー用レポ等 複数レポジトリによる運用 CIで何をテストする? イメージ戦略は? レポートツールの有無 アーティファクトの取り扱い デプロイ戦略は? 複数サービスある場合は? 再起動のみしたい場合は? デプロイタイミングは? 毎回デプロイ/特定タイミングのみ?
Slide 27
Slide 27 text
26 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 先にデプロイだけ自動化しておく
Slide 28
Slide 28 text
27 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 先にデプロイだけ自動化しておく
Slide 29
Slide 29 text
28 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 先にデプロイだけ自動化しておく Source Artifactから Buildステップでイメージビルド/ ECR Pushまでを CodePipeline単体で実現 ※2024/11のアップデート
Slide 30
Slide 30 text
29 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 先にデプロイだけ自動化しておく Source Artifactから Buildステップでイメージビルド/ ECR Pushまでを CodePipeline単体で実現 ※2024/11のアップデート ソースからイメージビルド→デプロイだけなら これでなんとかなる →おいおい理想に近づけるでもOK
Slide 31
Slide 31 text
30 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy ③CI/CDはアプリ/インフラ両方の観点で組み上げ
Slide 32
Slide 32 text
31 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy CI/CDによって得られるメリット
Slide 33
Slide 33 text
32 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy デリバリーの自動化 → 環境の標準化、静的解析、E2E → 開発工数への注力、安定したコード・動作品質 CI/CDによって得られるメリット
Slide 34
Slide 34 text
33 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy デリバリーの自動化 → 環境の標準化、静的解析、E2E → 開発工数への注力、安定したコード・動作品質 CIはアプリ品質の肝
Slide 35
Slide 35 text
34 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy CI/CDとしての機能・非機能面はインフラ観点の出番
Slide 36
Slide 36 text
35 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy CI/CDとしての機能・非機能面はインフラ観点の出番 • キャッシュの活用 • (ローカル/S3) • テストレポート • バッチビルド • スケール調整 • イメージの軽量化 • BuildKit • SOCI Lazy Loading • イメージ署名
Slide 37
Slide 37 text
36 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy CI/CDとしての機能・非機能面はインフラ観点の出番 • キャッシュの活用 • (ローカル/S3) • テストレポート • バッチビルド • スケール調整 • イメージの軽量化 • BuildKit • SOCI Lazy Loading • イメージ署名 アプリがやりたいことを実現するために、 できる施策をうつ →このための引き出しを増やしておく
Slide 38
Slide 38 text
37 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy ④テストは信頼性を軸に実施
Slide 39
Slide 39 text
38 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy テストどう進めるか問題
Slide 40
Slide 40 text
39 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy テストどう進めるか問題 • OS設定 • MW設定 • サービス起動レベル • ユーザ/グループ • NTP/Locale etc.…
Slide 41
Slide 41 text
40 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy テストどう進めるか問題 • OS設定 • MW設定 • サービス起動レベル • ユーザ/グループ • NTP/Locale etc.… • 起動したらOK?
Slide 42
Slide 42 text
41 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 大事なのは「サービスを提供できるかどうか」
Slide 43
Slide 43 text
42 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 大事なのは「サービスを提供できるかどうか」 • Healthyかどうか • 起動に時間がかかりすぎていないか • 停止→起動を繰り返していないか • Latencyは許容できるか • CPU/Memory消費は妥当か • 必要な情報をログ出力しているか
Slide 44
Slide 44 text
43 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy 大事なのは「サービスを提供できるかどうか」 • Healthyかどうか • 起動に時間がかかりすぎていないか • 停止→起動を繰り返していないか • Latencyは許容できるか • CPU/Memory消費は妥当か • 必要な情報をログ出力しているか 安定的に稼動できるかどうか → 信頼性
Slide 45
Slide 45 text
44 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy まとめ
Slide 46
Slide 46 text
45 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy ◼無理なく移行するポイントは4つ ⚫ ①マイクロサービス化は無理なく計画的に • → 最低限アプリの使われ方で分ける、それ以外はサイドカーコンテナで動かす ⚫ ②まずはデリバリーパイプラインから固める • → ソースからビルド、デプロイだけならCodePipeline単体でも可能、これをうまく使う ⚫ ③CI/CDはアプリ/インフラ両方の観点で組み上げる • → CIは品質の肝、アプリがやりたいことを実現するために引き出しは増やしておく ⚫ ④テストは信頼性を軸に実施 • → 安定的に稼働できるかどうかの観点を持つ まとめ
Slide 47
Slide 47 text
46 Copyright(C) NRI Netcom, Ltd. All rights reserved. #nncstudy ◼ ECRBuildAndPublish build action reference ⚫ https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-ECRBuildAndPublish.html ◼ AWS CodePipeline が ECR イメージの公開と AWS InspectorScan を新しいアクションとしてサポート開始 ⚫ https://aws.amazon.com/jp/about-aws/whats-new/2024/11/aws-codepipeline-publishing-ecr-image-aws-inspectorscan-actions/ 参考文献
Slide 48
Slide 48 text
No content