SlideShare a Scribd company logo
1 of 44
Download to read offline
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
From Code to a Running Container
Alexei Ledenev
Solutions Architect
Amazon Web Services
C O N 4 0 4
Gal Marder
VP DevOps Consulting
JForg Ltd
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
What to expect from this session
• Microservice Architecture
• AWS Developer Tools for CI/CD
• Docker and Kubernetes Continuous Integration
• Kubernetes Continuous Deployment
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
When the impact of change is small,
release velocity can increase
Monolith
Does everything
Microservices
Does one thing
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monolith development lifecycle
monitorreleasetestbuild
developers
delivery pipelines
services
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Monolith development lifecycle
monitorreleasetestbuild
developers
delivery pipelines
services
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Microservice development lifecycle
???
developers
delivery pipelines
services
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Microservice development lifecycle
developers services
monitorreleasetestbuild
delivery pipelines
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
monitorreleasetestbuild
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Source Build Test Deploy
• Version Control
• Branching
• Code Review
• Compilation
• Linting
• Unit Tests
• Packaging
• Integration Tests
• Load Tests
• Security Tests
• Acceptance Tests
• Deployment
• Monitoring
• Measuring
• Validation
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Release process automation models
Source Build Test Deploy Monitor
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
CI/CD with AWS Developer Tools
AWS CodeBuild +
Third Party
AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS X-Ray
Source Build Test Deploy Monitor
AWS CodePipeline
Amazon
CloudWatch
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeBuild
• Fully managed build service
• Continuous scaling
• Pay as you go
• Extensible
• Secure: encrypt build artifacts, access control
• Integrated with AWS services
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeBuild: Features
• Build source from CodeCommit, S3, Bitbucket
and GitHub/GitHub Enterprise
• Build inside your VPC
• Use secrets from Amazon Parameter Store
• Amazon S3 build cache
• Debug locally with CodeBuild Agent
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodePipeline
• Automate your release processes
• Consistent release process
• Speed up delivery while improving quality
• Use your favorite tools
• View progress at-a-glance
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon Elastic Container Service for Kubernetes
mycluster.eks.amazonaws.com
EKS workers
Kubectl
AZ 1 AZ 2 AZ 3
Your AWS account
VPC
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Building Docker image
Dockerfile
Docker image
docker build
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Build specification – Docker
version: 0.2
phases:
pre_build:
commands:
- $(aws ecr get-login --no-include-email)
build:
commands:
- docker build --tag “${ECR}:${COMMIT}” -–tag “${ECR}:${TAG}” .
post_build:
commands:
- docker push "${ECR}:${COMMIT}”; docker push “${ECR}:${TAG}”
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EC2 Container Registry (ECR)
• Fully managed private Docker Registry
• Supports Docker Registry HTTP API V2
• Scalable, available, durable architecture
• Secure: encrypt at rest, control access with IAM
• Manage image lifecycle
• Integrated with other AWS services
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Docker Continuous Integration pipeline
AWS Cloud
AWS CodeBuild Multi-Stage
Docker Build
3rd party Git repository
Git users
git push
webhook
Amazon EC2
Container Registry
AWS CodeCommit
git push
docker push
AWS CodeBuild
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes application
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon EKS – Helm/Package management
• Helm helps you manage K8s apps via Helm charts
• K8s Application Helm charts
• Define – templates and values (for multiple environments)
• Install – create a new release
• Upgrade – create a new release revision (rollback to previous revision)
• Create, version, share and publish – Important for regulation!
• Release management for Kubernetes application
• Runs on CI/CD or dev laptops
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Kubernetes configuration development tools
• Helm CLI commands
• template – render Helm templates locally and display output
• lint – runs a series of tests to verify that the Helm chart is well-formed
• Kubeval
• https://github.com/garethr/kubeval
• validate Kubernets YAML/JSON files against Kubernetes JSON schema
• Kubetest
• https://github.com/garethr/kubetest
• unit test for Kubernetes configurations
• write tests in Skylark (Python dialect) configuration language
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Helm chart Continuous Integration pipeline
AWS Cloud
AWS CodeBuild Helm Dev Tools
- helm lint
- kubeval
- kubetest
- package
3rd party Git repository
<Helm Chart>
Git users
git push
webhook
AWS CodeCommit
<Helm Chart>
git push
helm s3 push
AWS CodeBuild
Amazon Simple
Storage Service (S3)
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
EKS Continuous Delivery pipeline
AWS Cloud
AWS CodeBuild Amazon Elastic
Container Service
for Kubernetes
helm upgrade --install
AWS CodePipeline
AWS CodePipeline
helm test & helm rollback (on error)
Amazon EC2
Container Registry
Amazon Simple
Storage Service (S3)
source
source
Helm Repository
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
EKS Continuous Deployment pipeline
AWS
CodeBuild
Amazon Elastic
Container Service
for Kubernetes
helm upgrade --install
AWS CodePipeline
AWS
CodePipeline
helm test & helm rollback (on error)
Amazon EC2
Container
Registry
Amazon Simple
Storage Service (S3)
source
source
Helm Repository
AWS
CodeBuild
Helm Dev Tools
- helm lint
- kubeval
- kubetest
3rd
party Git
repository
<Helm Chart>
Git users
git push
webhook
AWS CodeCommit
<Helm Chart>
git push
helm s3 push
AWS CodeBuild
AWS CodeBuild Multi-Stage
Docker Build
3rd
party Git
repository
Git users
git push
webhook
AWS CodeCommit
git push
docker push
AWS CodeBuild
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Key takeaways
1. Breaking monolith into microservices helps to achieve business agility
2. Build Continuous Deployment pipelines to speedup development flows
3. Combine power of AWS Developer Tools, 3rd party tools and open
source tools to achieve 100% automation
Thank you!
© 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Alexei Ledenev
AWS Solutions Architect
Amazon Web Services
Gal Marder
VP DevOps Consulting
JForg Ltd
http://bit.ly/2SJ6SkU

More Related Content

What's hot

Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...Amazon Web Services
 
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitRun Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitAmazon Web Services
 
A Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWSA Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWSBhuvaneswari Subramani
 
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...Amazon Web Services
 
AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!Wojciech Gawroński
 
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...Chargebee
 
AWS EKS Security Best Practices
AWS EKS Security Best PracticesAWS EKS Security Best Practices
AWS EKS Security Best PracticesStackRox
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSAmazon Web Services
 
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...Marcia Villalba
 
How to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarHow to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarAmazon Web Services
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An IntroductionAmazon Web Services
 
COM 203 Enable continuous delivery and resiliency for a static website
COM 203 Enable continuous delivery and resiliency for a static websiteCOM 203 Enable continuous delivery and resiliency for a static website
COM 203 Enable continuous delivery and resiliency for a static websiteBhuvaneswari Subramani
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelAmazon Web Services
 
Amazon EKS: Getting Started
Amazon EKS: Getting StartedAmazon EKS: Getting Started
Amazon EKS: Getting StartedTanya Seno
 
Advanced workload scheduling for containers on AWS
Advanced workload scheduling for containers on AWSAdvanced workload scheduling for containers on AWS
Advanced workload scheduling for containers on AWSNathan Peck
 
Kubernetes On AWS | AWS Kubernetes Tutorial | AWS EKS Tutorial | AWS Training...
Kubernetes On AWS | AWS Kubernetes Tutorial | AWS EKS Tutorial | AWS Training...Kubernetes On AWS | AWS Kubernetes Tutorial | AWS EKS Tutorial | AWS Training...
Kubernetes On AWS | AWS Kubernetes Tutorial | AWS EKS Tutorial | AWS Training...Edureka!
 
AWS CDK introduction
AWS CDK introductionAWS CDK introduction
AWS CDK introductionleo lapworth
 

What's hot (20)

Using Containers on AWS
Using Containers on AWSUsing Containers on AWS
Using Containers on AWS
 
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
Amazon CI/CD Practices for Software Development Teams - SRV320 - Anaheim AWS ...
 
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS SummitRun Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
Run Kubernetes with Amazon EKS - SRV318 - Chicago AWS Summit
 
A Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWSA Pathway to Continuous Integration/Continuous Delivery on AWS
A Pathway to Continuous Integration/Continuous Delivery on AWS
 
Introducing AWS Fargate
Introducing AWS FargateIntroducing AWS Fargate
Introducing AWS Fargate
 
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
Remove Undifferentiated Heavy Lifting from Jenkins (DEV201-R1) - AWS re:Inven...
 
AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!AWS CDK: Your Infrastructure is Code!
AWS CDK: Your Infrastructure is Code!
 
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...
Powering Test Environments with Amazon EKS using Serverless Tool | AWS Commun...
 
AWS EKS Security Best Practices
AWS EKS Security Best PracticesAWS EKS Security Best Practices
AWS EKS Security Best Practices
 
Getting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWSGetting Started with Kubernetes on AWS
Getting Started with Kubernetes on AWS
 
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...20201012 - Serverless Architecture Conference - Deploying serverless applicat...
20201012 - Serverless Architecture Conference - Deploying serverless applicat...
 
AWS CDK Introduction
AWS CDK IntroductionAWS CDK Introduction
AWS CDK Introduction
 
How to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStarHow to Build a CICD Pipeline with AWS CodeStar
How to Build a CICD Pipeline with AWS CodeStar
 
Containers on AWS: An Introduction
Containers on AWS: An IntroductionContainers on AWS: An Introduction
Containers on AWS: An Introduction
 
COM 203 Enable continuous delivery and resiliency for a static website
COM 203 Enable continuous delivery and resiliency for a static websiteCOM 203 Enable continuous delivery and resiliency for a static website
COM 203 Enable continuous delivery and resiliency for a static website
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day Israel
 
Amazon EKS: Getting Started
Amazon EKS: Getting StartedAmazon EKS: Getting Started
Amazon EKS: Getting Started
 
Advanced workload scheduling for containers on AWS
Advanced workload scheduling for containers on AWSAdvanced workload scheduling for containers on AWS
Advanced workload scheduling for containers on AWS
 
Kubernetes On AWS | AWS Kubernetes Tutorial | AWS EKS Tutorial | AWS Training...
Kubernetes On AWS | AWS Kubernetes Tutorial | AWS EKS Tutorial | AWS Training...Kubernetes On AWS | AWS Kubernetes Tutorial | AWS EKS Tutorial | AWS Training...
Kubernetes On AWS | AWS Kubernetes Tutorial | AWS EKS Tutorial | AWS Training...
 
AWS CDK introduction
AWS CDK introductionAWS CDK introduction
AWS CDK introduction
 

Similar to From Code to a running container | AWS Summit Tel Aviv 2019

DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayAmazon Web Services
 
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018Bhuvaneswari Subramani
 
CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...Amazon Web Services
 
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...Amazon Web Services
 
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...Amazon Web Services
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesAmazon Web Services
 
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSEnd-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSBhuvaneswari Subramani
 
DevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSDevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSatSistemas
 
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...Amazon Web Services
 
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...Amazon Web Services
 
CICDforModernApplications_Stockholm.pdf
CICDforModernApplications_Stockholm.pdfCICDforModernApplications_Stockholm.pdf
CICDforModernApplications_Stockholm.pdfAmazon Web Services
 
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017Amazon Web Services
 
CON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWSCON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWSAmazon Web Services
 
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Amazon Web Services
 
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018Amazon Web Services
 
Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...Amazon Web Services
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019AWS Summits
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019Amazon Web Services
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...Amazon Web Services
 
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...Amazon Web Services
 

Similar to From Code to a running container | AWS Summit Tel Aviv 2019 (20)

DevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon WayDevOps - Moving to DevOps the Amazon Way
DevOps - Moving to DevOps the Amazon Way
 
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
CI CD using AWS Developer Tools @ AWS Community Day Bengaluru 2018
 
CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...CI/CD best practices for building modern applications - MAD310 - New York AWS...
CI/CD best practices for building modern applications - MAD310 - New York AWS...
 
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
Fast-Track Your Application Modernisation Journey with Containers - AWS Summi...
 
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
CI/CD Best Practices for Building Modern Applications - MAD302 - Anaheim AWS ...
 
Build CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation SlidesBuild CICD Pipeline for Container Presentation Slides
Build CICD Pipeline for Container Presentation Slides
 
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWSEnd-to-End CI/CD at scale with Infrastructure-as-Code on AWS
End-to-End CI/CD at scale with Infrastructure-as-Code on AWS
 
DevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWSDevOps Spain 2019. Pedro Mendoza-AWS
DevOps Spain 2019. Pedro Mendoza-AWS
 
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...
Strumenti e servizi basici per sviluppatori, come iniziare a creare sul cloud...
 
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Practices (DEV3...
 
CICDforModernApplications_Stockholm.pdf
CICDforModernApplications_Stockholm.pdfCICDforModernApplications_Stockholm.pdf
CICDforModernApplications_Stockholm.pdf
 
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
Interstella 8888: CICD for Containers on AWS - CON319 - re:Invent 2017
 
CON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWSCON319_Interstella GTC CICD for Containers on AWS
CON319_Interstella GTC CICD for Containers on AWS
 
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
Set Up a CI/CD Pipeline for Deploying Containers Using the AWS Developer Tool...
 
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
Building a DevOps Pipeline on AWS (DEV326) - AWS re:Invent 2018
 
Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...Architecting security and governance through policy guardrails in Amazon EKS ...
Architecting security and governance through policy guardrails in Amazon EKS ...
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019Orchestrating containers on AWS  | AWS Summit Tel Aviv 2019
Orchestrating containers on AWS | AWS Summit Tel Aviv 2019
 
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
CI/CD best practices for building modern applications - MAD304 - Chicago AWS ...
 
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...
PaaS – From Code to Running Application using AWS Elastic Beanstalk (DEV323) ...
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

From Code to a running container | AWS Summit Tel Aviv 2019

  • 1. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. From Code to a Running Container Alexei Ledenev Solutions Architect Amazon Web Services C O N 4 0 4 Gal Marder VP DevOps Consulting JForg Ltd
  • 2. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. What to expect from this session • Microservice Architecture • AWS Developer Tools for CI/CD • Docker and Kubernetes Continuous Integration • Kubernetes Continuous Deployment
  • 3. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. When the impact of change is small, release velocity can increase Monolith Does everything Microservices Does one thing
  • 4. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Monolith development lifecycle monitorreleasetestbuild developers delivery pipelines services
  • 5. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Monolith development lifecycle monitorreleasetestbuild developers delivery pipelines services
  • 6. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Microservice development lifecycle ??? developers delivery pipelines services
  • 7. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Microservice development lifecycle developers services monitorreleasetestbuild delivery pipelines monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild monitorreleasetestbuild
  • 8. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Source Build Test Deploy • Version Control • Branching • Code Review • Compilation • Linting • Unit Tests • Packaging • Integration Tests • Load Tests • Security Tests • Acceptance Tests • Deployment • Monitoring • Measuring • Validation
  • 9. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Release process automation models Source Build Test Deploy Monitor
  • 10. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. CI/CD with AWS Developer Tools AWS CodeBuild + Third Party AWS CodeCommit AWS CodeBuild AWS CodeDeploy AWS X-Ray Source Build Test Deploy Monitor AWS CodePipeline Amazon CloudWatch
  • 11. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeBuild • Fully managed build service • Continuous scaling • Pay as you go • Extensible • Secure: encrypt build artifacts, access control • Integrated with AWS services
  • 12. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeBuild: Features • Build source from CodeCommit, S3, Bitbucket and GitHub/GitHub Enterprise • Build inside your VPC • Use secrets from Amazon Parameter Store • Amazon S3 build cache • Debug locally with CodeBuild Agent
  • 13. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodePipeline • Automate your release processes • Consistent release process • Speed up delivery while improving quality • Use your favorite tools • View progress at-a-glance
  • 14. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 15. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 16. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon Elastic Container Service for Kubernetes mycluster.eks.amazonaws.com EKS workers Kubectl AZ 1 AZ 2 AZ 3 Your AWS account VPC
  • 17. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 18. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Building Docker image Dockerfile Docker image docker build
  • 19. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Build specification – Docker version: 0.2 phases: pre_build: commands: - $(aws ecr get-login --no-include-email) build: commands: - docker build --tag “${ECR}:${COMMIT}” -–tag “${ECR}:${TAG}” . post_build: commands: - docker push "${ECR}:${COMMIT}”; docker push “${ECR}:${TAG}”
  • 20. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon EC2 Container Registry (ECR) • Fully managed private Docker Registry • Supports Docker Registry HTTP API V2 • Scalable, available, durable architecture • Secure: encrypt at rest, control access with IAM • Manage image lifecycle • Integrated with other AWS services
  • 21. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Docker Continuous Integration pipeline AWS Cloud AWS CodeBuild Multi-Stage Docker Build 3rd party Git repository Git users git push webhook Amazon EC2 Container Registry AWS CodeCommit git push docker push AWS CodeBuild
  • 22. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 23. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kubernetes application
  • 24. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Amazon EKS – Helm/Package management • Helm helps you manage K8s apps via Helm charts • K8s Application Helm charts • Define – templates and values (for multiple environments) • Install – create a new release • Upgrade – create a new release revision (rollback to previous revision) • Create, version, share and publish – Important for regulation! • Release management for Kubernetes application • Runs on CI/CD or dev laptops
  • 25. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Kubernetes configuration development tools • Helm CLI commands • template – render Helm templates locally and display output • lint – runs a series of tests to verify that the Helm chart is well-formed • Kubeval • https://github.com/garethr/kubeval • validate Kubernets YAML/JSON files against Kubernetes JSON schema • Kubetest • https://github.com/garethr/kubetest • unit test for Kubernetes configurations • write tests in Skylark (Python dialect) configuration language
  • 26. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Helm chart Continuous Integration pipeline AWS Cloud AWS CodeBuild Helm Dev Tools - helm lint - kubeval - kubetest - package 3rd party Git repository <Helm Chart> Git users git push webhook AWS CodeCommit <Helm Chart> git push helm s3 push AWS CodeBuild Amazon Simple Storage Service (S3)
  • 27. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 28. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. EKS Continuous Delivery pipeline AWS Cloud AWS CodeBuild Amazon Elastic Container Service for Kubernetes helm upgrade --install AWS CodePipeline AWS CodePipeline helm test & helm rollback (on error) Amazon EC2 Container Registry Amazon Simple Storage Service (S3) source source Helm Repository
  • 29. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 30. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. EKS Continuous Deployment pipeline AWS CodeBuild Amazon Elastic Container Service for Kubernetes helm upgrade --install AWS CodePipeline AWS CodePipeline helm test & helm rollback (on error) Amazon EC2 Container Registry Amazon Simple Storage Service (S3) source source Helm Repository AWS CodeBuild Helm Dev Tools - helm lint - kubeval - kubetest 3rd party Git repository <Helm Chart> Git users git push webhook AWS CodeCommit <Helm Chart> git push helm s3 push AWS CodeBuild AWS CodeBuild Multi-Stage Docker Build 3rd party Git repository Git users git push webhook AWS CodeCommit git push docker push AWS CodeBuild
  • 31. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 32. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 33. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 34. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 35. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 36. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 37. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 38. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 39. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 40. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 41. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 42. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 43. © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Key takeaways 1. Breaking monolith into microservices helps to achieve business agility 2. Build Continuous Deployment pipelines to speedup development flows 3. Combine power of AWS Developer Tools, 3rd party tools and open source tools to achieve 100% automation
  • 44. Thank you! © 2019, Amazon Web Services, Inc. or its affiliates. All rights reserved. Alexei Ledenev AWS Solutions Architect Amazon Web Services Gal Marder VP DevOps Consulting JForg Ltd http://bit.ly/2SJ6SkU