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/モダンインフラVol1:用語を覚えよう編
Search
Shohei Kobayashi
May 16, 2022
Programming
0
560
熊でもわかるCI/CD/モダンインフラVol1:用語を覚えよう編
CI/CDから最近っぽいインフラについて説明した勉強会を開きました。
用語を覚える編です。
Shohei Kobayashi
May 16, 2022
Tweet
Share
More Decks by Shohei Kobayashi
See All by Shohei Kobayashi
非同期処理実行基盤 Delayed脱出 → Solid Queue完全移行への旅路。
srockstyle
3
1.7k
熊でもわかるFIDO2
srockstyle
0
140
CI/CD/インフラ勉強会Vol4 Amazon ECS編 Part1
srockstyle
0
150
熊でもわかるCI/CD/モダンインフラ Vol3 AWS CDK
srockstyle
0
400
熊でもわかるCI/CDモダンインフラ Github Action編
srockstyle
0
390
Chefとnginxで作るPHPアプリケーションのReliable Blue Green Deployment
srockstyle
6
25k
Other Decks in Programming
See All in Programming
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
900
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
370
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
320
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
150
CI_CD「健康診断」のススメ。現場でのボトルネック特定から、健康診断を通じた組織的な改善手法
teamlab
PRO
0
160
Serena MCPのすすめ
wadakatu
4
880
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
420
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
2
150
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
1
580
WebエンジニアがSwiftをブラウザで動かすプレイグラウンドを作ってみた
ohmori_yusuke
0
170
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
130
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Code Review Best Practice
trishagee
72
19k
How STYLIGHT went responsive
nonsquared
100
5.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Statistics for Hackers
jakevdp
799
220k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Transcript
༻ޠΛ֮͑Α͏ฤ 3BJMTΞϓϦͷ։ൃఔͰઆ໌͢ΔΑʂ ۽ͰΘ͔Δ$*$%ϞμϯΠϯϑϥ
զ ΤϯδχΞྺɿ͘Β͍ ۀքɿ8FC͔ͬ ݴޠɿ3VCZͱ3BJMT 1)11ZUIPO1FSM͘Β͍ʢΕ͕ͪʣ Πϯϑϥ͖ͬͯͨྺʹΤϯδχΞྺ %/4αʔόͱ͔ϝʔϧαʔό࡞ͬͯ·ͨ͠ ࠷ۙͬͺΒ3BJMT͍ͷϑϦʔϥϯεɻ ͖ͳ%/4αʔόͷϛυϧΣΞɿEKCEOT ͖ͳϝʔϧαʔόͷϛυϧΣΞɿ2NBJM
͖ͳ.Z42-ͷίϚϯυTIPXTMBWFTUBUVT ͖ͳ"84ϓϩμΫτ&MBTUJD.BQ3FEVDF ͖ͳ($1ϓϩμΫτ$MPVESVO ͖ͳ$*$%πʔϧ(JUIVC"DUJPO &$4ᘳʹཧղͨ͠ কདྷͷເηΩϡϦςΟΤϯδχΞɻ
$JSDMF$*͍͍ͧʂʂʂʂ
͍͖ͬͯ
ίί rails new ίʔυ͍ͬͺ͍͔͘ ϩʔΧϧͰʂ ʁ આ໌͢Δͱ͜Ζ ੨͍ͱ͜Ζ͕આ໌͠ͳ͍ͱ͜Ζ
ܧଓతΠϯςάϨʔγϣϯ ΦϨϯδ৭ͷՕॴͷߏཁૉ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ લͷϖʔδͷΦϨϯδ৭ΛࡉԽ ܧଓతσϓϩΠϝϯτ
ΦϨϯδ৭ͷՕॴͷҙຯ Continuous IntegrationʢܧଓతΠϯςάϨʔγϣϯʣ Continuous DeliveryʢܧଓతσϦόϦʔʣ ใγεςϜΛߏ͢ΔαʔόͳͲͷػثɺιϑτΣΞɺ௨৴ωοτϫʔΫ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ ܧଓతσϓϩΠϝϯτ
Continuous DeploymentʢܧଓతσϓϩΠʣ
ϞμϯΠϯϑϥΛ্͢Ͱߟ͑Δ$ͳΜͱ͔ܥ CͳΜͱ͔ܥͷจ຺ΛҰॹʹ͞ͳ͍ͱϞμϯΠϯϑϥΓཱͨͳ͍ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ ܧଓతσϓϩΠϝϯτ
ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ΠϯϑϥɾαʔόɾωοτϫʔΫ ܧଓతσϓϩΠϝϯτ
ΞδϟΠϧ։ൃʹ͍ͭͯ $*$%$%ͷઆ໌Λ͢Δલʹ ·ͣΒͳ͍ͱ͍͚ͳ͍֓೦ʹ͍ͭͯ
ػೳΛׂ ΞδϟΠϧ։ൃͱ ։ൃ ػೳΛখׂͯ͘͞͠ɺখ͍͞୯ҐͰ։ൃɾςετɾϦϦʔεΛ͍ͯ͘͠ख๏ εΫϥϜ։ൃͱಉٛͰ͋Γ·ͤΜʢҰॹʹઆ໌͞Ε͍͚͢Ͳʣ ςετ ϦϦʔε ։ൃ ςετ ϦϦʔε
։ൃ ςετ ϦϦʔε ػೳ1 ػೳ2 ػೳ3 ։ൃ։࢝
ΞδϟΠϧ։ൃͷϝϦοτͱσϝϦοτ ͜ͷลେࣄ ཁٻมߋʹରԠ͍͢͠ ཁٻͷՃʹରԠ͍͢͠ มԽͷॊೈͳରԠ͕͍͢͠ ߴͳϦϦʔε͕͍͢͠ શମͷεέδϡʔϧ͕ཧͮ͠Β͍ ਐḿ͕ཧͮ͠Β͍ ϝϦοτ σϝϦοτ
ΞδϟΠϧ։ൃͷσϝϦοτΛղܾ͍ͨ͠ ཁٻมߋʹରԠ͍͢͠ ཁٻͷՃʹରԠ͍͢͠ มԽͷॊೈͳରԠ͕͍͢͠ ߴͳϦϦʔε͕͍͢͠ શମͷεέδϡʔϧ͕ཧͮ͠Β͍ ਐḿ͕ཧͮ͠Β͍ ϝϦοτ σϝϦοτ
ΞδϟΠϧ։ൃͷσϝϦοτղܾख๏ ܧଓతYYYYYY
$ͳΜͱ͔ܥϫʔυ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ܧଓతσϓϩΠϝϯτ 1SPEVDUJPOڥ ։ൃऀͷϩʔΧϧ
$ͳΜͱ͔ܥϫʔυ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ܧଓతσϓϩΠϝϯτ 1SPEVDUJPOڥ ։ൃऀͷϩʔΧϧ QSPEVDUJPOʹࢸΔ·ͰΛࣗಈԽ͢Δఔ͕ଟ͍ ҙຯશ෦جຊಉ͡
ྫ͑ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ ܧଓతσϓϩΠϝϯτ ҙຯશ෦جຊಉ͡ ڇͷؙম͖ αʔϩΠϯεςʔΩͱλϯγνϡʔ ڇλϯমఆ৯͝൧ൈ͖ 1SPEVDUJPOڥ ։ൃऀͷϩʔΧϧ
ϩʔΧϧ͔Β1SPEVDUJPOʹࢸΔ·ͰʹΔ͜ͱ 1SPEVDUJPOڥ ։ൃऀͷϩʔΧϧ
ܧଓతYYYͷࣔ͢ൣғ 1SPEVDUJPOڥ ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ ܧଓతΠϯςάϨʔγϣϯ ܧଓతσϦόϦʔ
ܧଓతσϓϩΠϝϯτ
$*$%Λཧղ্ͨ͠Ͱઆ໌͢Δ 1SPEVDUJPOڥ
ͻͱੲલͷΠϯϑϥͱݺΕΔͷجຊܥ "NB[PO&$ "QQMJDBUJPO-PBE#BMBODFS 3%4.Z42- 71$ "QQMJDBUJPO-PBE#BMBODFS "NB[PO&$ 3%4 71$ ϩʔυόϥϯαʔɻ
ΞΫηεΛෳͷαʔόʹৼΓ͚Δɻ )7.ʢϋʔυΣΞԾϚγϯʣํࣜͰԾԽ͞Εͨ-JOVYΠϯελϯεɻ શԾԽΛࠓਪ͍ͯ͠Δɻ ࠓ४ԾԽͱΦʔόʔϔουͦΜͳมΘΒͳ͍Β͍͠ɻ "84͕ఏڙ͍ͯ͠Δ.Z42-1PTUHSF42-ͷ4BB4ɻ 7JSUVBM1SJWBUF$MPVEɻཧతʹ͞Ε͍ͯΔԾωοτϫʔΫɻ
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿجຊฤ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ "QQMJDBUJPO-PBE#BMBODFS "NB[PO&$4 3%4"VSPSB 71$ ϩʔυόϥϯαʔɻ
ΞΫηεΛෳͷίϯςφʹৼΓ͚Δɻ %PDLFSίϯςφ࣮ߦڥɻ "84͕ఏڙ͍ͯ͠Δ3%#ͷ4BB4ɻ ޓੑ͕͋Δ͚ͩͰɺ.Z42-1PTUHSF42-ͱશ͘ͷผɻ 7JSUVBM1SJWBUF$MPVEɻཧతʹ͞Ε͍ͯΔԾωοτϫʔΫɻ ·ͣجຊܥ͔Β
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿϑϩϯτ൛ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ "84"NQMJGZ ϑϩϯτΤϯυͷߏஙʙϗετ·ͰΛ໘ݟͯ͘ΕΔπʔϧͱػೳͷ૯শɻ ػೳͷҰͭʹϑϩϯτΤϯυͷϗεςΟϯάΛߦͬͯ͘ΕΔɻ ϑϩϯτΤϯυͱόοΫΤϯυΛ͠·͢ɻ "84"NQMJGZ
ϑϩϯτΤϯυ όοΫΤϯυ ֎෦͔ΒͷΞΫηε
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿϑϩϯτ൛ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ "NB[PO$MPVE'SPOU "84ࣗલͷ$%/ɻ ஈʹԠͯ͡"LBNBJͱ͔ʹͳΔ͜ͱ͋Δ $%/ΛڬΜͰ4ͱ͍͏ํ๏Λ͍·͢ɻ "NB[PO$MPVE'SPOU
ϑϩϯτΤϯυ όοΫΤϯυ ֎෦͔ΒͷΞΫηε "NB[PO4 "NB[PO4 ੩తϑΝΠϧΛϗεςΟϯά͢ΔͷʹΘΕΔετʔϨδαʔϏεɻ ٱੑͰམͪͳ͍ͷͰɺΠϨϒϯφΠϯͱ͔ݺΕΔ
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿϑϩϯτ൛ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB 71$ 7FSDFM ϑϩϯτΤϯυͷϗεςΟϯάઐϓϥοτϑΥʔϜɻ 3FBDU7VFOVYUOFYUͱ͔ରԠ͍ͯ͠Δɻ ϑϩϯτΤϯυͷϗεςΟϯάͰ"84ΛΘͳ͍ख͋Γ·͢ɻ ϑϩϯτΤϯυ
όοΫΤϯυ ֎෦͔ΒͷΞΫηε
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿϑϩϯτ͚ͩ൛ 'JSFCBTF3FBMUJNF%BUBCBTF (PPHMFͷ($1͕༻ҙ͍ͯ͠Δ'JSFCBTFʹ͋Δσʔλϕʔεɻ ϑϩϯτΤϯυͷػೳʹΑͬͯ"84ΛΘͳ͍ख͋Γ·͢ɻ ϑϩϯτΤϯυ ֎෦͔ΒͷΞΫηε $MPVE'JSFTUPSF 3FBMUJNF%BUBCBTF 'JSFCBTF$MPVE%UBCBTF ࠓճઆ໌͠·ͤΜ
ׂͱࠓ࣌ͳΠϯϑϥͱݺΕΔͷɿϑϩϯτ͚ͩ൛ FUIFSFVN ϒϩοΫνΣʔϯͷϓϥοτϑΥʔϜͷҰͭɻ εϚʔτίϯτϥΫτͰॲཧΛ͔͚ΔͷͰɺόοΫΤϯυͱͯ͑͠Δɻ εϚʔτίϯτϥΫτΛόοΫΤϯυͱͯ͠࡞ΔΞϓϦΛ%BQQTͱ͍͏ɻ ϒϩοΫνΣʔϯΛόοΫΤϯυͱͯ͠ѻ͏ͱ͜ΜͳߏʹͳͬͨΓ͠·͢ɻ ϑϩϯτΤϯυ ֎෦͔ΒͷΞΫηε ࠓճઆ໌͠·ͤΜ
$*$%ͱΠϯϑϥΛཧղ্ͨ͠Ͱઆ໌͢Δ σϓϩΠ όοΫΤϯυʹݶఆ͢ΔΑ
ιʔείʔυͷద༻ͷྲྀΕ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB ϩʔΧϧ͔Βຊ൪·Ͱͷ͓͞Β͍ɻ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ
୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ (JUIVC"DUJPO /FUXPSL $%/ ωοτϫʔΫ ετϨʔδ ϩʔυόϥϯαʔ ίϯςφ 3%#
ιʔείʔυͷద༻ͷྲྀΕ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB ࣮ࡍʹΔ͜ͱ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ
୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ CVOEMFJOTUBMM SBJMTECDSFBUF SBJMTECNJHSBUF CVOEMFFYFDSTQFD CVOEMFFYFDCSBLFNBO CVOEMFFYFDSVCPDPQ EPDLFSCVJME EPDLFSUBH EPDLFSQVTI DELEFQMPZ
ιʔείʔυͷద༻ͷྲྀΕ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB ʮܧଓతσϓϩΠϑΣʔζʯ͕ϙΠϯτ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ
୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ
σϓϩΠͷจ຺ ඍົʹݴͬͯΔ͜ͱ͕ҧ͏ ։ൃऀͷ͍͏σϓϩΠ "84ͷυΩϡϝϯτͷ͍͏σϓϩΠ खݩͷιʔείʔυΛຊ൪ʹద༻͢Δɻ %PDLFSJNBHFͱͯ͠͞ΕͨͷΛίϯςφͱͯ͠ىಈຊ൪ͷ&$4ʹϦϦʔε͢Δɻ
σϓϩΠͷจ຺ ඍົʹݴͬͯΔ͜ͱ͕ҧ͏ ίϯςφΠϝʔδ͕͋Δલఏͷ σϓϩΠͱ͍͏จ຺ͳͷͰ ͜ͷลΘ͔ΒΜͱࠞཚ͢Δ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ
όοΫΤϯυ "NB[PO4 σϓϩΠ ʁ
$*$%ͱΠϯϑϥͱσϓϩΠͷҙຯΛ౿·্͑ͨͰ %PDLFS*NBHF
%PDLFS*NBHFपΓͷ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB σϓϩΠ४උͷɻ ܧଓతσϦόϦʔʹ͋ͨΓ·͢ɻ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4
։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ
%PDLFS*NBHFपΓͷ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB Πϝʔδ࡞ΛσϓϩΠ४උͷϑΣʔζͰΓ·͢ɻ "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 ։ൃऀͷϩʔΧϧ
୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ EPDLFSCVJME EPDLFSUBH EPDLFSQVTI
%PDLFS*NBHFपΓͷ Πϝʔδ࡞ޙίϯςφΛཧ͢Δ3FQPTJUPSZʹQVTI͠·͢ɻ ։ൃऀͷϩʔΧϧ ୯ମςετ ݁߹ςετ Ϗϧυ σϓϩΠ४උ σϓϩΠ EPDLFSCVJME EPDLFSUBH
EPDLFSQVTI 1SPEVDUJPOڥ %PDLFS3FQPTJUPSZ
ͦͯ͠"84ͷσϓϩΠͷจ຺ ඍົʹݴͬͯΔ͜ͱ͕ҧ͏ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 σϓϩΠ
%PDLFS3FQPTJUPSZ QVTI͞ΕͨΠϝʔδΛͬͯ ίϯςφΛ&$4ʹσϓϩΠ͢Δ
"84ͷσϓϩΠͲ͏͢Δͷ͔ ͔͜͜ΒઌผͷճͰΓ·͢ɻ "NB[PO&$4 "QQMJDBUJPO-PBE#BMBODFS 3%4"VSPSB "NB[PO$MPVE'SPOU ϑϩϯτΤϯυ όοΫΤϯυ "NB[PO4 σϓϩΠ
%PDLFS3FQPTJUPSZ
·ͱΊ ܧଓతYYYܧଓతΠϯςάϨʔγϣϯɾσϦόϦʔɾσϓϩΠ͕͋Δ ΞδϟΠϧ։ൃͱεΫϥϜ։ൃผͷ ܧଓతYYYΞδϟΠϧ։ൃͷܽΛຒΊΔͨΊʹ͋Δղܾ๏ Πϯϑϥߏཁૉͱͯ͠"84ϓϩμΫτ͓͑ͯ͜͏ ։ൃऀͷσϓϩΠͱ"84υΩϡϝϯτͷσϓϩΠগ͠χϡΞϯε͕ҧ͏