Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Most of my consulting work: Kubernetes + AWS @mlafeldt 3

Slide 4

Slide 4 text

"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

Slide 5

Slide 5 text

@mlafeldt 5

Slide 6

Slide 6 text

https://unsplash.com/photos/ZMcLVBi9xx4 6

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

https://www.allthingsdistributed.com/2019/08/modern-applications-at-aws.html 8

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Serverless is also a perfect fit for "recreational cloud programming" @mlafeldt 12

Slide 13

Slide 13 text

https://dilbert.com/strip/2019-08-30 13

Slide 14

Slide 14 text

@mlafeldt 14

Slide 15

Slide 15 text

@mlafeldt 15

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

@mlafeldt 17

Slide 18

Slide 18 text

@mlafeldt 18

Slide 19

Slide 19 text

Healthchecks.io @mlafeldt 19

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

DynamoDB Store for LaunchDarkly's Go SDK github.com/mlafeldt/launchdarkly-dynamo-store @mlafeldt 21

Slide 22

Slide 22 text

Serverless Chaos Monkey @mlafeldt 22

Slide 23

Slide 23 text

Positive Feedback @mlafeldt 23

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

Thank you. @mlafeldt https://sharpend.io [email protected] 25