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
320
入門 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
500
Amazon EKS Starter Kit
y0hgi
1
770
Angular2に入門した
y0hgi
0
44
Angular2に入門した話
y0hgi
0
27
Featured
See All Featured
Designing Experiences People Love
moore
138
23k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
We Have a Design System, Now What?
morganepeng
50
7.2k
Being A Developer After 40
akosma
86
590k
Designing for Performance
lara
604
68k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Gamification - CAS2011
davidbonilla
80
5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Writing Fast Ruby
sferik
627
61k
Visualization
eitanlees
145
15k
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 サービス開発の本質に使える時間を増やそう!
本日はよろしくお願いします まとめ