Slide 1

Slide 1 text

クラウド・コンテナ・ CI/CDわからん会 TIS株式会社様 社内勉強会 2024/10/18

Slide 2

Slide 2 text

● じこしょうかい ● クラウドわからん ● コンテナわからん ● CI/CDわからん おはなしすること

Slide 3

Slide 3 text

● y-ohgi ○ @_y_ohgi ○ JAWS-UG 東京支部運営 ● 今まで ○ 合同会社DMM CTO室SRE部 ○ フリーランス(SREを中心) ○ どこかの会社のCCoE ● Like ○ コンテナ, TypeScript, Next.js じこしょうかい

Slide 4

Slide 4 text

● じこしょうかい ● クラウドわからん ● コンテナわからん ● CI/CDわからん おはなしすること

Slide 5

Slide 5 text

オンプレ(On-Premises)について ● 自社でサーバーの構築に必要な リソースを保持 ○ ハードウェア, ソフトウェア, ネットワーク, 土地, etc… ● 専門家が必要 ○ 構築だけでなく運用や障害などに対応できる人材 ● 初期コストが高い ○ 最初に必要なリソースを調達する金額面 ○ 設計・見積もりから調達・構築を行う時間面 ● 自社で全てを管理するため、 高いカスタマイズ性 クラウドわからん

Slide 6

Slide 6 text

クラウドについて ● 必要なときに必要なだけのリソースを確保 することが可能 ○ 不要なリソースはすぐに返却できる ● 従量課金 ○ 時間単位やリクエスト単位 での課金 ● 代表的なクラウドベンダー ○ AWS, Google Cloud, Azure ● CNCF(Cloud Native Computing Foundation) ○ クラウドネイティブな技術推進の団体 ○ Kubernetesを代表にfluentd・Istio・containerdが傘下に クラウドわからん

Slide 7

Slide 7 text

● じこしょうかい ● クラウドわからん ● コンテナわからん ● CI/CDわからん おはなしすること

Slide 8

Slide 8 text

コンテナとは ● 代表的なツールとして「 Docker」 ○ プロセスをアイソレーション するための技術 ○ Virtual MachineはOSの仮想化の技術 ● コンテナイメージを作成することで 高い可搬性 を得られる ○ コンテナイメージからコンテナを作成 する ○ 同一のコンテナイメージであれば開発者のマシンと本番で同じコンテナを動かせる ■ コンテナイメージはimmutableなため、他の開発者や本番のイメージを再現可能 ● コンテナを動かすためのクラウドサービス ○ ECS, EKS, GKE, Cloud Run, etc... コンテナわからん

Slide 9

Slide 9 text

● じこしょうかい ● クラウドわからん ● コンテナわからん ● CI/CDわからん おはなしすること

Slide 10

Slide 10 text

CI(Continuous Integration) ● 継続的インテグレーション ● 開発物の品質担保 が目的 ○ デプロイ前のバグの早期発見 ○ コーディング規約の統一 ● 自動でビルド・テストを実行 ○ Pull RequestをトリガーにCIを実行するなど ● CIをする前に大切なことも ○ 「開発者間で品質について事前の合意」 ○ 「Lintやtestを行えている」 ○ 「レビューの仕組みがある」 CI/CDわからん

Slide 11

Slide 11 text

CD(Continuous Deployment/Delivery) ● 継続的デプロイ ● 開発からリリースの一貫性 ○ 再現性の高いデプロイを行うことで、オペミスの軽減 ○ 誰がデプロイしても同じ手順になる ● 自動デプロイ ○ developブランチにmergeされたタイミングでステージング環境に自動デプロイ される ○ tag付けされたタイミングに本番環境に自動デプロイ される ● CDをする際に大切なことも ○ 「CIが通っていること」 ○ 「監視を行いロールバックが可能なこと」 ○ 「DBへのmigrationをどう扱うか」 CI/CDわからん

Slide 12

Slide 12 text

● リリースを(極力)自動化 しよう! ● CI/CDを取り入れることで開発生産性の向上 ○ リリースの手動部分を無くす ○ 誰でもリリースができる仕組みに。 ● 「For Keys」への取り組みでさらなる生産性の向上 ○ 1. デプロイの頻度 ○ 2. 変更のリードタイム ○ 3. 変更障害率 ○ 4. サービス復元時間 CI/CDわからん CI CD サービス開発の本質に使える時間を増やそう!

Slide 13

Slide 13 text

本日はよろしくお願いします 󰢛 まとめ