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
83
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloud Driven Development
Sebastian Korfmann
October 03, 2022
More Decks by Sebastian Korfmann
See All by Sebastian Korfmann
Agentic Coding
skorfmann
0
20
Cloud Engineering amplified by GPT-4
skorfmann
0
110
Terraform CDK 101 - Hashitalks DACH
skorfmann
1
130
Terraform CDK 101
skorfmann
0
120
AWS Cloud Development Kit 101
skorfmann
0
200
Other Decks in Programming
See All in Programming
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
220
さぁV100、メモリをお食べ・・・
nilpe
0
150
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
180
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
170
RTSPクライアントを自作してみた話
simotin13
0
620
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
2
560
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.8k
JavaDoc 再入門
nagise
1
410
Agentic UI
manfredsteyer
PRO
0
190
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
280
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
170
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
870
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
A Modern Web Designer's Workflow
chriscoyier
698
190k
エンジニアに許された特別な時間の終わり
watany
107
250k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Navigating Team Friction
lara
192
16k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
KATA
mclloyd
PRO
35
15k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
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