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
75
Cloud Driven Development
Sebastian Korfmann
October 03, 2022
Tweet
Share
More Decks by Sebastian Korfmann
See All by Sebastian Korfmann
Agentic Coding
skorfmann
0
3
Cloud Engineering amplified by GPT-4
skorfmann
0
100
Terraform CDK 101 - Hashitalks DACH
skorfmann
1
130
Terraform CDK 101
skorfmann
0
120
AWS Cloud Development Kit 101
skorfmann
0
190
Other Decks in Programming
See All in Programming
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
130
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
190
Grafana:建立系統全知視角的捷徑
blueswen
0
330
高速開発のためのコード整理術
sutetotanuki
1
390
Fragmented Architectures
denyspoltorak
0
150
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
690
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
240
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
970
CSC307 Lecture 03
javiergs
PRO
1
490
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
640
Basic Architectures
denyspoltorak
0
660
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
630
Featured
See All Featured
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
930
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.5k
Testing 201, or: Great Expectations
jmmastey
46
8k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
sira's awesome portfolio website redesign presentation
elsirapls
0
140
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
400
Discover your Explorer Soul
emna__ayadi
2
1.1k
Ethics towards AI in product and experience design
skipperchong
2
190
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