SlideShare a Scribd company logo
1 of 52
Download to read offline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Building a DevOps Pipeline on AWS
D E V 3 2 6
Mark Rambow
SDM
AWS OpsWorks
Jens Bräuer
Sr. Software Engineer
AWS OpsWorks
Darko Meszaros
Solutions Architect
EMEA DevOps
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Management Tools
Integrated & interoperable
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Agenda
• DevOps
• Configuration as code
• Puppet
• Auto configuration of nodes
• DevOps pipeline
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Drive securely and fast
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DevOps pillars
• Informational silos
• Accept failures
• Frequent and small changes
• Automation, tooling
• Monitoring
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
DevOps pillars
• Informational silos
• Accept failures
• Frequent and small changes
• Automation, tooling
• Monitoring
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CloudFormation
• Infrastructure as code for AWS Services
• Similar to Terraform but AWS optimized
• Templates in YAML or JSON
Amazon
VPC
AWS
Lambda
Amazon
EC2
Amazon
S3
Amazon
DynamoDB
Elastic Load
Balancing
Amazon
CloudFront
Amazon
CloudWatch
Elastic Load
Balancing
AWS
Elastic
Beanstalk
Amazon
ECS
Amazon
RDS
Amazon
Redshift
Amazon
VPC
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Configuration management
• Managing changes on hosts
• Run commands across all hosts
• Monitoring and insights for all running resources
• Enforcing compliance and policies
Files Packages Configuration Keys
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
A simple class to configure a web server
### OpsWorks for Puppet Enterprise example for a static website
class role::nginx_webserver {
# All the profiles needed for a webserver
include profile::base
include profile::website
include profile::logrotate
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Configure the default website
class profile::website {
include 'nginx’
nginx::resource::server{'localhost':
use_default_location => false,
www_root => '/var/www/demo-website',
}
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
OpsWorks for Puppet Enterprise overview
• Managed experience
• Single server
• All in your account, full root access
• Undifferentiated Puppet experience
• Includes Puppet support through AWS
• Pay as you go, AWS Free Tier of 10 attached nodes
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
OpsWorks for Puppet Enterprise – Management
• Heavy lifting - Setup of Puppet Enterprise
• Maintenance by OpsWorks
• Continuous health checks
• Automated and manual backups
• Restoration and recreation
• Weekly security patches of the server
• Automatic upgrades
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
OpsWorks for Puppet Enterprise – Integration
• Integrated unattended node provisioning
• IAM for permission handling (Authorization)
• User data for
• Amazon EC2 Auto Scaling
• AWS CloudFormation
• Terraform and more
• StarterKit to get started quickly
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Identity and Access Management (IAM): ServiceRole
and InstanceProfile
• ServiceRole
• Assume Role gives permissions to AWS OpsWorks
• AWS OpsWorks can use other AWS Services on your behalf
• CloudFormation, Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service
(Amazon S3), SSM
• InstanceProfile
• Applied to your server
• Lets your server use CloudFormation, Amazon S3, SSM
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Overview
1. Create AWS OpsWorks for Puppet Enterprise using the console wizard
2. !! Use the ControlRepoHTTPSURL as you R10K Remote
Building a DevOps Pipeline on AWS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
The AWS OpsWorks StarterKit
• Example and Getting-Started guide
• Simple NGinX Web-Server with static page
• Ready-to-use user data script
• First provisioned managed node in minutes
• Customizable through tags
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Puppet
Enterprise
Native Puppet node association
NodeDownload
agent install.sh
The operator establishes trust
between node and server manually
1. Modify
/etc/hosts and
/etc/puppet/puppet.conf
to resolve the Puppet Master
2. Sign the puppet agent
SSH to the Puppet Master and run:
puppet cert sign
hostname.example.com
systemctl restart puppet
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Node association of AWS OpsWorks
• API: aws opsworks-cm associate-node
• Security
• Permission granted through nodes IAM InstanceProfile
• Trust is established through OpsWorksCM API
• Approved by AWS security audit
• Benefit
• Can be integrated in a user data script (example is part of StarterKit)
• Auto Scaling Groups
• Amazon EC2 launch configurations
• AWS CloudFormation
• Terraform …
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Puppet
Enterprise
Puppet node association OpsWorksCM API
(1) Associate-node
(3) Run Agent
AWS OpsWorksCM API
AWS IAM
NodeNodeNodeNodeNodeNode
(2) Establish trust
OpsWorks establishes
trust between node and server
Check
permissions
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Associate node with user data
• Nodes are authenticated through AWS
• Unattended bootstrapping
• Only available on AWS OpsWorks
• Works for Amazon EC2 and on-premises
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Have your first Puppet Node
• Push your example Puppet code to your Puppet master
• Create your nodes instance profile
• Create and attach your first Amazon EC2 node to the Puppet master
• See a fully configured NGinX with an example website deployed
Building a DevOps Pipeline on AWS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Check out your node
• Open the URL from Amazon EC2 console
• Open the Puppet Enterprise UI from AWS OpsWorks console
• View results of Puppet agent run
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Release processes have four major phases
Source Build Test Production
• Check-in source
code such as .java
files.
• Peer review new
code
• Compile code
• Unit tests
• Style checkers
• Code metrics
• Create container
images
• Integration with
other systems
• Load testing
• UI tests
• Penetration testing
• Deployment to
production
environments
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Release processes levels
Continuous integration
Continuous delivery
Continuous deployment
Source Build Test Production
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Code Services
AWS CodePipeline AWS CodeCommit AWS CodeBuildAWS CodeDeployAWS CodeStar
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Code Services
Software Release Steps
Source Build Test Production
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeCommit
AWS Code Services
Software Release Steps
Source Build Test Production
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeBuild
AWS Code Services
Software Release Steps:
Source Build Test Production
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS CodeBuild
puppet parser validate
puppet-lint
rspec-puppet
...
AWS Code Services
Software Release Steps
Source Build Test Production
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Code Services
Software Release Steps
AWS CodeBuild
puppet code deploy
Source Build Test Production
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Source Build Test Production
AWS CodeCommit
AWS CodeBuild
AWS CodePipeline
AWS CodeBuild
AWS Code Services
Software Release Steps
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Component/service overview
Nodes
AWS Cloud
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Sneak peak
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Steps overview
• Store your PuppetAccessToken in Systems Manager Parameter Store
• Store buildspec files in control-repo-example/aws
• Push your buildspec to your control-repo
• Launch a AWS CloudFormation stack from template provided
• Go to CodePipeline console and view progression
• Approve build
Building a DevOps Pipeline on AWS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Enjoy
• Access Puppet console
• Trigger a puppet-run on your node
• Access attached node in the browser
• See your change
Building a DevOps Pipeline on AWS
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Clean-up
• Delete contents of Amazon S3 bucket
• <stackname>-pipelineartifactstorebucket-<randomhash>
• Delete AWS CloudFormation stack
• Be proud of yourself
Thank you!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Nick Alteen
Darko Meszaros
Jens Bräuer
Mark Rambow
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.

More Related Content

What's hot

AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...Amazon Web Services
 
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...Amazon Web Services
 
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...Amazon Web Services
 
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 SRV205 Architectures and Strategies for Building Modern Applications on AWS SRV205 Architectures and Strategies for Building Modern Applications on AWS
SRV205 Architectures and Strategies for Building Modern Applications on AWSAmazon Web Services
 
Leveraging the AWS Cloud Adoption Framework to Build Your Cloud Action Plan (...
Leveraging the AWS Cloud Adoption Framework to Build Your Cloud Action Plan (...Leveraging the AWS Cloud Adoption Framework to Build Your Cloud Action Plan (...
Leveraging the AWS Cloud Adoption Framework to Build Your Cloud Action Plan (...Amazon Web Services
 
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018Amazon Web Services
 
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018Amazon Web Services
 
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...Amazon Web Services
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSAmazon Web Services
 
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...Amazon Web Services
 
SRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSSRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSAmazon Web Services
 
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...Amazon Web Services
 
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018Amazon Web Services
 
SID304 Threat Detection and Remediation with Amazon GuardDuty
 SID304 Threat Detection and Remediation with Amazon GuardDuty SID304 Threat Detection and Remediation with Amazon GuardDuty
SID304 Threat Detection and Remediation with Amazon GuardDutyAmazon Web Services
 
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...Amazon Web Services
 
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...Amazon Web Services
 
SRV313 Introduction to Building Web Apps on AWS
 SRV313 Introduction to Building Web Apps on AWS SRV313 Introduction to Building Web Apps on AWS
SRV313 Introduction to Building Web Apps on AWSAmazon Web Services
 
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...Amazon Web Services
 
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...Amazon Web Services
 

What's hot (20)

AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
AWS, I Choose You: Pokemon's Battle against the Bots (SEC402-R1) - AWS re:Inv...
 
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
[NEW LAUNCH!] How-to: Amazon RDS on VMware and Hybrid Database Architecture (...
 
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
Ripping off the Bandage: Re-Architecting Traditional Three-Tier Monoliths to ...
 
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 SRV205 Architectures and Strategies for Building Modern Applications on AWS SRV205 Architectures and Strategies for Building Modern Applications on AWS
SRV205 Architectures and Strategies for Building Modern Applications on AWS
 
Deep dive - AWS Fargate
Deep dive - AWS FargateDeep dive - AWS Fargate
Deep dive - AWS Fargate
 
Leveraging the AWS Cloud Adoption Framework to Build Your Cloud Action Plan (...
Leveraging the AWS Cloud Adoption Framework to Build Your Cloud Action Plan (...Leveraging the AWS Cloud Adoption Framework to Build Your Cloud Action Plan (...
Leveraging the AWS Cloud Adoption Framework to Build Your Cloud Action Plan (...
 
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
AWS and Symantec: Cyber Defense at Scale (SEC311-S) - AWS re:Invent 2018
 
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
Mastering Kubernetes on AWS (CON301-R1) - AWS re:Invent 2018
 
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...
Deploy and Scale a Cloud Application with Amazon Lightsail (CMP410-R2) - AWS ...
 
Building Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWSBuilding Microservices with the Twelve Factor App Pattern on AWS
Building Microservices with the Twelve Factor App Pattern on AWS
 
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...
Replicate & Manage Data Using Managed Databases & Serverless Technologies (DA...
 
SRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKSSRV318 Running Kubernetes with Amazon EKS
SRV318 Running Kubernetes with Amazon EKS
 
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...
Control for Your Cloud Environment Using AWS Management Tools (ENT226-R1) - A...
 
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018
Build AWS CloudFormation Custom Resources (DEV417-R2) - AWS re:Invent 2018
 
SID304 Threat Detection and Remediation with Amazon GuardDuty
 SID304 Threat Detection and Remediation with Amazon GuardDuty SID304 Threat Detection and Remediation with Amazon GuardDuty
SID304 Threat Detection and Remediation with Amazon GuardDuty
 
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
Autonomous DevSecOps: Five Steps to a Self-Driving Cloud (ENT214-S) - AWS re:...
 
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...
 
SRV313 Introduction to Building Web Apps on AWS
 SRV313 Introduction to Building Web Apps on AWS SRV313 Introduction to Building Web Apps on AWS
SRV313 Introduction to Building Web Apps on AWS
 
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...
Deep Dive on Cloud File System Offerings: What to Use, Where, and Why (STG392...
 
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...
Visibility into Serverless Applications built using AWS Fargate (CON312-R1) -...
 

Similar to Building a DevOps Pipeline on AWS with AWS Code 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
 
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...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
 
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
 
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
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeAmazon Web Services
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Amazon 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
 
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
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28Amazon Web Services
 
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...Amazon Web Services
 
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Amazon Web Services
 
More Containers Less Operations
More Containers Less OperationsMore Containers Less Operations
More Containers Less OperationsDonnie Prakoso
 
Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)Amazon Web Services
 
CI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud MeetupCI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud MeetupBoaz Ziniman
 

Similar to Building a DevOps Pipeline on AWS with AWS Code Services (20)

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
 
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
 
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
 
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...
 
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) ...
 
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_SingaporeCI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
CI-CD with AWS Developer Tools and Fargate_AWSPSSummit_Singapore
 
CI/CD using AWS developer tools
CI/CD using AWS developer toolsCI/CD using AWS developer tools
CI/CD using AWS developer tools
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
Ensuring Your Windows Server Workloads Are Well-Architected - AWS Online Tech...
 
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...
 
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
 
From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28From Code to a Running Container | AWS Floor28
From Code to a Running Container | AWS Floor28
 
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
 
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
Scaling and Automating DevOps with CloudBees and Spot Instances (GPSTEC310) -...
 
Community day _aws_ci_cd_v0.2
Community day _aws_ci_cd_v0.2Community day _aws_ci_cd_v0.2
Community day _aws_ci_cd_v0.2
 
More Containers Less Operations
More Containers Less OperationsMore Containers Less Operations
More Containers Less Operations
 
Amazon ECS Deep Dive
Amazon ECS Deep DiveAmazon ECS Deep Dive
Amazon ECS Deep Dive
 
Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)Amazon Amazon Elastic Container Service (Amazon ECS)
Amazon Amazon Elastic Container Service (Amazon ECS)
 
CI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud MeetupCI/CD for AWS Lambda Projects - IsraelCloud Meetup
CI/CD for AWS Lambda Projects - IsraelCloud Meetup
 
Deep Dive into Amazon Fargate
Deep Dive into Amazon FargateDeep Dive into Amazon Fargate
Deep Dive into Amazon Fargate
 

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
 

Building a DevOps Pipeline on AWS with AWS Code Services

  • 1.
  • 2. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Building a DevOps Pipeline on AWS D E V 3 2 6 Mark Rambow SDM AWS OpsWorks Jens Bräuer Sr. Software Engineer AWS OpsWorks Darko Meszaros Solutions Architect EMEA DevOps
  • 3. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Management Tools Integrated & interoperable
  • 4. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Agenda • DevOps • Configuration as code • Puppet • Auto configuration of nodes • DevOps pipeline
  • 5. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Drive securely and fast
  • 6. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. DevOps pillars • Informational silos • Accept failures • Frequent and small changes • Automation, tooling • Monitoring
  • 7. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. DevOps pillars • Informational silos • Accept failures • Frequent and small changes • Automation, tooling • Monitoring
  • 8. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 9. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CloudFormation • Infrastructure as code for AWS Services • Similar to Terraform but AWS optimized • Templates in YAML or JSON Amazon VPC AWS Lambda Amazon EC2 Amazon S3 Amazon DynamoDB Elastic Load Balancing Amazon CloudFront Amazon CloudWatch Elastic Load Balancing AWS Elastic Beanstalk Amazon ECS Amazon RDS Amazon Redshift Amazon VPC
  • 10. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Configuration management • Managing changes on hosts • Run commands across all hosts • Monitoring and insights for all running resources • Enforcing compliance and policies Files Packages Configuration Keys
  • 11. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. A simple class to configure a web server ### OpsWorks for Puppet Enterprise example for a static website class role::nginx_webserver { # All the profiles needed for a webserver include profile::base include profile::website include profile::logrotate }
  • 12. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Configure the default website class profile::website { include 'nginx’ nginx::resource::server{'localhost': use_default_location => false, www_root => '/var/www/demo-website', }
  • 13. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 14. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. OpsWorks for Puppet Enterprise overview • Managed experience • Single server • All in your account, full root access • Undifferentiated Puppet experience • Includes Puppet support through AWS • Pay as you go, AWS Free Tier of 10 attached nodes
  • 15. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. OpsWorks for Puppet Enterprise – Management • Heavy lifting - Setup of Puppet Enterprise • Maintenance by OpsWorks • Continuous health checks • Automated and manual backups • Restoration and recreation • Weekly security patches of the server • Automatic upgrades
  • 16. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. OpsWorks for Puppet Enterprise – Integration • Integrated unattended node provisioning • IAM for permission handling (Authorization) • User data for • Amazon EC2 Auto Scaling • AWS CloudFormation • Terraform and more • StarterKit to get started quickly
  • 17. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 18. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 19. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Identity and Access Management (IAM): ServiceRole and InstanceProfile • ServiceRole • Assume Role gives permissions to AWS OpsWorks • AWS OpsWorks can use other AWS Services on your behalf • CloudFormation, Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service (Amazon S3), SSM • InstanceProfile • Applied to your server • Lets your server use CloudFormation, Amazon S3, SSM
  • 20. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 21. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Overview 1. Create AWS OpsWorks for Puppet Enterprise using the console wizard 2. !! Use the ControlRepoHTTPSURL as you R10K Remote Building a DevOps Pipeline on AWS
  • 22. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 23. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. The AWS OpsWorks StarterKit • Example and Getting-Started guide • Simple NGinX Web-Server with static page • Ready-to-use user data script • First provisioned managed node in minutes • Customizable through tags
  • 24. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 25. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Puppet Enterprise Native Puppet node association NodeDownload agent install.sh The operator establishes trust between node and server manually 1. Modify /etc/hosts and /etc/puppet/puppet.conf to resolve the Puppet Master 2. Sign the puppet agent SSH to the Puppet Master and run: puppet cert sign hostname.example.com systemctl restart puppet
  • 26. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Node association of AWS OpsWorks • API: aws opsworks-cm associate-node • Security • Permission granted through nodes IAM InstanceProfile • Trust is established through OpsWorksCM API • Approved by AWS security audit • Benefit • Can be integrated in a user data script (example is part of StarterKit) • Auto Scaling Groups • Amazon EC2 launch configurations • AWS CloudFormation • Terraform …
  • 27. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Puppet Enterprise Puppet node association OpsWorksCM API (1) Associate-node (3) Run Agent AWS OpsWorksCM API AWS IAM NodeNodeNodeNodeNodeNode (2) Establish trust OpsWorks establishes trust between node and server Check permissions
  • 28. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Associate node with user data • Nodes are authenticated through AWS • Unattended bootstrapping • Only available on AWS OpsWorks • Works for Amazon EC2 and on-premises
  • 29. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 30. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 31. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Have your first Puppet Node • Push your example Puppet code to your Puppet master • Create your nodes instance profile • Create and attach your first Amazon EC2 node to the Puppet master • See a fully configured NGinX with an example website deployed Building a DevOps Pipeline on AWS
  • 32. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Check out your node • Open the URL from Amazon EC2 console • Open the Puppet Enterprise UI from AWS OpsWorks console • View results of Puppet agent run
  • 33. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 34. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 35. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Release processes have four major phases Source Build Test Production • Check-in source code such as .java files. • Peer review new code • Compile code • Unit tests • Style checkers • Code metrics • Create container images • Integration with other systems • Load testing • UI tests • Penetration testing • Deployment to production environments
  • 36. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Release processes levels Continuous integration Continuous delivery Continuous deployment Source Build Test Production
  • 37. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Code Services AWS CodePipeline AWS CodeCommit AWS CodeBuildAWS CodeDeployAWS CodeStar
  • 38. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Code Services Software Release Steps Source Build Test Production
  • 39. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeCommit AWS Code Services Software Release Steps Source Build Test Production
  • 40. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeBuild AWS Code Services Software Release Steps: Source Build Test Production
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS CodeBuild puppet parser validate puppet-lint rspec-puppet ... AWS Code Services Software Release Steps Source Build Test Production
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Code Services Software Release Steps AWS CodeBuild puppet code deploy Source Build Test Production
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Source Build Test Production AWS CodeCommit AWS CodeBuild AWS CodePipeline AWS CodeBuild AWS Code Services Software Release Steps
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Component/service overview Nodes AWS Cloud
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 46. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Sneak peak
  • 47. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
  • 48. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Steps overview • Store your PuppetAccessToken in Systems Manager Parameter Store • Store buildspec files in control-repo-example/aws • Push your buildspec to your control-repo • Launch a AWS CloudFormation stack from template provided • Go to CodePipeline console and view progression • Approve build Building a DevOps Pipeline on AWS
  • 49. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Enjoy • Access Puppet console • Trigger a puppet-run on your node • Access attached node in the browser • See your change Building a DevOps Pipeline on AWS
  • 50. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Clean-up • Delete contents of Amazon S3 bucket • <stackname>-pipelineartifactstorebucket-<randomhash> • Delete AWS CloudFormation stack • Be proud of yourself
  • 51. Thank you! © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Nick Alteen Darko Meszaros Jens Bräuer Mark Rambow
  • 52. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.