4+ Hours of Video Instruction
Jolt-award winning Continuous Integration author and consultant Paul M. Duvall trains infrastructure developers on how to create a fully-automated continuous delivery system in Amazon Web Services (AWS) using DevOps best practices and tools.
Amazon Web Services (AWS) is the leading cloud computing provider. AWS began selling its cloud services to startups but has rapidly evolved into serving large enterprises. While large companies can migrate their infrastructure to AWS over a period of months or years, the real value comes from properly leveraging key features of AWS, such as programmable infrastructure, elasticity and ephemeral resources. When companies bring a DevOps mindset to AWS, they can achieve the benefits of having always-releasable software, continuous feedback and reduction of the overall lead time.
DevOps in AWS focuses on how to implement the key architectural construct in continuous delivery: the deployment pipeline. Viewers receive step-by-step instructions on how to do this in AWS based on an open-source software system that is in production. They also learn the DevOps practices teams can embrace to increase their effectiveness.
What You Will Learn
• How to set up and establish a process for applying continuous delivery in AWS
• How to create a fully-automated deployment pipeline using the Jenkins Continuous Integration server, CloudFormation, OpsWorks and Chef
• How to use AWS deployment and management tools to automate infrastructure
• How to write and run infrastructure/deployment tests
Who Should Take This Course
• Infrastructure and application developers, Sys Ops engineers
• Anyone else involved in the software systems lifecycle. This will includes testers, DBAs, managers and analysts
• Familiarity with cloud computing concepts
• Familiarity with general networking concepts
• Linux or Windows command-line experience
• Working knowledge of multi-tier architectures
Lesson 1: Kickoff and Project Setup
In Lesson 1, “Kickoff and Project Setup,” you learn how to kick off a cloud delivery in AWS project—by learning your stakeholder’s motivation, performing project management, holding kickoff meetings, setting up project management and communication tools and getting access to stakeholder’s assets. You also learn some of the key practices of successful continuous delivery implementations in AWS, including creating cross-functional teams and applying good development practices when writing your infrastructure as code.
Lesson 2: Processes and Documentation
In Lesson 2, “Processes and Documentation,” you learn how to assess the current state (“as-is” state) of the infrastructure and current process for delivering software systems to users. You do this through documenting, visualizing and recording the current software delivery and infrastructure creation process. Finally, you modify all the stakeholder’s communication artifacts (READMEs, documentation, etc.) so that these processes can be automated later. In this lesson, you learn how to collect manual instructions, conduct walk-throughs of manual installation/configuration instructions, conduct value-stream walk-throughs, evaluate software licensing, schedule and conduct screencast walk-throughs, manually configure infrastructure resources and, finally, document configuration steps to be automated.
Lesson 3: Deployment Production Line Bootstrapping
In Lesson 3, “Deployment Production Line Bootstrapping,” you learn how to automate the creation of a network and associated resources using AWS Virtual Private Cloud (VPC). This includes using CloudFormation to define public and private subnets, route tables, CIDR blocks, security groups and so on. Then, you write and run an automated process for setting up a Continuous Integration server and a deployment production line template for running all the automated processes that will run as part of the deployment production line. In this lesson, you learn how to apply infrastructure development practices, describe a CI platform architecture, configure networking and install/configure a CI server.
Lesson 4: Commit Stage
In Lesson 4, “Commit Stage,” you learn how to implement the key automation steps that are part of continuous integration. This includes building and storing the software distribution, running fast-executing tests and static analysis. The purpose of the commit stage is to provide very quick feedback to the committers (developers, operations, and so forth) so that they can act on the feedback before moving on to another task. In this lesson, you learn how to poll multiple GitHub version-control repositories and run build scripts that include scripted databases, unit tests and static analysis.
Lesson 5: Acceptance Stage
In Lesson 5, “Acceptance Stage,” you learn how to automate the provisioning of AWS infrastructure resources using CloudFormation. Once these resources are available, you apply automated configuration management in OpsWorks and Chef to configure the environments. This includes the operating system, database, application and other configuration. Then, you learn how to deploy software and learn about options for running more exhaustive testing in this stage. Next, you learn how to write and run infrastructure tests with Cucumber. Finally, you learn the different types of longer-running tests and processes that can be run in this stage.
Lesson 6: Capacity Stage
In Lesson 6, “Capacity Stage,” you learn the different types of tests you might employ to ensure your software system can handle the load and other factors. The purpose of the capacity stage is to verify your system “‘ilities,” in which you are automatically assessing things like availability, reliability, load, security, performance and other facets of your system. The capacity stage might run at the same time your exploratory stage is running and once both exploratory and capacity stages are successful, you configure it to automatically go to the pre-production stage.
Lesson 7: Exploratory Stage
In Lesson 7, “Exploratory Stage,” you learn how you can incorporate manual processes into a fully-automated deployment production line. The purpose of the exploratory stage is to enable exploratory testing and other experimentation on the software system. Once complete, an authorized user can approve or reject the release candidate in order for it to automatically move to the next stage.
Lesson 8: Pre-Production Stage
In Lesson 8, “Pre-Production Stage,” you learn the types of automated steps you might include in creating an environment immediately prior to going to production. The purpose of the pre-production stage is to launch a system that is identical to production in terms of scale. Once this environment has been created and synchronized with production, someone can make a business decision to release the software to users.
Lesson 9: Production Stage
In Lesson 9, “Production Stage,” you learn how to configure a stage capable of releasing the software to production. The purpose of the production stage is to make the new software system available for users. The production stage works in conjunction with the pre-production stage.
Lesson 10: Self-Service Deployment
In Lesson 10, “Self-Service Deployment,” you learn how to provide the capability for any project team member to spin up their own environment and deployment by entering information in a few fields and clicking a button. A self-service deployment usually uses the approved assets from the acceptance stage and can be run at any time.
Lesson 11: Cross-Cutting Processes
In Lesson 11, “Cross-Cutting Concerns,” you learn the types of activities you might be implementing as you're constructing a deployment production line that are necessarily associated with specific stages. These include things like setting logging aggregation, monitoring systems and growing the DevOps capabilities within your organization.
Lesson 12: Ongoing Activities
In Lesson 12, “Ongoing Activities,” you learn the types of daily activities you want to incorporate into your routine as you implement cloud delivery in AWS. You consider things like creating screencasts, daily standups and comprehensive instructions as you continually deliver your solution to other team members.
Lesson 13: Production Operations
In Lesson 13, “Production Operations,” you learn about operational activities you need to consider, including security and operational and production line checklists, along with some of the differences in how monitoring can be applied when using AWS.
About LiveLessons Video Training
LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include IT Certification, Programming, Web Development, Mobile Development, Home and Office Technologies, Business and Management, and more. View all LiveLessons on InformIT at: http://www.informit.com/livelessons