Moin! I'm Mathias Lafeldt I help nice people learn how to embrace the cloud 6 years of experience running production systems on AWS ✌ Freelancer by choice @mlafeldt 2
Most of my consulting work: Kubernetes + AWS @mlafeldt 3
"Kubernetes is a fairly complex system with many moving parts. Its ecosystem is constantly evolving and adding even more layers (service mesh, ...) to the mix. Considering this environment, we don't hear enough real-world horror stories to learn from each other!" -- Henning Jacobs @mlafeldt 4
@mlafeldt 5
https://unsplash.com/photos/ZMcLVBi9xx4 6
Recreational Programming "One of my life's goal is to help people remember what they found in computer programming originally." -- Jamis Buck https://weblog.jamisbuck.org 7
https://www.allthingsdistributed.com/2019/08/modern-applications-at-aws.html 8
Increase Agility and Innovation Speed 1. Microservices architecture 2. Purpose-built databases 3. Automated release pipelines 4. Automated, continuous security 5. As serverless as possible @mlafeldt 9
The Serverless Future "At Amazon, we're not completely serverless ourselves, but we're moving in that direction." "In fact, we anticipate that there will soon be a whole generation of developers who have never touched a server and only write business logic." -- Werner @mlafeldt 10
Serverless 101 • Services that run without the need for infrastructure provisioning & scaling • Built-in availability and security • Pay-for-value billing model • Focus on "secret sauce" • Faster path to customer value @mlafeldt 11
Serverless is also a perfect fit for "recreational cloud programming" @mlafeldt 12
https://dilbert.com/strip/2019-08-30 13
@mlafeldt 14
@mlafeldt 15
2 Lambdas, 1 Bucket $ serverless invoke -f get-strip -d '{"date":"2019-08-30"}' { "date": "2019-08-30", "title": "No One Is Taking Advice", "image_url": "https://assets.amuniversal.com/ef1707409f430137b461005056a9545d", "strip_url": "http://dilbert.com/strip/2019-08-30", "upload_url": "https://some-bucket.s3.eu-central-1.amazonaws.com/strips/2019-08-30.gif" } $ serverless invoke -f gen-feed { "feed_url": "https://some-bucket.s3.eu-central-1.amazonaws.com/feed.xml" } @mlafeldt 16
@mlafeldt 17
@mlafeldt 18
Healthchecks.io @mlafeldt 19
Things I learned from this project • AWS Lambda with Go • Parsing HTML, generating RSS feeds in Go • AWS Step Functions • Lightweight cron monitoring • Serverless deployment via SLS / AWS SAM / Terraform • Playground & template for other projects @mlafeldt 20
DynamoDB Store for LaunchDarkly's Go SDK github.com/mlafeldt/launchdarkly-dynamo-store @mlafeldt 21
Serverless Chaos Monkey @mlafeldt 22
Positive Feedback @mlafeldt 23
Takeaways • Cloud projects don't have to be big or great • Sometimes, it's enough for them to be fun • Building things is fulfilling, servers are a distraction • Serverless is a great fit for recreational programming @mlafeldt 24
Thank you. @mlafeldt https://sharpend.io mathias@sharpend.io 25
Recommend
More recommend