The Serverless first mindset is the standard that I try to hold myself against with everything new I create. Do I need to custom build this? Has someone else already built a managed service? Does the ongoing cost outweigh the business impact?
The step in the Serverless journey that I feel we undersell as an industry is where we move from day one simple Serverless solutions to resilient and scalable well architected solutions. To address this I have brought together proven patterns and tools at cdkpatterns.com
In this talk, I will:
- Define the Serverless first mindset
- Introduce you to the AWS CDK
- Compare CDK development to CloudFormation YAML
- Discuss “AWS Serverless Well Architected” White Paper and Lens
- Show you why http://cdkpatterns.com can help
My Serverless First Journey Through CloudFormation to AWS CDK
1. 1
Matt Coulter
2011 2020
Technical Architect
My Serverless First Journey Through
CloudFormation to AWS CDK
26th June 2020
2017
@nideveloper
cdkpatterns.com
2. Liberty IT 2
The Serverless First Mindset
@nideveloper
“Code Is A Liability”
(Serverless folks didn’t even invent this phrase, reuse where possible)
Focus on Business ValueWith less code to maintain you can
cdkpatterns.com
4. Liberty IT 4
What Is AWS CDK?
@nideveloper
“Use the AWS CDK to define your cloud resources in a familiar programming
language.
The AWS CDK supports TypeScript, JavaScript, Python, Java, and C#/.Net.”
https://docs.aws.amazon.com/cdk/latest/guide/home.html
cdkpatterns.com
5. Liberty IT 5
What Is AWS CDK?
@nideveloper
“Use the AWS CDK to define your cloud resources in a familiar programming
language.
The AWS CDK supports TypeScript, JavaScript, Python, Java, and C#/.Net.”
“Code Is A Liability”
But you literally just said
https://docs.aws.amazon.com/cdk/latest/guide/home.html
…YAML is still code
cdkpatterns.com
6. Liberty IT 6
Evolving CloudFormation
@nideveloper
ValueChain
Evolution
visibleinvisible
Genesis Custom Built Product
(+ rental)
Commodity
(+ utility)
CloudFormation Stack YML CloudFormation
Custom Resources S3
Lambda
Application
User
cdkpatterns.com
Your YAML is “Custom Built”
- Invisible to your user
- Can be > 1000 LOC
7. Liberty IT 7
Evolving CloudFormation
@nideveloper
ValueChain
Evolution
visibleinvisible
Genesis Custom Built Product
(+ rental)
Commodity
(+ utility)
CloudFormation Stack YML CloudFormation
Custom Resources S3
Lambda
Application
User
cdkpatterns.com
Products reduce your liability
8. Liberty IT 8
CDK vs CFT YML
@nideveloper
Versus
Is the same as
cdk synth > template.yaml
cdkpatterns.com
9. Liberty IT 9
CDK Allows Unit Tests
@nideveloper
Have automated checks in your build for the parts that you care about
cdkpatterns.com
10. Liberty IT 10
CDK Loves Reusable Patterns
@nideveloper
Help others evolve their stacks towards commodity with:
cdkpatterns.com
Inspired by
And
You?
11. Liberty IT 11
Operational Excellence
Security
Reliability
Performance Efficiency
Cost Optimization
+
@nidevelopercdkpatterns.com
12. Liberty IT 12
CDK Patterns + AWS Well Architected
@nideveloper
cdkpatterns.com/patterns/well-architected
AWS Best Practices
Note: This is in Beta, gaps will be filled
cdkpatterns.com
OPS1: How do you understand the health of your serverless application?
1 / Understand, analyze, and alert on metrics provided out of the box:
- Broken Down By AWS Best Practices
- Links To Official AWS Advice
- OpenSource Working Examples
13. Liberty IT 13
CDK Patterns – Coming Soon
@nideveloper
Business Driven Metrics and Dashboards
“Cart Checkouts are down 10% today” Advanced Structured Logging
https://awslabs.github.io/aws-lambda-powertools-python/
https://github.com/getndazn/dazn-lambda-powertools
cdkpatterns.com
14. Liberty IT 14
Summary
@nideveloper
AWS CDK and friends will
Reduce your liability(so you can focus on business value)
cdkpatterns.com
Code Is A Liability,
Maintain high standards with
The Well-Architected Framework
and
use Wardley mapping to find yours