Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クラウド・コンテナ・CI/CDわからん会
Search
y-ohgi
October 15, 2024
0
39
クラウド・コンテナ・CI/CDわからん会
TIS株式会社様の社内勉強会にゲストで登壇させていただくスライドです。
y-ohgi
October 15, 2024
Tweet
Share
More Decks by y-ohgi
See All by y-ohgi
re:Invent 2024 re:Cap コンピューティング&コンテナ
y0hgi
2
280
クラウドを今から学ぶには
y0hgi
0
350
入門 Docker - JAWS-UG東京 ランチタイムLT会 #14
y0hgi
1
320
AWS CloudShell で開発したかった話 / i-cant-develop-in-cloudshell
y0hgi
1
1.8k
クラウド入門/Introduction Cloud
y0hgi
0
99
awswakaran.tokyo_CI_CD
y0hgi
2
2.2k
Cloud Next'18とKnativeの話
y0hgi
0
510
Amazon EKS Starter Kit
y0hgi
1
770
Angular2に入門した
y0hgi
0
45
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Git: the NoSQL Database
bkeepers
PRO
427
64k
The Invisible Side of Design
smashingmag
298
50k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Docker and Python
trallard
42
3.1k
Code Reviewing Like a Champion
maltzj
520
39k
Unsuck your backbone
ammeep
669
57k
Six Lessons from altMBA
skipperchong
27
3.5k
Code Review Best Practice
trishagee
65
17k
Designing for humans not robots
tammielis
250
25k
Rails Girls Zürich Keynote
gr2m
94
13k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Transcript
クラウド・コンテナ・ CI/CDわからん会 TIS株式会社様 社内勉強会 2024/10/18
• じこしょうかい • クラウドわからん • コンテナわからん • CI/CDわからん おはなしすること
• y-ohgi ◦ @_y_ohgi ◦ JAWS-UG 東京支部運営 • 今まで ◦
合同会社DMM CTO室SRE部 ◦ フリーランス(SREを中心) ◦ どこかの会社のCCoE • Like ◦ コンテナ, TypeScript, Next.js じこしょうかい
• じこしょうかい • クラウドわからん • コンテナわからん • CI/CDわからん おはなしすること
オンプレ(On-Premises)について • 自社でサーバーの構築に必要な リソースを保持 ◦ ハードウェア, ソフトウェア, ネットワーク, 土地, etc…
• 専門家が必要 ◦ 構築だけでなく運用や障害などに対応できる人材 • 初期コストが高い ◦ 最初に必要なリソースを調達する金額面 ◦ 設計・見積もりから調達・構築を行う時間面 • 自社で全てを管理するため、 高いカスタマイズ性 クラウドわからん
クラウドについて • 必要なときに必要なだけのリソースを確保 することが可能 ◦ 不要なリソースはすぐに返却できる • 従量課金 ◦ 時間単位やリクエスト単位
での課金 • 代表的なクラウドベンダー ◦ AWS, Google Cloud, Azure • CNCF(Cloud Native Computing Foundation) ◦ クラウドネイティブな技術推進の団体 ◦ Kubernetesを代表にfluentd・Istio・containerdが傘下に クラウドわからん
• じこしょうかい • クラウドわからん • コンテナわからん • CI/CDわからん おはなしすること
コンテナとは • 代表的なツールとして「 Docker」 ◦ プロセスをアイソレーション するための技術 ◦ Virtual MachineはOSの仮想化の技術
• コンテナイメージを作成することで 高い可搬性 を得られる ◦ コンテナイメージからコンテナを作成 する ◦ 同一のコンテナイメージであれば開発者のマシンと本番で同じコンテナを動かせる ▪ コンテナイメージはimmutableなため、他の開発者や本番のイメージを再現可能 • コンテナを動かすためのクラウドサービス ◦ ECS, EKS, GKE, Cloud Run, etc... コンテナわからん
• じこしょうかい • クラウドわからん • コンテナわからん • CI/CDわからん おはなしすること
CI(Continuous Integration) • 継続的インテグレーション • 開発物の品質担保 が目的 ◦ デプロイ前のバグの早期発見 ◦
コーディング規約の統一 • 自動でビルド・テストを実行 ◦ Pull RequestをトリガーにCIを実行するなど • CIをする前に大切なことも ◦ 「開発者間で品質について事前の合意」 ◦ 「Lintやtestを行えている」 ◦ 「レビューの仕組みがある」 CI/CDわからん
CD(Continuous Deployment/Delivery) • 継続的デプロイ • 開発からリリースの一貫性 ◦ 再現性の高いデプロイを行うことで、オペミスの軽減 ◦ 誰がデプロイしても同じ手順になる
• 自動デプロイ ◦ developブランチにmergeされたタイミングでステージング環境に自動デプロイ される ◦ tag付けされたタイミングに本番環境に自動デプロイ される • CDをする際に大切なことも ◦ 「CIが通っていること」 ◦ 「監視を行いロールバックが可能なこと」 ◦ 「DBへのmigrationをどう扱うか」 CI/CDわからん
• リリースを(極力)自動化 しよう! • CI/CDを取り入れることで開発生産性の向上 ◦ リリースの手動部分を無くす ◦ 誰でもリリースができる仕組みに。 •
「For Keys」への取り組みでさらなる生産性の向上 ◦ 1. デプロイの頻度 ◦ 2. 変更のリードタイム ◦ 3. 変更障害率 ◦ 4. サービス復元時間 CI/CDわからん CI CD サービス開発の本質に使える時間を増やそう!
本日はよろしくお願いします まとめ