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
究極のInfrastructure as Codeを目指して
Search
Shin'ya Ueoka
April 24, 2020
Technology
6
5k
究極のInfrastructure as Codeを目指して
Infra Study Meetup #1「Infrastructure as Code」のLT資料です
https://forkwell.connpass.com/event/171560/
Shin'ya Ueoka
April 24, 2020
Tweet
Share
More Decks by Shin'ya Ueoka
See All by Shin'ya Ueoka
kintone開発組織のDevOpsへの移り変わりと実践
ueokande
1
320
運用できる開発組織の作り方 ― kintone開発組織のストーリー
ueokande
0
100
英語ができなかった自分達が、グローバルチーム立ち上げに挑戦!?
ueokande
1
950
技術書典12協賛企業サイボウズゲストトーク
ueokande
0
270
サービス間をテストするフレームワーク集
ueokande
0
320
kintone.comを支える技術
ueokande
0
210
SLO策定とアラート設定までの長い道のり
ueokande
6
4.8k
オンラインイベントを 半年運営して気づいたこと
ueokande
0
110
インフラ開発チームがプロダクトチームに体験入部したはなし
ueokande
1
710
Other Decks in Technology
See All in Technology
“社内”だけで完結していた私が、AWS Community Builder になるまで
nagisa53
1
170
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
170
DenoとJSRで実現する最速MCPサーバー開発記 / Building MCP Servers at Lightning Speed with Deno and JSR
yamanoku
1
280
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
140
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.4k
CI/CDとタスク共有で加速するVibe Coding
tnbe21
0
230
(非公式) AWS Summit Japan と 海浜幕張 の歩き方 2025年版
coosuke
PRO
1
330
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
53
32k
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1.2k
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
270
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
130
Navigation3でViewModelにデータを渡す方法
mikanichinose
0
200
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
A Tale of Four Properties
chriscoyier
159
23k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Scaling GitHub
holman
459
140k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Adopting Sorbet at Scale
ufuk
77
9.4k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
For a Future-Friendly Web
brad_frost
179
9.8k
Transcript
ڀۃͷ*OGSBBT$PEFΛ ࢦͯ͠ Infra Study Meetup #1 “Infrastructure as Code” αΠϘζגࣜձࣾ
@ueokande
.F ‰্Ԭ ਅ (@ueokande) ‰αΠϘζגࣜձࣾ ‰ٳOSSจষΛॻ͍ͨΓ ‰kintone.comͱ͍͏αʔϏε ͷ։ൃɾӡ༻Λ͍ͯ͠·͢ 2
LJOUPOFDPN ‰γεςϜΛ؆୯ʹ࡞ΕΔB2B͚αʔϏε ‰ࠃ֎15,000+ࣾͰಋೖ ‰άϩʔόϧࢢ͚AWS্Ͱӡ༻ 3
LJOUPOFDPNͷߏ 4 ֤αʔϏε͕ར༻͢Δ ϚωʔδυαʔϏε Amazon EKS Service A Service B
Service C Service D Service E Service F Service G Service H LJOUPOFDPNΛߏ ͢ΔαʔϏε܈ ‰͜ͷߏΛInfra as CodeͰߏஙɾӡ༻ Ϛωʔδυ,VCFSOFUFT
‰Infra as Codeʹ͓͍ͯɺιʔείʔυ։ൃऀ͕ ࡞Γ͍ͨཧঢ়ଶ (࠷ऴతͳΠϯϑϥߏ) ‰γεςϜݱࡏͷঢ়ଶͱཧঢ়ଶͷࠩΛຒΊΔ • ͦΕΛ͢Δͷ͕terraformAnsible ཧঢ়ଶͷऩଋ 5
ద༻ޙͷ ঢ়ଶ ݱࡏͷ ঢ়ଶ ཧ
LJOUPOFDPNͷϨϙδτϦ ‰ϞϊϨϙʹAWSͷߏͱαʔϏεΛؚΉ • ϨϙδτϦͷঢ়ଶ͕Πϯϑϥͷཧঢ়ଶ 6 Amazon EKS Service A Service
B Service C Service D Service E Service F Service G Service H CloudFormation Service A Service Z ιʔείʔυʢϞϊϨϙʣ $MPVE'PSNBUJPO͕ ཧঢ়ଶʹΠϯϑϥΛઃఆ ,VCFSOFUFT্ͷαʔϏε ࠩݕˍߋ৽͍ͨ͠ ͜ͷࠩΛ Ͳ͏ຒΊΔ͔ʁ
αʔϏεͷߋ৽ ‰Ռͷࠩݕ͕ͯࠩ͋͠ΕσϓϩΠ • ΠϝʔδΛߏ͢ΔϑΝΠϧͷϋογϡΛΠϝʔδλάͱ͢Δ • ιʔείʔυ͕มߋ͞ΕΔͱϦϏϧυͯ͠docker push 7 ϋογϡؔ H
( ) %PDLFSpMF ઃఆ ϑΝΠϧ . . spec: containers: - name: my-service-a image: quay.io/cybozu/my-service-a:BKCXSIF3Z3GEH2OEIM5BLEQBP4 ιʔε ίʔυ ιʔείʔυ͕มߋ͞ΕΔͱ Πϝʔδλά৽͘͠ͳΔ ϥΠϒϥϦ .
ྫϕʔεΠϝʔδͷ+7.ߋ৽ ϕʔεΠϝʔδΛߋ৽ʢηΩϡϦςΟରԠͳͲʣ (1) ϕʔεΠϝʔδͷDockerfileΛߋ৽ (2) Dockerfile͔ΒϕʔεΠϝʔδΛϦϏϧυ (3) ϕʔεΠϝʔδ͔Β֤छαʔϏεΛϦϏϧυ (4) ΠϝʔδλάͰdocker
push (5) λάͷΠϝʔδΛkubectl apply 8
ϕʔεΠϝʔδͷߋ৽ 9 Service A ϕʔεΠϝʔδ Service B ιʔείʔυʢϞϊϨϙʣ Amazon EKS
4FSWJDF " 4FSWJDF # 4FSWJDF $ ߋ৽ ֤αʔϏεΛϦϏϧυ ʢdocker build && docker pushʣ ৽͍͠ΠϝʔδΛల։ ʢkubectl applyʣ 4FSWJDF " 4FSWJDF # 4FSWJDF $ σϓϩΠ ύΠϓϥΠϯ ΠϝʔδλάΛιʔείʔυ͔Βܭࢉ ϕʔε Πϝʔδ
ྫϕʔεΠϝʔδͷ+7.ߋ৽ ϕʔεΠϝʔδΛߋ৽ʢηΩϡϦςΟରԠͳͲʣ (1) ϕʔεΠϝʔδͷDockerfileΛߋ৽ (2) Dockerfile͔ΒϕʔεΠϝʔδΛϦϏϧυ (3) ϕʔεΠϝʔδ͔Β֤छαʔϏεΛϦϏϧυ (4) ΠϝʔδλάͰdocker
push (5) λάͷΠϝʔδΛkubectl apply 10 ࣮ࡍͷखॱ ͜Ε͚ͩ ͋ͱࣗಈͰ ຊ൪ʹద༻
11
CloudFormationͷద༻ KubernetesϚχϑΣετͷద༻ ςετ࣮ߦ JVMαʔϏεΛϦϏϧυˍ ৽͍͠ΠϝʔδλάͰdocker push ৽͍͠ΠϝʔδλάΛద༻ JVMϕʔεΠϝʔδΛϏϧυ JVMҎ֎ͷαʔϏε
ڀۃͷ*OGSBBT$PEFΛࢦͯ͠ ‰ιʔείʔυࠓͷΠϯϑϥͷঢ়ଶΛද͢ ‰ίʔυΛมߋ͢Δɺ͢ͳΘͪຊ൪ద༻ ‰ϩʔϧόοΫgit revertͯ͠Ϛʔδ͢Δ͚ͩ 13