DevOps: CI/CD using AWS CodePipeline & Elastic Beanstalk

Video description

Automated Continuous Integration (CI) and Continuous Deployment (CD) is a critical part of DevOps and is a skill that is in high demand.

In this course, we will examine the subject in complete depth by walking through an example project and building a complex CI/CD pipeline on AWS. You will gain the following five extremely valuable and highly sought after skills:

Learn to conceptualize and design CI/CD pipelines for your own web applications

Deploy and scale web applications on Amazon's Cloud infrastructure using AWS Elastic Beanstalk, Build pipelines on Amazon's Cloud infrastructure using AWS CodePipeline

Learn advance topics such as Elastic Beanstalk Extensions and AWS Lambda to run custom actions in your CodePipeline, Monitor your automated CI/CD pipelines. DevOps and continuous integration / continuous deployment processes allows team to iterate often and innovate faster. After taking this course, you will have a comprehensive understanding of continuous integration and continuous deployment processes. You will be able to confidently design a CI/CD pipeline for your own web applications. You will gain an in-depth understanding of AWS CodePipeline and AWS Elastic Beanstalk services.

What You Will Learn

  • Conceptualize and design fully automated continuous integration & deployment pipelines
  • Use AWS CodePipeline to setup CI/CD pipelines
  • Use AWS Elastic Beanstalk to deploy applications
  • Map any real-world application into a CI/CD pipeline
  • Integrate custom builds / actions in AWS CodePipeline
  • Adding AWS Lambda functions in AWS CodePipeline
  • Monitor their AWS CodePipeline

Audience

Software Engineers, Web Designers and DevelopersInfrastructure, DevOps & QA teamsTech founders, CTOs & SME ownersSomeone looking to automate their web application delivery process using AWS

About The Author

Ali Rizavi: Ali Rizavi - I am a Software Engineer by profession with over 12+ years of industry experience building complex multi-tier web applications. I have worked in big tech firms where my day job was to build highly scalable web applications and services, designed to serve millions of requests per second. I am also an AWS certified Solutions Architect.I am joining Udemy to share my expertise as well as a few tricks-of-the-trade that I have picked up over the years. My educational background is also in Computer Science & Engineering from one of the top universities in the United Kingdom (Russell Group). So, in every course, I will share insights from my experience while balancing it with the academic background and fundamentals. I am a strong believer in interactive mode of teaching and learning. In my courses I reinforce learning through demos, code-along sessions as well as simple yet effective practical assignments.

Table of contents

  1. Chapter 1 : Getting Started
    1. Welcome!
    2. How is the course structured?
  2. Chapter 2 : Introduction to Continuous Integration Continuous Deployment
    1. Section Overview
    2. What is Continuous Integration?
    3. What is Continuous Delivery/Deployment?
    4. What is a CI/CD Pipeline?
    5. Why use CI CD?
    6. Achieving Full Automation
    7. Section Summary
  3. Chapter 3 : CI/CD for Web Applications
    1. Section Overview
    2. Anatomy of a basic web application
    3. Designing a continuous deployment pipeline for a web application
    4. Managing Relational Database Changes and Deployments
    5. Deployments Actions
    6. Monitoring
    7. Common Challenges
    8. Summary
  4. Chapter 4 : Setup Project: Let's setup a basic PHP web application
    1. Section Overview
    2. Quick Cloud9 IDE Overview
    3. Building Fuzzy Telegram PHP Web Application
    4. Using Environment Variables in Applications
    5. Configuring MySQL Database using Environment Variables
    6. Writing Database Migration Scripts (Database Change Management Scripts for CD)
    7. Unit tests using PHPUnit
    8. Checking in to code repository (Github)
  5. Chapter 5 : Deploy Project: Setting up AWS Elastic Beanstalk RDS
    1. Section Overview
    2. Setting up Elastic Beanstalk - Part 1
    3. Setting up Elastic Beanstalk - Part 2
    4. Elastic Beanstalk Dashboard Walkthrough
    5. Manually Deploying Application on Elastic Beanstalk
    6. Manual RDS / Database Deployment on Elastic Beanstalk
    7. Intro to Elastic Beanstalk Extensions (.ebextensions)
    8. Workshop: Creating .ebextension to run Database migration scripts
    9. Creating a new environment for "Production"
    10. Application Versions
  6. Chapter 6 : Setting up a CI/CD pipeline using AWS CodePipeline
    1. Section Overview
    2. First, let's commit everything in Github
    3. Creating a new pipeline on AWS CodePipeline
    4. AWS CodePipeline in Action
    5. Editing AWS CodePipeline and adding a new Stage
    6. Manually release a change in AWS CodePipelin
    7. Stage Transitions in AWS CodePipeline
  7. Chapter 7 : Adding actions in AWS CodePipeline
    1. Sequential and Parallel Actions
    2. Types of actions in AWS CodePipeline
    3. Input Output Artifacts
    4. Four methods to run custom builds/actions in AWS CodePipeline
  8. Chapter 8 : Method # 1: Adding a custom deployment action to run unit tests
    1. Part 1 - Setting up a new stage and environment for unit testing
    2. Part 2 - Adding script to run unit tests in Elastic Beanstalk
  9. Chapter 9 : Method # 2: Invoking Lambda Functions in your AWS CodePipeline
    1. Part 1 - Create S3 Bucket for your assets
    2. Part 2 - Create Lambda Function to upload assets to S3
    3. Part 3 - Adding Lambda Function in AWS CodePipeline
  10. Chapter 10 : Method # 3: 3rd party integrations in AWS CodePipeline
    1. Workshop: Integrating GhostInspector for UI testing
  11. Chapter 11 : Real-life scenarios
    1. Adding a manual approval step in AWS CodePipeline
    2. Manually rolling back changes in AWS CodePipeline
  12. Chapter 12 : Monitoring your fully automated AWS CodePipeline
    1. Section Overview
    2. Workshop: Lambda Function to health check your web application
    3. Creating Alarms using CloudWatch
  13. Chapter 13 : Wrap-up
    1. Summary Thank You

Product information

  • Title: DevOps: CI/CD using AWS CodePipeline & Elastic Beanstalk
  • Author(s): Ali Rizavi
  • Release date: July 2017
  • Publisher(s): Packt Publishing
  • ISBN: 9781788395564