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
クラウドを今から学ぶには
y0hgi
0
330
入門 Docker - JAWS-UG東京 ランチタイムLT会 #14
y0hgi
1
300
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
44
Angular2に入門した話
y0hgi
0
29
Featured
See All Featured
Docker and Python
trallard
40
3.1k
What's in a price? How to price your products and services
michaelherold
243
12k
How GitHub (no longer) Works
holman
310
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
It's Worth the Effort
3n
183
27k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Unsuck your backbone
ammeep
668
57k
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 サービス開発の本質に使える時間を増やそう!
本日はよろしくお願いします まとめ