SlideShare a Scribd company logo
AWS CDK
Developer Centric > Infrastructure as Code > Next Generation
Digital Transformation – 2019 November
Cloud Development Kit
© DIGITAL TRANSFORMATION AWS CDK 2
KASUN JAYASURIYA
Software Architect @ Digital Transformation
kasundilunika@gmail.com
@dilunika
www.linkedin.com/in/kasundilunika
medium.com/@dilunika
kasun@digitaltransformation.co.nz
@DTL_NZ
www.linkedin.com/company/dtlnz
medium.com/dtlpub
PRESENTATION
AGENDA
Infrastructure as Code (IaC)
IaC in Serverless & CDK
Practical Case Study - Piglet
CDK Concepts & Demo
Pros & Cons
01
02
03
04
05
© DIGITAL TRANSFORMATION AWS CDK 4
INFRASTRUCTURE AS CODE
brings your networks, virtual machines, load balancers, and connection topology into some form of source code
Without IaC, teams must maintain the settings of individual deployment
environments. Over time, each environment becomes a snowflake, that is,
a unique configuration that cannot be reproduced automatically.
SOLVE THE PROBLEM OF ENVIRONMENT DRIFT
Idempotence is the property that a deployment command always sets
the target environment into the same configuration, regardless of the
environment’s starting state. Idempotency is achieved by either
automatically configuring an existing target or by discarding the existing
target and recreating a fresh environment.
MAINTAINS IDEMPOTENCY
Accordingly, with IaC, teams make changes to the environment description
and version the configuration model, which is typically in well-documented
code formats such as JSON. The release pipeline executes the model to
configure target environments. If the team needs to make changes, they
edit the source, not the target.
VERSION EVERY CHANGE
© DIGITAL TRANSFORMATION
PUBLIC CLOUDS & VENDORS
Their Cloud, Their APIs
AWS APIS & SDK
AWS has exposed majority of their cloud resources publicly
using REST APIs. In addition to the APIs, there are SDKs written
in all the major programming languages which makes
programmers life easy.
AWS CLOUD FORMATION
Cloud Formation is the next level abstraction of SDK. It provides
you set of tools that you can define your cloud resources
declaratively using YAML or JSON syntax.
HASHICORP TERRAFORM
Terraform is an open-source infrastructure as code software tool
created by HashiCorp. It enables users to define and provision a
datacenter infrastructure using a high-level configuration language
known as Hashicorp Configuration Language
Terraform
Cloud Formation
SDKs
Web APIs
AWS HAS STRONG SDK
AWS has released SDKs for almost
all services in multiple languages.
BUT SDK DOESN’T
MAINTAIN THE STATE
When you are working with SDK,
you are responsible for maintaining
the state of the infrastructure
created
CDK TAKES CARE OF THE
STATE
CDK is an extension of Cloud
Formation. It does the entire state
management as CF does
WHY CDK? THERE IS SDK
Reinventing wheel?
AWS CDK
Terraform
Cloud Formation
SDKs
Web APIs
State
State
“SERVERLESS APPLICATION
DEVELOPMENT CHALLENGED THE
PRACTICES WE FOLLOWED IN OUR
IAC FRONT”
MORE WORK TO OPS TEAM
1
2
4
5
3
1. Jenkins runs terraform scripts to setup the environment
2. Terraform creates network resources in AWS
3. Serverless configurations files are updated with extracted resources addresses
4. Jenkins trigger serverless deployment scripts
5. Serverless creates application resources in AWS
Single IaC framework for both infrastructure and lambda
Developer friendly and less bulky compared to Cloud Formation
No manual work or bridging code required in between
CDK, A SOLUTION
© DIGITAL TRANSFORMATION
CDK CONCEPTS
Basically three constructs
APPS
STACKS
CONSTRUCTS
A construct represents a "cloud component" and
encapsulates everything AWS CloudFormation
needs to create the component.
The unit of deployment in the AWS CDK is
called a stack. A root construct which
represents a single CloudFormation stack.
A construct which represents an entire CDK
app. This construct is normally the root of the
construct tree.
HAS IT BEEN EVER
USED IN
PRODUCTION?
YES WE DO
PIGLET
Budget & Expense Manager Application Suite
© DIGITAL TRANSFORMATION AWS CDK 13
AWS CDK Introduction
© DIGITAL TRANSFORMATION AWS CDK 15
RTO DETAILED
Setting up entire infrastructure from the scratch and deploy full application
ALEXA SKILL
DEPLOYMENT
SETTING UP
INFRASTRUCTURE
E2E REGRESSION
TEST RUN
API DEPLOYMENT PORTAL
DEPLOYMENT
5 MINUTES 2 MINUTES 5 MINUTES
10 MINUTES 10 MINUTES*
© DIGITAL TRANSFORMATION AWS CDK 16
© DIGITAL TRANSFORMATION AWS CDK 17
CDK APP
Root of the the entire structure
© DIGITAL TRANSFORMATION AWS CDK 18
MICROSERVICES STACK
This stack deploys all the infrastructure resources related to Piglet APIs
PARENT
STACK PROPS
CONSTRUCTOR
You must instantiate all the construct which you want
to attach with this stack. This is the only public
function interface framework identifies and execute.
Props is the data structure that you use to pass all the
extra details to the stack
Reference of the app should be passed as the parent.
© DIGITAL TRANSFORMATION AWS CDK 19
MICROSERVICE CONSTRUCT
Microservice contains one or more lambda and it associated resources
PARENT
CONSTRUCTOR PROPS
CONSTRUCTOR
You must write all your resource creation code here.
This is the only public function interface framework
identifies and execute.
Props is the data structure that you use to pass all the
extra details to the construct
Reference of the stack should be passed as the
parent.
LET’S SEE SOME CODE
AWS CDK Introduction
© DIGITAL TRANSFORMATION AWS CDK 22
CDK
PROS
AND
CONS
Most of the services are still in
unstable development stage. With
every update, you will get breaking
changes.
Some of the key services still haven’t
released any CDK module. When
you are working on a project where
lots of AWS services are required,
there is a high chance that you must
use hybrid approach.
Incomplete documentation and lack
of examples in the internet.
Several critical bugs still unresolved
for many releases.
CONS
Usage of general-purpose
programming languages makes its
easy to align on programming best
practices that you follow in the
organization as a development team.
Sensible defaults reduces number of
code lines that you must write.
Ability to build reusable libraries
reduced the amount of copy pastes
you did with its predecessor, Cloud
Formation .
PROS
© DIGITAL TRANSFORMATION AWS CDK 23
Q & A
kasundilunika@gmail.com
@dilunika
www.linkedin.com/in/kasundilunika
medium.com/@dilunika
kasun@digitaltransformation.co.nz
@DTL_NZ
www.linkedin.com/company/dtlnz
medium.com/dtlpub
Ad

More Related Content

What's hot (20)

AWS CDK introduction
AWS CDK introductionAWS CDK introduction
AWS CDK introduction
leo lapworth
 
Programming Infrastructure with AWS CDK
Programming Infrastructure with AWS CDKProgramming Infrastructure with AWS CDK
Programming Infrastructure with AWS CDK
Donnie Prakoso
 
Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET Microservices
VMware Tanzu
 
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
Amazon Web Services Japan
 
AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail
Amazon Web Services Japan
 
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar AWS Key Management Service (KMS) AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
Amazon Web Services Japan
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptx
BrandenTimm1
 
Crossplane @ Mastering GitOps.pdf
Crossplane @ Mastering GitOps.pdfCrossplane @ Mastering GitOps.pdf
Crossplane @ Mastering GitOps.pdf
QAware GmbH
 
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
Amazon Web Services Korea
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
Amazon Web Services Japan
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
CloudOps2005
 
AWS上でのWebアプリケーションデプロイ
AWS上でのWebアプリケーションデプロイAWS上でのWebアプリケーションデプロイ
AWS上でのWebアプリケーションデプロイ
Amazon Web Services Japan
 
Introduction to AWS IAM
Introduction to AWS IAMIntroduction to AWS IAM
Introduction to AWS IAM
Knoldus Inc.
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Gabriel Carro
 
20191105 AWS Black Belt Online Seminar Amazon Route 53 Hosted Zone
20191105 AWS Black Belt Online Seminar Amazon Route 53 Hosted Zone20191105 AWS Black Belt Online Seminar Amazon Route 53 Hosted Zone
20191105 AWS Black Belt Online Seminar Amazon Route 53 Hosted Zone
Amazon Web Services Japan
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
Amazon Web Services Japan
 
Serverless computing with AWS Lambda
Serverless computing with AWS Lambda Serverless computing with AWS Lambda
Serverless computing with AWS Lambda
Apigee | Google Cloud
 
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
EastBanc Tachnologies
 
presentation on Docker
presentation on Dockerpresentation on Docker
presentation on Docker
Virendra Ruhela
 
AWS CDK introduction
AWS CDK introductionAWS CDK introduction
AWS CDK introduction
leo lapworth
 
Programming Infrastructure with AWS CDK
Programming Infrastructure with AWS CDKProgramming Infrastructure with AWS CDK
Programming Infrastructure with AWS CDK
Donnie Prakoso
 
Building .NET Microservices
Building .NET MicroservicesBuilding .NET Microservices
Building .NET Microservices
VMware Tanzu
 
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
Amazon Web Services Japan
 
AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail
Amazon Web Services Japan
 
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar AWS Key Management Service (KMS) AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
Amazon Web Services Japan
 
Backstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptxBackstage at CNCF Madison.pptx
Backstage at CNCF Madison.pptx
BrandenTimm1
 
Crossplane @ Mastering GitOps.pdf
Crossplane @ Mastering GitOps.pdfCrossplane @ Mastering GitOps.pdf
Crossplane @ Mastering GitOps.pdf
QAware GmbH
 
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
AWS로 게임의 공통 기능 개발하기! - 채민관, 김민석, 한준식 :: AWS Game Master 온라인 세미나 #2
Amazon Web Services Korea
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
Amazon Web Services Japan
 
GitOps with ArgoCD
GitOps with ArgoCDGitOps with ArgoCD
GitOps with ArgoCD
CloudOps2005
 
AWS上でのWebアプリケーションデプロイ
AWS上でのWebアプリケーションデプロイAWS上でのWebアプリケーションデプロイ
AWS上でのWebアプリケーションデプロイ
Amazon Web Services Japan
 
Introduction to AWS IAM
Introduction to AWS IAMIntroduction to AWS IAM
Introduction to AWS IAM
Knoldus Inc.
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Gabriel Carro
 
20191105 AWS Black Belt Online Seminar Amazon Route 53 Hosted Zone
20191105 AWS Black Belt Online Seminar Amazon Route 53 Hosted Zone20191105 AWS Black Belt Online Seminar Amazon Route 53 Hosted Zone
20191105 AWS Black Belt Online Seminar Amazon Route 53 Hosted Zone
Amazon Web Services Japan
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
Amazon Web Services Japan
 
Serverless computing with AWS Lambda
Serverless computing with AWS Lambda Serverless computing with AWS Lambda
Serverless computing with AWS Lambda
Apigee | Google Cloud
 
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 

Similar to AWS CDK Introduction (20)

ANIn Chennai Feb 2023 | CI/CD with AWS CDK by Shashank Aadimulam
ANIn Chennai Feb 2023 | CI/CD with AWS CDK by Shashank AadimulamANIn Chennai Feb 2023 | CI/CD with AWS CDK by Shashank Aadimulam
ANIn Chennai Feb 2023 | CI/CD with AWS CDK by Shashank Aadimulam
AgileNetwork
 
Building infrastructure with code_ A deep dive into CDK for IaC in Java.pdf
Building infrastructure with code_ A deep dive into CDK for IaC in Java.pdfBuilding infrastructure with code_ A deep dive into CDK for IaC in Java.pdf
Building infrastructure with code_ A deep dive into CDK for IaC in Java.pdf
mohitd6
 
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode DeployHybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Claudia Ring
 
AWS CDK (Cloud Development Kit): A Comprehensive Guide
AWS CDK (Cloud Development Kit): A Comprehensive GuideAWS CDK (Cloud Development Kit): A Comprehensive Guide
AWS CDK (Cloud Development Kit): A Comprehensive Guide
Inexture Solutions
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
VMware Tanzu
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
VMware Tanzu
 
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
VMware Tanzu
 
Docker for Private Clouds with RackHD - Justin Kenney and Aaron Spiegel - Del...
Docker for Private Clouds with RackHD - Justin Kenney and Aaron Spiegel - Del...Docker for Private Clouds with RackHD - Justin Kenney and Aaron Spiegel - Del...
Docker for Private Clouds with RackHD - Justin Kenney and Aaron Spiegel - Del...
{code} by Dell EMC
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
QAware GmbH
 
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Mark Church
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
sbbabu
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
IBM
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
Daniel Krook
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
Bret Piatt
 
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling CloudsElevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Michael Elder
 
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Codit
 
2018 04-06 kubernetes ingress in production
2018 04-06 kubernetes ingress in production2018 04-06 kubernetes ingress in production
2018 04-06 kubernetes ingress in production
Sandor Szuecs
 
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Sanjeev Rampal
 
Cdk 101
Cdk 101Cdk 101
Cdk 101
TatendaMagondo
 
Tech Talk - Cloud Transformation in 2017
Tech Talk - Cloud Transformation in 2017Tech Talk - Cloud Transformation in 2017
Tech Talk - Cloud Transformation in 2017
Alex Rhea
 
ANIn Chennai Feb 2023 | CI/CD with AWS CDK by Shashank Aadimulam
ANIn Chennai Feb 2023 | CI/CD with AWS CDK by Shashank AadimulamANIn Chennai Feb 2023 | CI/CD with AWS CDK by Shashank Aadimulam
ANIn Chennai Feb 2023 | CI/CD with AWS CDK by Shashank Aadimulam
AgileNetwork
 
Building infrastructure with code_ A deep dive into CDK for IaC in Java.pdf
Building infrastructure with code_ A deep dive into CDK for IaC in Java.pdfBuilding infrastructure with code_ A deep dive into CDK for IaC in Java.pdf
Building infrastructure with code_ A deep dive into CDK for IaC in Java.pdf
mohitd6
 
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode DeployHybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Hybrid Cloud DevOps with Apprenda and UrbanCode Deploy
Claudia Ring
 
AWS CDK (Cloud Development Kit): A Comprehensive Guide
AWS CDK (Cloud Development Kit): A Comprehensive GuideAWS CDK (Cloud Development Kit): A Comprehensive Guide
AWS CDK (Cloud Development Kit): A Comprehensive Guide
Inexture Solutions
 
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - LondonPCF: Platform for a New Era - Kubernetes for the Enterprise - London
PCF: Platform for a New Era - Kubernetes for the Enterprise - London
VMware Tanzu
 
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan GoksuSpring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
VMware Tanzu
 
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
VMware Tanzu
 
Docker for Private Clouds with RackHD - Justin Kenney and Aaron Spiegel - Del...
Docker for Private Clouds with RackHD - Justin Kenney and Aaron Spiegel - Del...Docker for Private Clouds with RackHD - Justin Kenney and Aaron Spiegel - Del...
Docker for Private Clouds with RackHD - Justin Kenney and Aaron Spiegel - Del...
{code} by Dell EMC
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
QAware GmbH
 
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Docker Enterprise Networking and Cisco Contiv - Cisco Live 2017 BRKSDN-2256
Mark Church
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
sbbabu
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
IBM
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
Daniel Krook
 
Cloud Deployment Toolkit
Cloud Deployment ToolkitCloud Deployment Toolkit
Cloud Deployment Toolkit
Bret Piatt
 
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling CloudsElevating your Continuous Delivery Strategy Above the Rolling Clouds
Elevating your Continuous Delivery Strategy Above the Rolling Clouds
Michael Elder
 
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Hybrid integrationwithsap (Glenn Colpaert @ Integration Monday)
Codit
 
2018 04-06 kubernetes ingress in production
2018 04-06 kubernetes ingress in production2018 04-06 kubernetes ingress in production
2018 04-06 kubernetes ingress in production
Sandor Szuecs
 
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Cisco Live 2017: Container networking deep dive with Docker Enterprise Editio...
Sanjeev Rampal
 
Tech Talk - Cloud Transformation in 2017
Tech Talk - Cloud Transformation in 2017Tech Talk - Cloud Transformation in 2017
Tech Talk - Cloud Transformation in 2017
Alex Rhea
 
Ad

Recently uploaded (20)

How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
Interactive odoo dashboards for sales, CRM , Inventory, Invoice, Purchase, Pr...
AxisTechnolabs
 
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software DevelopmentSecure Test Infrastructure: The Backbone of Trustworthy Software Development
Secure Test Infrastructure: The Backbone of Trustworthy Software Development
Shubham Joshi
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Not So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java WebinarNot So Common Memory Leaks in Java Webinar
Not So Common Memory Leaks in Java Webinar
Tier1 app
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Ad

AWS CDK Introduction

  • 1. AWS CDK Developer Centric > Infrastructure as Code > Next Generation Digital Transformation – 2019 November Cloud Development Kit
  • 2. © DIGITAL TRANSFORMATION AWS CDK 2 KASUN JAYASURIYA Software Architect @ Digital Transformation [email protected] @dilunika www.linkedin.com/in/kasundilunika medium.com/@dilunika [email protected] @DTL_NZ www.linkedin.com/company/dtlnz medium.com/dtlpub
  • 3. PRESENTATION AGENDA Infrastructure as Code (IaC) IaC in Serverless & CDK Practical Case Study - Piglet CDK Concepts & Demo Pros & Cons 01 02 03 04 05
  • 4. © DIGITAL TRANSFORMATION AWS CDK 4 INFRASTRUCTURE AS CODE brings your networks, virtual machines, load balancers, and connection topology into some form of source code Without IaC, teams must maintain the settings of individual deployment environments. Over time, each environment becomes a snowflake, that is, a unique configuration that cannot be reproduced automatically. SOLVE THE PROBLEM OF ENVIRONMENT DRIFT Idempotence is the property that a deployment command always sets the target environment into the same configuration, regardless of the environment’s starting state. Idempotency is achieved by either automatically configuring an existing target or by discarding the existing target and recreating a fresh environment. MAINTAINS IDEMPOTENCY Accordingly, with IaC, teams make changes to the environment description and version the configuration model, which is typically in well-documented code formats such as JSON. The release pipeline executes the model to configure target environments. If the team needs to make changes, they edit the source, not the target. VERSION EVERY CHANGE
  • 5. © DIGITAL TRANSFORMATION PUBLIC CLOUDS & VENDORS Their Cloud, Their APIs AWS APIS & SDK AWS has exposed majority of their cloud resources publicly using REST APIs. In addition to the APIs, there are SDKs written in all the major programming languages which makes programmers life easy. AWS CLOUD FORMATION Cloud Formation is the next level abstraction of SDK. It provides you set of tools that you can define your cloud resources declaratively using YAML or JSON syntax. HASHICORP TERRAFORM Terraform is an open-source infrastructure as code software tool created by HashiCorp. It enables users to define and provision a datacenter infrastructure using a high-level configuration language known as Hashicorp Configuration Language Terraform Cloud Formation SDKs Web APIs
  • 6. AWS HAS STRONG SDK AWS has released SDKs for almost all services in multiple languages. BUT SDK DOESN’T MAINTAIN THE STATE When you are working with SDK, you are responsible for maintaining the state of the infrastructure created CDK TAKES CARE OF THE STATE CDK is an extension of Cloud Formation. It does the entire state management as CF does WHY CDK? THERE IS SDK Reinventing wheel? AWS CDK Terraform Cloud Formation SDKs Web APIs State State
  • 7. “SERVERLESS APPLICATION DEVELOPMENT CHALLENGED THE PRACTICES WE FOLLOWED IN OUR IAC FRONT” MORE WORK TO OPS TEAM
  • 8. 1 2 4 5 3 1. Jenkins runs terraform scripts to setup the environment 2. Terraform creates network resources in AWS 3. Serverless configurations files are updated with extracted resources addresses 4. Jenkins trigger serverless deployment scripts 5. Serverless creates application resources in AWS
  • 9. Single IaC framework for both infrastructure and lambda Developer friendly and less bulky compared to Cloud Formation No manual work or bridging code required in between CDK, A SOLUTION
  • 10. © DIGITAL TRANSFORMATION CDK CONCEPTS Basically three constructs APPS STACKS CONSTRUCTS A construct represents a "cloud component" and encapsulates everything AWS CloudFormation needs to create the component. The unit of deployment in the AWS CDK is called a stack. A root construct which represents a single CloudFormation stack. A construct which represents an entire CDK app. This construct is normally the root of the construct tree.
  • 11. HAS IT BEEN EVER USED IN PRODUCTION? YES WE DO
  • 12. PIGLET Budget & Expense Manager Application Suite
  • 15. © DIGITAL TRANSFORMATION AWS CDK 15 RTO DETAILED Setting up entire infrastructure from the scratch and deploy full application ALEXA SKILL DEPLOYMENT SETTING UP INFRASTRUCTURE E2E REGRESSION TEST RUN API DEPLOYMENT PORTAL DEPLOYMENT 5 MINUTES 2 MINUTES 5 MINUTES 10 MINUTES 10 MINUTES*
  • 17. © DIGITAL TRANSFORMATION AWS CDK 17 CDK APP Root of the the entire structure
  • 18. © DIGITAL TRANSFORMATION AWS CDK 18 MICROSERVICES STACK This stack deploys all the infrastructure resources related to Piglet APIs PARENT STACK PROPS CONSTRUCTOR You must instantiate all the construct which you want to attach with this stack. This is the only public function interface framework identifies and execute. Props is the data structure that you use to pass all the extra details to the stack Reference of the app should be passed as the parent.
  • 19. © DIGITAL TRANSFORMATION AWS CDK 19 MICROSERVICE CONSTRUCT Microservice contains one or more lambda and it associated resources PARENT CONSTRUCTOR PROPS CONSTRUCTOR You must write all your resource creation code here. This is the only public function interface framework identifies and execute. Props is the data structure that you use to pass all the extra details to the construct Reference of the stack should be passed as the parent.
  • 22. © DIGITAL TRANSFORMATION AWS CDK 22 CDK PROS AND CONS Most of the services are still in unstable development stage. With every update, you will get breaking changes. Some of the key services still haven’t released any CDK module. When you are working on a project where lots of AWS services are required, there is a high chance that you must use hybrid approach. Incomplete documentation and lack of examples in the internet. Several critical bugs still unresolved for many releases. CONS Usage of general-purpose programming languages makes its easy to align on programming best practices that you follow in the organization as a development team. Sensible defaults reduces number of code lines that you must write. Ability to build reusable libraries reduced the amount of copy pastes you did with its predecessor, Cloud Formation . PROS
  • 23. © DIGITAL TRANSFORMATION AWS CDK 23 Q & A [email protected] @dilunika www.linkedin.com/in/kasundilunika medium.com/@dilunika [email protected] @DTL_NZ www.linkedin.com/company/dtlnz medium.com/dtlpub