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
0
47
AWS CDK - Infrastructure as Code
Slides for my AWS CDK talk at DevOps Meetup Karlsruhe, Germany
Alexander Zeitler
February 19, 2020
Tweet
Share
More Decks by Alexander Zeitler
See All by Alexander Zeitler
A Homage To Good Old MVC - JetBrains .NET Days 2024
alexzeitler
0
89
Docker-Compose - Container-Automatisierung mit Node.js
alexzeitler
0
66
CDK Components
alexzeitler
0
58
Leinen los: .NET Core Deployment mit Kubernetes in Azure #netdc18
alexzeitler
0
58
Kubernetes in Azure at Azure Meetup Frankfurt
alexzeitler
1
89
Azure ACS and Kubernetes at Imagine Conference 2017
alexzeitler
1
150
Azure ACS and Kubernetes
alexzeitler
1
94
Other Decks in Programming
See All in Programming
生成 AI 時代のスナップショットテストってやつを見せてあげますよ(α版)
ojun9
0
260
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
480
条件判定に名前、つけてますか? #phperkaigi #c
77web
1
150
AI活用のコスパを最大化する方法
ochtum
0
200
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
410
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
220
Linux Kernelの1文字のミスで 権限昇格ができた話
rqda
0
1.7k
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.9k
安いハードウェアでVulkan
fadis
0
470
Docコメントで始める簡単ガードレール
keisukeikeda
1
120
仕様漏れ実装漏れをなくすトレーサビリティAI基盤のご紹介
orgachem
PRO
6
2k
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
150
Featured
See All Featured
Abbi's Birthday
coloredviolet
2
5.4k
Building Applications with DynamoDB
mza
96
7k
Google's AI Overviews - The New Search
badams
0
930
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.4k
How to make the Groovebox
asonas
2
2k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
990
Six Lessons from altMBA
skipperchong
29
4.2k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
60
43k
Ruling the World: When Life Gets Gamed
codingconduct
0
180
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.4k
Side Projects
sachag
455
43k
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