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
Cloud Driven Development
Search
Sebastian Korfmann
October 03, 2022
Programming
0
68
Cloud Driven Development
Sebastian Korfmann
October 03, 2022
Tweet
Share
More Decks by Sebastian Korfmann
See All by Sebastian Korfmann
Cloud Engineering amplified by GPT-4
skorfmann
0
80
Terraform CDK 101 - Hashitalks DACH
skorfmann
1
110
Terraform CDK 101
skorfmann
0
110
AWS Cloud Development Kit 101
skorfmann
0
140
Other Decks in Programming
See All in Programming
TYPO3 v13 – The road to LTS: What's new and new APIs
luisasofie_xoxo
0
210
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
130
VS Code をプロダクトにどう取り込むか
onomax
1
480
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
900
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
0
270
見た目から始める生産性向上
ikumatadokoro
8
990
Zero Waste, Radical Magic, and Italian Graft – Quarkus Efficiency Secrets
hollycummins
0
230
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.3k
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
540
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
9
4.1k
Netty Chicago Java User Group 2024-04-17
sullis
0
180
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
950
Featured
See All Featured
The Invisible Side of Design
smashingmag
294
49k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
79
43k
Atom: Resistance is Futile
akmur
259
25k
Teambox: Starting and Learning
jrom
128
8.4k
Happy Clients
brianwarren
92
6.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
187
16k
YesSQL, Process and Tooling at Scale
rocio
164
13k
How GitHub (no longer) Works
holman
304
140k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
Designing the Hi-DPI Web
ddemaree
276
33k
Rails Girls Zürich Keynote
gr2m
91
13k
Visualization
eitanlees
136
14k
Transcript
Cloudgetriebene Softwareentwicklung Sebastian Korfmann Cloudgetriebene Softwareentwicklung / @skorfmann 1
Sebastian Korfmann Entrepreneur, Consultant, Cloud Toolsmith AWS DevTools Hero Formerly
HashiCorp, Creator of CDK for Terraform Cloudgetriebene Softwareentwicklung / @skorfmann 2
Agenda • How we got here • Cloud Driven Development
• Workflows & Tools Cloudgetriebene Softwareentwicklung / @skorfmann 3
Fullstack Development - Local Runtime • Well understood workflows •
Fast Feedback Loops • Test Driven • Conventions • Majestic Monolith! Cloudgetriebene Softwareentwicklung / @skorfmann 4
12 Factor Apps • declarative automation • maximum portability •
dev / prod parity Cloudgetriebene Softwareentwicklung / @skorfmann 5
Works on my machine Ship it! Cloudgetriebene Softwareentwicklung / @skorfmann
6
Turning the monolith inside-out Cloudgetriebene Softwareentwicklung / @skorfmann 7
Cloudgetriebene Softwareentwicklung / @skorfmann / Image from https://www.swyx.io/self-provisioning-runtime 8
What we have to gain from turning the monolith inside
out? Cloudgetriebene Softwareentwicklung / @skorfmann 9
What might we loose from turning the monolith inside out?
Cloudgetriebene Softwareentwicklung / @skorfmann 10
Ok, great - so what? Cloudgetriebene Softwareentwicklung / @skorfmann 11
Embracing Cloud as Runtime Cloudgetriebene Softwareentwicklung / @skorfmann 12
IaC Tools Cloudgetriebene Softwareentwicklung / @skorfmann 13
Infrastructure as / is / from Code Cloudgetriebene Softwareentwicklung /
@skorfmann 14
Infrastructure as Code • Terraform • Cloudformation • Azure RM
/ Bicep Cloudgetriebene Softwareentwicklung / @skorfmann 15
Infrastructure is Code • AWS CDK • CDK for Terraform
• Pulumi Cloudgetriebene Softwareentwicklung / @skorfmann 16
Infrastructure from Code • Serverless Cloud • Cloudflare (i.e. Durable
Objects) Cloudgetriebene Softwareentwicklung / @skorfmann 17
Cloud Driven Development CDK / AWS Cloudgetriebene Softwareentwicklung / @skorfmann
18
Goals • Unified Infrastructure and Application Code • Embrace Cloud
as Runtime • Leverage existing services • Low Costs / Low Maintenance • True Dev / Prod Parity Cloudgetriebene Softwareentwicklung / @skorfmann 19
Non Goals • Portability Cloudgetriebene Softwareentwicklung / @skorfmann 20
Local vs Cloud • Local Stack • DDB Local •
Lambda Local • Step Functions Local • VTL Simulator • Some S3 Compatible local service Cloudgetriebene Softwareentwicklung / @skorfmann 21
Iteration Speed Cloudgetriebene Softwareentwicklung / @skorfmann 22
Serverless Stack • Focused on improving AWS API Gateway /
Lambda experience • Various runtimes (e.g. Node, Python) • Developer Console Cloudgetriebene Softwareentwicklung / @skorfmann 23
Merloc • Java only (for now) Cloudgetriebene Softwareentwicklung / @skorfmann
24
Functionless • TypeScript compiler plugin • AWS CDK Construct Cloudgetriebene
Softwareentwicklung / @skorfmann 25
Cloudgetriebene Softwareentwicklung / @skorfmann 26
Cloudgetriebene Softwareentwicklung / @skorfmann 27
Cloudgetriebene Softwareentwicklung / @skorfmann 28
Hotswap • Various AWS Services (e.g. Lambda, AppSync, Step Functions)
• Bypassing Cloudformation • Similar speed to Terraform (tuned) Cloudgetriebene Softwareentwicklung / @skorfmann 29
Watch / Parallel • Only Deploy / Hotswap changed Resources
• Deploy in parallel where possible Cloudgetriebene Softwareentwicklung / @skorfmann 30
Iteration Speed Conclusion • Serverless Stack • Merloc • Functionless
• Watch • Hot Swap Cloudgetriebene Softwareentwicklung / @skorfmann 31
Component Size Cloudgetriebene Softwareentwicklung / @skorfmann 32
Default to Constructs • Dependency Injection (e.g. a Bucket) •
Composable • Testable Cloudgetriebene Softwareentwicklung / @skorfmann 33
Testing Cloudgetriebene Softwareentwicklung / @skorfmann 34
Cloudgetriebene Softwareentwicklung / @skorfmann 35
Dedicated Test Stacks • Totally valid to create stacks just
for the sake of testing • Deploy Helper for Testing (e.g. event spy) Using xray • Start trace from test • Tried this, not sure if it's worth it Cloudgetriebene Softwareentwicklung / @skorfmann 36
Challenges • Async Behaviour (e.g. queues, trigger, timeouts) • Step
Function Workflows • Feedback Loops Cloudgetriebene Softwareentwicklung / @skorfmann 37
Cloudgetriebene Softwareentwicklung / @skorfmann 38
Cloudgetriebene Softwareentwicklung / @skorfmann 39
Observability Cloudgetriebene Softwareentwicklung / @skorfmann 40
• CDK Watch (beware of rate limits) • Cloudash.dev •
Lola.dev • Cloudcanvas.xyz (closed alpha) • Dynobase.dev • SST.dev Console • Custom Plumbing Cloudgetriebene Softwareentwicklung / @skorfmann 41
Cloudgetriebene Softwareentwicklung / @skorfmann 42
Cloudgetriebene Softwareentwicklung / @skorfmann 43
Cloudgetriebene Softwareentwicklung / @skorfmann 44
Cloud Driven Development • Fast iterations • Small Components •
Testable • Observable Cloudgetriebene Softwareentwicklung / @skorfmann 45
Are we there yet? Not quite - but we're getting
there Cloudgetriebene Softwareentwicklung / @skorfmann 46
Move Development Closer to the Cloud as it becomes the
Runtime Cloudgetriebene Softwareentwicklung / @skorfmann 47
Cloudgetriebene Softwareentwicklung / @skorfmann / Image from https://www.swyx.io/self-provisioning-runtime 48
Thanks! @skorfmann Cloudgetriebene Softwareentwicklung / @skorfmann 49