SlideShare a Scribd company logo
AWS CDK
Infrastructure is code
IaC battle
Enrico Pesce - AWS user group Venezia
Enrico Pesce
● Cloud engineer e Team leader
● AWS user group Venezia
● “Ex YAML engineer” :)
https://www.linkedin.com/in/enricopesce/
Agenda
● YAML engineer dilemma
● Cos’è CDK
● Componenti principali
● Esempi
● Considerazioni
Giornata tipo di un “YAML engineer”!!
1. Design, implementare nel modo corretto
2. Security, utilizzare policy efficaci
3. Time, serve per ieri!!
4. DevOps, problemi di collaborazione
5. Alla continua ricerca di concentrazione..
6. Consumo rotellina mouse elevato…
7. Guru delle meditazione..
I KNOW
YAML
YAML engineering!
un progetto di un portale e-commerce
AWS Cloud Development Kit (AWS
CDK) è un framework di sviluppo
open source per definire
l'infrastruttura come codice e
distribuirla tramite AWS
CloudFormation.
Offre un'astrazione di alto livello orientata agli
oggetti per definire le risorse AWS utilizzando la
potenza dei moderni linguaggi di programmazione,
attraverso una tecnlologia AWS di “traduzione”
chiamata JSii si possono usare differenti linguaggi.
cdk synthesize
“da codice a YAML”
Componenti principali
Constructs
Rappresenta un componente cloud che può incapsulare
qualsiasi servizio supportato da CloudFormation
● Riferimento basso livello risorse e propietà di CloudFormation
● Un servizio AWS (es: S3, EC2)
● Un set di servizi che rappresentano un’unità logica o pattern (es:
ECS + ALB + Task e Service definition)
● Assets
Construct Cfn
riferimento 1:1 a CloudFormation
Constructs VPC
creare una VPC con tutto: addressing, subnets, routing
tables, nat gateway....
oppure importare una VPC esistente:
Constructs CodeBuild
Istanza CodeBuild configurata per CodePipeline con
script di build, env, bucket s3 crittografato.
Constructs ecs-patterns
--->
Constructs ecs-patterns
● ALB e listener
● Target Group
● VPC (subnets, nat gateway, etc..)
● ECS cluster
● ECS Task definition
● ECS Service definition
● Security groups e IAM roles..
Usando CDK, puoi ereditare
facilmente le migliori pratiche
nel design e nella sicurezza
della tua infrastruttura!
Puoi costruire un tuo construct di alto
livello componendo insieme altri
construct cosi da creare il tuo
componente, riutilizzarlo e condividerlo
con il tuo team o la comunità open
source.
Constructs custom
Construct che crea un bucket S3 che notifica ad ogni oggetto
aggiunto con SNS, lo registro su una sqs queue..
Non tutti i constructs sono stabili o
sviluppati, CDK è un progetto ancora
in sviluppo ma si può già andare in
produzione se usiamo i constructs
stabili o cfn!
https://docs.aws.amazon.com/cdk/api/latest/
Attenzione: solo da TypeScript si può
tradurre in altri linguaggi!
Test dei constructs
Con AWS CDK, la tua infrastruttura può essere
testabile come qualsiasi altro codice che scrivi
1. Snapshot tests
2. Fine-grained assertions
3. Validation tests
Al momento possibile solo da TypeScript….
OK, ok!
Sono passato a TypeScript.. non fa male
conoscere altri linguaggi! ;)
quindi da ora TypeScript ->
Assets:
rappresentano un artefatto che l'app deve
usare.
● Archivio zip di una lambda function (S3)
● File di supporto del progetto (S3)
● Immagini Docker
Assets S3:
zip della folder, copy su s3, reference su lambda
Assets Docker:
build del Dockerfile dal proprio docker locale e
push su ECR in automatico
Siamo solo all’inizio!!!
Nuovi constructs in arrivo..
Nuovi linguaggi supportati
Una comunità in forte crescita
GRAZIE!
Se vuoi provare un mio progetto:
https://github.com/enricopesce/AWSome-pipeline

More Related Content

PDF
Building infrastructure as code with typescript and aws cdk
PDF
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
PPTX
Azure dev ops meetup one
PPTX
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
PPTX
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
PPTX
Sviluppare Azure Web Apps
PPTX
Javascript task automation
PPTX
Deploy & Run on Azure App Service
Building infrastructure as code with typescript and aws cdk
IaC - Infrastructure as Code, gestire infrastrutture cloud tramite file di co...
Azure dev ops meetup one
CI CD per .Net 5? Facile con Azure Pipelines e GitHub Actions
2015.04.23 Azure Community Bootcamp 2015 Keynote Italy
Sviluppare Azure Web Apps
Javascript task automation
Deploy & Run on Azure App Service

What's hot (20)

PDF
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
PDF
Meetup Azure DevOps
PDF
Il Cloud chiavi in mano | Matteo Occhipinti (CA Technologies) | Milano
PPTX
Super-scaling Magento with Docker, micro-services and micro-costs
PPTX
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
PDF
Dal RenderFragment ai Generics, tips for Blazor developers
PDF
ASP.NET Core - dove siamo arrivati
PDF
Serverless uso di lambda per esigenze (non) convenzionali
PPTX
Azure sql database
PDF
Meetup Azure DevOps
ODP
Ec2
PDF
Blazor per uno sviluppatore Web Form
PPTX
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
PDF
The power of the cosmos in a DB .... CosmosDB
PPTX
Angular e asp.net core: un framework sul framework
PDF
kube-green | Davide Bianchi
PPTX
Monitoring Applications in AKS
PPTX
Wcf data services
PPTX
Cloud next 17 - Google Cloud Platform
PPTX
Cosa c'è di nuovo in asp.net core 2 0
Azure Day Rome Reloaded 2019 - Python, Azure Cosmos DB, Docker and Azure Cont...
Meetup Azure DevOps
Il Cloud chiavi in mano | Matteo Occhipinti (CA Technologies) | Milano
Super-scaling Magento with Docker, micro-services and micro-costs
Workshop ASP.NET Core e Angular in produzione con Docker e Kubernetes
Dal RenderFragment ai Generics, tips for Blazor developers
ASP.NET Core - dove siamo arrivati
Serverless uso di lambda per esigenze (non) convenzionali
Azure sql database
Meetup Azure DevOps
Ec2
Blazor per uno sviluppatore Web Form
Multi-Device Hybrid Apps con Visual Studio e Apache Cordova
The power of the cosmos in a DB .... CosmosDB
Angular e asp.net core: un framework sul framework
kube-green | Davide Bianchi
Monitoring Applications in AKS
Wcf data services
Cloud next 17 - Google Cloud Platform
Cosa c'è di nuovo in asp.net core 2 0
Ad

Similar to AWS CDK infrastructure is code (20)

PPTX
Kubernetes e bello, sicuro è meglio!
PPTX
Aperitech winml
PPTX
VS Package @ CD2008
PDF
Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...
PDF
Applicazioni Serverless con AWS
ODP
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
PPTX
Livin' with Docker - dallo sviluppo alla produzione
PDF
Praticamente... AWS - Amazon Web Services
PPTX
Azure dayroma java, il lato oscuro del cloud
PPTX
High specialized vm on open stack cloud
PDF
Con Aruba, a lezione di cloud #lezione 31: 'API e Cloud Computing, personali...
PPTX
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
PDF
Cloud & No-Coding: come fare su Azure?
PDF
Progettare e sviluppare soluzioni serverless con AWS
PPTX
DevOps by examples - Agile O'Day 2017
PPTX
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
PPTX
Da JavaScript a TypeScript
PPTX
Custom Vision e Win.ml per le nostre app intelligenti offline
PDF
Node.js - Server Side Javascript
PDF
Web frameworks
Kubernetes e bello, sicuro è meglio!
Aperitech winml
VS Package @ CD2008
Azure Day Rome 2019 Reloaded - Utilizzare Azure Kubernetes Service per i nost...
Applicazioni Serverless con AWS
Un'Infrastruttura di Sviluppo Web Enterprise Distribuita Basata su Modelli Pa...
Livin' with Docker - dallo sviluppo alla produzione
Praticamente... AWS - Amazon Web Services
Azure dayroma java, il lato oscuro del cloud
High specialized vm on open stack cloud
Con Aruba, a lezione di cloud #lezione 31: 'API e Cloud Computing, personali...
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platform
Cloud & No-Coding: come fare su Azure?
Progettare e sviluppare soluzioni serverless con AWS
DevOps by examples - Agile O'Day 2017
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
Da JavaScript a TypeScript
Custom Vision e Win.ml per le nostre app intelligenti offline
Node.js - Server Side Javascript
Web frameworks
Ad

AWS CDK infrastructure is code