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
74
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
Cap'n Webについて
yusukebe
0
160
これならできる!個人開発のすゝめ
tinykitten
PRO
0
140
Findy AI+の開発、運用におけるMCP活用事例
starfish719
0
2k
CSC307 Lecture 01
javiergs
PRO
0
650
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
930
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
340
Graviton と Nitro と私
maroon1st
0
160
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
210
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
Grafana:建立系統全知視角的捷徑
blueswen
0
270
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
3.4k
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
330
Featured
See All Featured
The Language of Interfaces
destraynor
162
26k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
78
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Bash Introduction
62gerente
615
210k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
140
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
190
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.8k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
97
Building an army of robots
kneath
306
46k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5k
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