Video description
DevOps in the Cloud LiveLessons walks viewers through the process of putting together a complete continuous delivery platform for a working software application written in Ruby on Rails along with examples in other development platforms such as Grails and Java on the companion website. These applications are deployed to Amazon Web Services (AWS), which is an infrastructure as a service, commonly referred to as “the cloud.” Paul M. Duvall goes through the pieces that make up this platform including infrastructure and environments, continuous integration, build and deployment scripting, testing and database. Also, viewers will learn configuration management and collaboration practices and techniques along with what those nascent terms known as DevOps, continuous delivery and continuous deployment are all about. Finally, since this LiveLesson focuses on deploying to the cloud, viewers will learn the ins and outs of many of the services that make up the AWS cloud infrastructure. DevOps in the Cloud LiveLessons includes contributions by Brian Jakovich, who is a Continuous Delivery Engineer at Stelligent.
Visit www.devopscloud.com to download the complete continuous delivery platform examples that are used in these LiveLessons. Website is best viewed in Mozilla Firefox.
About the Author:
Paul M. Duvall is the CEO and CTO of Stelligent, an expert in implementing continuous delivery solutions. A featured speaker at many leading software conferences, he has worked in virtually every role on software projects: developer, project manager, architect, and tester. He is the principal author of Continuous Integration: Improving Software Quality and Reducing Risk (Addison-Wesley, 2007), a 2008 Jolt Award Winner and an author of Startup@Cloud: 33 tips for running your company using cloud-based software. Paul contributed to the UML 2 Toolkit (Wiley, 2003), authored a series for IBM developerWorks called Automation for the People, and contributed to No Fluff Just Stuff Anthology: The 2007 Edition (Pragmatic Programmers, 2007). He is passionate about automation, software delivery and the cloud and actively blogs on Stelligent.com.
Table of Contents
Introduction to DevOps in the Cloud
5 Steps to Continuous Delivery
Lesson 1: Deploying a Working Software Application to the Cloud
Introduction
Set up and check in changes to application code
Make simple configuration changes
Change an existing automated test
Make scripted changes to the database
Make a change to a simple build script
Make a change to a deployment script
Make a change to the infrastructure scripts
Run Jenkins Continuous Integration server jobs
View and run jobs within a Delivery Pipeline
View static analysis reports
View feedback from a dashboard
Lesson 2: DevOps, Continuous Delivery, Continuous Deployment and the Cloud
Introduction
Define Continuous Delivery, DevOps, Continuous Deployment and the Cloud
Practices, patterns and tools for implementing Continuous Delivery in the Cloud
Create a ‘spaghetti diagram’ and a ‘value-stream map’
Lesson 3: Amazon Web Services
Introduction
The basics of the AWS Management Console
Define security groups
The basics of Elastic Compute Cloud (EC2) virtual instances
Use Elastic Load Balancing (ELB)
Employ Auto Scaling
Use Amazon CloudWatch to monitor resources
Use Amazon Route 53 to manage a domain
Use Amazon Simple Storage Service (S3) to store objects
The basics of AWS CloudFormation for automating infrastructures
The basics of AWS Elastic Beanstalk
The basics of some other available AWS services
Lesson 4: Development and Continuous Integration
Introduction
Continuous Integration Architecture
Install and configure Jenkins plug-ins
Configure a scripted environment job
Configure a scripted build job
Configure a scripted deployment job
Configure and run on-demand jobs
Configure and run scheduled jobs
Configure and run continuous jobs
Create continuous feedback mechanisms
Lesson 5: Infrastructure Automation
Introduction
Create a CloudFormation template
Integrate Puppet with CloudFormation
Create a transient environment
Lock down environments
Create a ‘Chaos Monkey’
Lesson 6: Building and Deploying Software
Introduction
Script a build
Script a deployment
Set up and utilize a dependency-management repository
Deploy to target environments
Perform a self-service deployment
Lesson 7: Configuration Management
Introduction
Work from the canonical version
Version system configurations and other artifacts
Setup a dynamic configuration management database
Lesson 8: Database
Introduction
Script a database
Script the upgrade and downgrade of a database
Use a database sandbox
Lesson 9: Testing
Introduction
Write scripted unit tests
Write scripted infrastructure tests
Write scripted deployment (smoke) tests
Lesson 10: Delivery Pipeline
Introduction
Configure and run a delivery pipeline in Jenkins