This document provides an introduction to AWS DevOps tools and concepts. It begins with the instructor's credentials and outlines a webinar series on DevOps with AWS. The webinar objectives are defined as understanding DevOps concepts, why to use AWS DevOps services, DevOps on AWS, automation tools, DevSecOps, and putting it all together. Key AWS DevOps services and concepts discussed include CloudFormation, CodePipeline, CodeBuild, CodeDeploy, ECS, EBS, infrastructure as code, delivery pipelines, continuous delivery, and integrating on-premises and AWS DevOps tools. DevSecOps and securing the DevOps pipeline are also covered.
2. Instructor Introduction
• Joseph Holbrook
• Consulting Blockchain Solutions Architect/Trainer/Speaker out of Jacksonville, FL
• Certified Blockchain Solutions Architect (CBSA)
• Certified Blockchain Expert (CBE)
• Certified Bitcoin Professional (CBP)
• Certified Blockchain Developer Hyperledger (CBDH)
• Certified Corda Developer
• Certified Google Cloud Platform Cloud Architect
• AWS Professional Services Partner
• Certified AWS Solutions Architect
• Brocade Distinguished Architect (BDA) 2013
• EMC Proven Professional – Expert – Cloud (EMCCE)
• Published Course Author on Pearson Safari, Udemy, Linkedin Learning
• Author “Architecting Enterprise Blockchain Solutions” – Wiley July 2019
• Prior US Navy Veteran
3. Webinar Series
By the end of this webinar you should be able to understand
• Webinar 1 DevOps 101 with AWS – Basics of DevOps on AWS
• Webinar 2 DevOps Tools on AWS - AWS Service CloudFormation
• Webinar 3 DevOps Tools on AWS - AWS Services CI/CD Pipelines
• Webinar 4 DevOps Tools on AWS - Integrating On Prem and AWS DevOps Tools
4. Webinar Objectives
By the end of this webinar you should be able to understand
The concepts of DevOps
Why use DevOps services on AWS
Concepts of DevOps on AWS
DevOps Automation Tools
DevSecOps
Putting it all together
9. AWS and DevOps
• Four Axes of DevOPs
Culture – Processes, People, and Technologies influence each other
Process – Structure to meet the needs of business and employees
People – Provide knowledge, skills, process capabilities
Technology – Tools and technologies used effectively for communication and operational efficiencies.
10. AWS and DevOps
Organizations and DevOPs
• Organizations that employ continuous deployment for example should benefit from the
ability of users to give quick feedback on new deployments.
• CD is an elaborate automation of the build and testing processes with manual decisions.
• The real value comes in when organizations can “automate”
12. AWS and DevOps
Why use AWS with DevOps
• Automation
• Fully Managed Services
• Secure
• Built for Scale
• Large Partner Ecosystem
• Programmable
• Pay As You Go
13. AWS and DevOps
Why use AWS with DevOps
• The value of using AWS for
DevOps transformation experience
with AWS is a combination of design
principles.
15. AWS and DevOps
AWS and DevOps
AWS Developer Tools to automate infrastructure and deployment pipelines for
applications running on AWS.
We will discuss DevOps use cases for Amazon EC2, AWS OpsWorks, AWS Elastic
Beanstalk, AWS Lambda (Serverless), Amazon ECS (Containers), while defining
infrastructure as code, and learning more about AWS Developer Tools including AWS
CodeStar, AWS CodeCommit, AWS CodeBuild, AWS CodePipeline, and AWS
CodeDeploy.
16. AWS and DevOps
AWS and DevOps
AWS Developer Tools are a set of services designed to enable developers, Solution
Architects and IT professionals practicing DevOps to rapidly and safely deliver software.
Together, these services help you securely store and version control your application's
source code and automatically build, test, and deploy your application and
infrastructure as code to AWS Services such as Amazon EC2, Elastic Beanstalk, Amazon
EC2 Container Service, and AWS Lambda.
17. AWS and DevOps
AWS and DevOps
AWS CloudFormation, is a template that is defined based on JSON or you can write it in YAML.
You can have different tools that will generate these CloudFormation files for you.
With CloudFormation we can define all of our infrastructure and code, and so we're defining the
provisioning of CodePipeline, we're defining the provisioning of CodeBuild, the provisioning of
the Amazon S3 buckets, and then also the connections between CodePipeline and these various
providers like GitHub and CodeBuild as well.
Version the code in a version control repository like a GitHub or like a CodeCommit.
20. AWS and DevOps
What is CloudFormation
• Infrastructure as Code (IaaC) AWS CloudFormation is the best way to write,
deploy and maintain your AWS Infrastructure.
• Create efficient solution architectures (self contained in one file)
• Uses YAML for creating templates. Describe resources with JSON.
• Handles ordered creation and deletion of resources
• Includes automated rollback in failure
• Leaves an audit trail of changes applied
21. AWS and DevOps
What is CloudFormation
• Infrastructure as Code (IaaC) Workflow
Create CloudFormation Stack
Launch EC2
Userdata
Metadata Cfn-init Config Instance
22. AWS and DevOps
AWS and DevOps
CloudFormation
CodePipeline
CodeBuild
CodeDeploy
ECS
EBS
23. AWS and DevOps
CloudFormation
1. Triggers creation of a CF stack which triggers an EC2 launch
2. Once launched, cloud-init agent on the instance runs ascript specified in user data
3. User data script installs and runs cfn-init
4. Cfn-init downloads metadata for resource from CF
5. Cfn-init runs config sets
24. AWS and DevOps
AWS and DevOps
• AWS CodeCommit – CodeCommit is a managed version control service hosting Git repositories
and can work with existing Git based tools. Files are structured as repositories and there are no
restrictions on repository size and number of files. You can continue to use existing Git skills,
tools and practices, as you will see immediately.
• AWS CodeBuild – CodeBuild is a fully managed build service that supports automation of
integration build of source code. With this service, it is possible to save labor for construction
and operation of a build server.
25. AWS and DevOps
AWS and DevOps
• AWS CodeDeploy – CodeDeploy is a service that can automate the deployment to EC 2
instance. There are many processes to minimize downtime when deploying, it will
automate it and lead to more efficient work. In addition, even if redundancy etc. are
done with multiple EC 2 instances, one can do deployment easily by centralized
management.
• AWS CodePipeLine –It is a service that combines the above three tools and supports
pipeline definition and execution management.
26. AWS and DevOps
AWS DevOps Services Stack
• AWS has a robust
DevOps Services stack
that has tools for a
pipeline, source code
repository, build and
deploying with AWS.
27. AWS and DevOps
AWS and DevOps
CloudFormation
CodePipeline
CodeBuild
CodeDeploy
ECS
EBS
29. AWS and DevOps
AWS and DevOps
How does these services work together.
Delivery Pipeline - AWS CodePipeline and CodeDeploy
Continuous Delivery - AWS Infrastructure as Code including CloudFormation, OpsWorks
and Elastic Beanstalk
Open Source CI/CD tools – Jenkins, Travis
Open Source middleware automation tools – Ansible, Salt, Chef, Puppet
31. AWS and DevOps
DevOps and Security
Security often is an afterthought in the development process
Rolling security processes into the DevOps discussion is critical
DevSecOps approach incorporates code testing, automates builds, releases software
and adds security automation to the DevOps process.
IT delivers necessary software updates while detecting and fixing potential security
issues
32. AWS and DevOps
AWS and DevOps
Securing your service pipeline
Identity and Access Management
AWS Config
Trusted Advisor
Amazon Inspector
AWS CloudTrail
34. AWS and DevOps
AWS and DevOps
Putting it all together
DevOps is not just a cultural approach but a business decision.
On Prem and AWS can be used in a complementary manner.
AWS and DevOps are complementary. The better your DevOps processes are the more
favorable results you should get out of AWS services.