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
AWS CDK - Infrastructure as Code
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Alexander Zeitler
February 19, 2020
Programming
48
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CDK - Infrastructure as Code
Slides for my AWS CDK talk at DevOps Meetup Karlsruhe, Germany
Alexander Zeitler
February 19, 2020
More Decks by Alexander Zeitler
See All by Alexander Zeitler
A Homage To Good Old MVC - JetBrains .NET Days 2024
alexzeitler
0
100
Docker-Compose - Container-Automatisierung mit Node.js
alexzeitler
0
73
CDK Components
alexzeitler
0
60
Leinen los: .NET Core Deployment mit Kubernetes in Azure #netdc18
alexzeitler
0
59
Kubernetes in Azure at Azure Meetup Frankfurt
alexzeitler
1
100
Azure ACS and Kubernetes at Imagine Conference 2017
alexzeitler
1
150
Azure ACS and Kubernetes
alexzeitler
1
99
Other Decks in Programming
See All in Programming
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
140
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
Honoでのサプライチェーン侵害対策 〜 3つのライブラリに学ぶ
yusukebe
6
1.3k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
340
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
580
Webフレームワークの ベンチマークについて
yusukebe
0
170
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
570
AIだと陥りがちなJakarta EE最新技術への移行時の落とし穴と解決策
tnagao7
0
110
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.1k
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
280
さぁV100、メモリをお食べ・・・
nilpe
0
140
Featured
See All Featured
HDC tutorial
michielstock
2
720
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
530
Designing Powerful Visuals for Engaging Learning
tmiket
1
420
Thoughts on Productivity
jonyablonski
76
5.2k
Leo the Paperboy
mayatellez
7
1.8k
Utilizing Notion as your number one productivity tool
mfonobong
4
320
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
390
We Are The Robots
honzajavorek
0
250
4 Signs Your Business is Dying
shpigford
187
22k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Transcript
AWS CDK Infrastructure as Code
Alexander Zeitler CTO + Cloud Solution Architect Vote2Work | @lxztlr
AWS CDK 2
Cloud Deployments • Reliable • Repeatable (Reproducible) • Testable •
Secure 3 AWS CDK
Level 0: Manual Infrastructure Setup 4 AWS CDK
Level 0: Manual Infrastructure Setup 5 AWS CDK Error prone
Not reproducable Time consuming Easy to get started Learn new Services
Level 1: Imperative Infrastructure as Code 6 AWS CDK deploy.*
AWS SDK AWS CLI
Level 1: Imperative Infrastructure as Code 7 AWS CDK Error
Handling (Retry) Infrastructure Updates Readiness Checks Rollback Concurrency
Level 1: Imperative Infrastructure as Code 8 AWS CDK Boilerplate
Coding Time consuming More mature than Manual • Faster • Reproducable (from Scratch)
Level 2: Declarative Infrastructure as Code 9 AWS CDK infrastructure.*
AWS CloudFormation AWS SDK
Level 2: Declarative Infrastructure as Code 10 AWS CDK infrastructure.*
Level 2: Declarative Infrastructure as Code 11 AWS CDK AWS
CloudFormation Template HashiCorp Configuration Language Desired State Configuration AWS CloudFormation
Level 2: Declarative Infrastructure as Code 12 AWS CDK Syntax
Lack of Abstractions Chatty Automation Reproducable Handles create vs. update
CloudFormation DOM 13 AWS CDK AWS CloudFormation CloudFormation Template Example:
GoFormation
CloudFormation DOM 14 AWS CDK Lack of Abstractions Real Code
Desired State
Maturity Levels of IaC 15 AWS CDK Manual Imperative Declarative
DOMs 2 1 0 “2+”
Level 3: AWS Cloud Development Kit (CDK) 16 AWS CDK
stack.ts AWS CFN AWS SDK AWS CDK
AWS CDK Constructs • Low-Level constructs based on AWS CloudFormation
• IAM Policy, IAM User, IAM Group, IAM Permission… • S3 Bucket • Route53 HostedZone • AWS Lambda • CloudWatch 17 AWS CDK
AWS CDK Stacks 18 AWS CDK Stack(s) Construct Construct AWS
CloudFormation CloudFormation Template
19 AWS CDK AWS CDK – Supported Platforms
AWS CDK - Abstraction 20 AWS CDK
AWS CDK 21 AWS CDK Write Code in familiar language
Create dependent resources with a single line of code Still declarative (CFN), handles create vs. update
AWS CDK - Commands 22 AWS CDK • cdk init
• cdk bootstrap • cdk synth • cdk deploy • cdk destroy
Hands on 23 AWS CDK
Team/Company Topologies • Infrastructure • Dev • Ops • Billing
24 AWS CDK
CDK Components / Patterns • Opinionated Compositions of CDK Constructs
• Permissions to deploy a PWA on S3 with route53 CNAME • Add/Remove CNAME in HostedZone • route53:ChangeResourceRecordSets • route53:ListHostedZonesByName • route53:GetHostedZone • route53:GetChange • Create S3 Bucket / Deploy to S3 Bucket 25 AWS CDK
26 AWS CDK IAM Base (Administrators etc.) AWS root Account
CDK Application / Service CDK Construct Security CI/CD CDK Pattern CDK Construct AWS CDK – Patterns
CDK Components / Patterns • Separation of Concerns • Reusable
across teams / services / applications • “Best practices as Code” (Patterns) • Least privilege • Tested 27 AWS CDK
Thanks! 28 AWS CDK
Resources Links • CDK Workshop: https://cdkworkshop.com/ • PDMLab CDK Constructs:
https://www.npmjs.com/package/@pdmlab/cdk-constructs • CDK Patterns: https://cdkpatterns.com/ • Building Cross-platform CDK Constructs: https://www.matthewbonig.com/2020/01/11/creating-constructs/ • CDK constructs on npm: #cdk • CDK Catalog on Twitter: @awscdkio 29 AWS CDK