DevOps Engineering on AWS with AWS Jam (AWSDEVOPS-AAJ)

DevOps Engineering on AWS teaches you how to use the combination of DevOps cultural philosophies, practices, and tools to increase your organization’s ability to develop, deliver, and maintain applications and services at high velocity on AWS. This course covers Continuous Integration (CI), Continuous Delivery (CD), infrastructure as code, microservices, monitoring and logging, and communication and collaboration. Hands-on labs give you experience building and deploying AWS CloudFormation templates and CI/CD pipelines that build and deploy applications on Amazon Elastic Compute Cloud (Amazon EC2), serverless applications, and container-based applications. Labs for multi-pipeline workflows and pipelines that deploy to multiple environments are also included.


The final day is an AWS Jam, a gamified event, with teams competing to score points by completing a series of challenges according to established best practices based on concepts covered in the course. You get to experience a wide range of AWS services in a series of real-world scenarios that represent common operational and troubleshooting tasks. The end result is developing, enhancing, and validating your skillsets in the AWS Cloud through real-world problem solving, exploring new services, features, and understanding how they interoperate.

  • Course level: Intermediate
  • Duration: 4 days


Activities

This course includes presentations, group exercises, hands-on labs, and team-based gamified challenge.


Course objectives

In this course, you will:

  • Use DevOps best practices to develop, deliver, and maintain applications and services at high velocity on AWS
  • List the advantages, roles and responsibilities of small autonomous DevOps teams
  • Design and implement an infrastructure on AWS that supports DevOps development projects
  • Leverage AWS Cloud9 to write, run and debug your code
  • Deploy various environments with AWS CloudFormation
  • Host secure, highly scalable, and private Git repositories with AWS CodeCommit
  • Integrate Git repositories into CI/CD pipelines
  • Automate build, test, and packaging code with AWS CodeBuild
  • Securely store and leverage Docker images and integrate them into your CI/CD pipelines
  • Build CI/CD pipelines to deploy applications on Amazon EC2, serverless applications, and container-based applications
  • Implement common deployment strategies such as “all at once,” “rolling,” and “blue/green”
  • Integrate testing and security into CI/CD pipelines
  • Monitor applications and environments using AWS tools and technologies
  • Work in a team environment to solve real AWS use-case challenges in an AWS Jam


Intended audience

This course is intended for:

  • DevOps engineers
  • DevOps architects
  • Operations engineers
  • System administrators
  • Developers


Prerequisites

We recommend that attendees of this course have:

  • Previous attendance at the Systems Operations on AWS or Developing on AWS courses
  • Working knowledge of one or more high-level programing languages, such as C#, Java, PHP, Ruby, Python
  • Intermediate knowledge of administering Linux or Windows systems at the command-line level
  • Two or more years of experience provisioning, operating, and managing AWS environments
Show details


Course Outline

Day 1

Module 0: Course overview

  • Course objective
  • Suggested prerequisites
  • Course overview breakdown

Module 1: Introduction to DevOps

  • What is DevOps?
  • The Amazon journey to DevOps
  • Foundations for DevOps

Module 2: Infrastructure Automation

  • Introduction to Infrastructure Automation
  • Diving into the AWS CloudFormation template
  • Modifying an AWS CloudFormation template
  • Demonstration: AWS CloudFormation template structure, parameters, stacks, updates, importing resources, and drift detection

Module 3: AWS Toolkits

  • Configuring the AWS CLI
  • AWS Software Development Kits (AWS SDKs)
  • AWS SAM CLI
  • AWS Cloud Development Kit (AWS CDK)
  • AWS Cloud9
  • Demonstration: AWS CLI and AWS CDK
  • Hands-on lab: Using AWS CloudFormation to provision and manage a basic infrastructure

Module 4: Continuous integration and continuous delivery (CI/CD) with development tools

  • CI/CD Pipeline and Dev Tools
  • Demonstration: CI/CD pipeline displaying some actions from AWS CodeCommit, AWS CodeBuild, AWS CodeDeploy and AWS CodePipeline
  • Hands-on lab: Deploying an application to an EC2 fleet using AWS CodeDeploy


Day 2

Module 4: Continuous integration and continuous delivery (CI/CD) with development tools

  • AWS CodePipeline
  • Demonstration: AWS integration with Jenkins
  • Hands-on lab: Automating code deployments using AWS CodePipeline

Module 5: Introduction to Microservices

  • Introduction to Microservices

Module 6: DevOps and containers

  • Deploying applications with Docker
  • Amazon Elastic Container Service and AWS Fargate
  • Amazon Elastic Container Registry and Amazon Elastic Kubernetes service
  • Demonstration: CI/CD pipeline deployment in a containerized application

Module 7: DevOps and serverless computing

  • AWS Lambda and AWS Fargate
  • AWS Serverless Application Repository and AWS SAM
  • AWS Step Functions
  • Demonstration: AWS Lambda and characteristics
  • Demonstration: AWS SAM quick start in AWS Cloud9
  • Hands-on lab: Deploying a serverless application using AWS Serverless Application Model (AWS SAM) and a CI/CD Pipeline

Module 8: Deployment strategies

  • Continuous Deployment
  • Deployments with AWS Services

Module 9: Automated testing

  • Introduction to testing
  • Tests: Unit, integration, fault tolerance, load, and synthetic
  • Product and service integrations


Day 3

Module 10: Security automation

  • Introduction to DevSecOps
  • Security of the Pipeline
  • Security in the Pipeline
  • Threat Detection Tools
  • Demonstration: AWS Security Hub, Amazon GuardDuty, AWS Config, and Amazon Inspector

Module 11: Configuration management

  • Introduction to the configuration management process
  • AWS services and tooling for configuration management
  • Hands-on lab: Performing blue/green deployments with CI/CD pipelines and Amazon Elastic Container Service (Amazon ECS)

Module 12: Observability

  • Introduction to observability
  • AWS tools to assist with observability
  • Hands-on lab: Using AWS DevOps tools for CI/CD pipeline automations

Module 13: Reference architecture (Optional module)

  • Reference architectures

Module 14: Course summary

  • Components of DevOps practice
  • CI/CD pipeline review
  • AWS Certification


Day 4

AWS Jam

  • Participate in team based challenges in a real AWS environment
  • Compete with your colleagues in a gamified, hands-on learning experience
  • Apply your learning from the course on various AWS services