Skip to main content

AWS Developer Tools Deep Dive – Early Access

Course

Intro Video

Photo of Craig Arcuri

Craig Arcuri

AWS Training Architect II in Content

Length

08:11:21

Difficulty

Intermediate

Videos

63

Hands-on Labs

2

Course Details

Welcome to the AWS Developer Tools Deep Dive. The AWS Developer Tools are designed to help you build software like Amazon. They facilitate practices such as continuous delivery and infrastructure as code for serverless, containers, and Amazon EC2. The Developer Tools suite consists of seven services: CodeCommit, CodeBuild, CodeDeploy, CodePipeline, X-Ray, Cloud9, and CodeStar. This course will begin with an introductory section on DevOps basics, Git/Github, and CI/CD (Continuous Integration/Continuous Deployment) concepts. The course will then take a deep dive into each of the seven Developer Tools services and use real world examples to provide hands-on walkthroughs throughout the course. To further ingrain the concepts of the course, several hands-on labs will be provided.

Github link for course files: https://github.com/natonic/Developer-Tools-Deep-Dive

Interactive Diagram: https://interactive.linuxacademy.com/diagrams/397_AWS+Developer+Tools+Deep+Dive

Syllabus

Course Introduction

Getting Started

Welcome to Early Access

00:01:37

Lesson Description:

We are still working on a few hands-on labs that will be added to this course soon. In the meantime you have access to all of the lessons.

About the Course

00:07:29

Lesson Description:

This lesson describes the overall goal of the AWS Developer Tools Deep Dive course as well as detailing its sections.

Environment Configuration

00:09:57

Lesson Description:

This lesson walks through creating an Administrative server in EC2. This server will be used throughout the course to issue CLI commands to the various services in the Developer Tools suite. Details about additional configuration in upcoming lessons will also be explained.

DevOps Basics

00:07:38

Lesson Description:

This lesson describes the problems in integrating software development with IT operations, and how DevOps came about to help solve these problems. The lesson also sets the stage for the AWS Developer Tools suite to solve these problems.

CI/CD Concepts

00:07:50

Lesson Description:

This lesson introduces CI/CD concepts (continuous integration and continuous delivery). This will set a solid foundation to move into subsequent sections on AWS Developer Tools services.

GitHub/Git Concepts

00:08:42

Lesson Description:

This lesson provides an overview of Git and Github, as well as how the two interact. The lesson provides a solid foundation in Git concepts heading into the next section on CodeCommit, which will interact extensively with Git.

Git Installation

00:03:39

Lesson Description:

This lesson walks through the installation of Git on an Amazon Linux 2 AMI.

AWS CodeCommit

CodeCommit Setup and Config

Configuration Options

00:07:31

Lesson Description:

This lesson details the options available for communicating with CodeCommit: HTTPS and SSH. The lesson will detail the pros and cons of each, which are largely dictated by the server type used (Linux vs. Windows vs. Mac).

IAM Configuration

00:06:10

Lesson Description:

This lesson walks through the setup and configuration of IAM users for use with AWS CodeCommit.

Configuring Credential Helper HTTP

00:04:00

Lesson Description:

This lesson walks through configuring the Credential Helper to enable communication with AWS CodeCommit.

CodeCommit Basics

Introduction to CodeCommit

00:11:06

Lesson Description:

This lesson lays the foundation for the rest of the section, providing an introduction to the CodeCommit service in the AWS Developer Tools suite.

Creating, Viewing, Editing, and Deleting a Repository

00:06:50

Lesson Description:

This lesson walks through the most common operations performed on a repository: create, list, view, and delete. This is first done from the AWS Management Console and then from the CLI.

Cloning Repositories, Commits, Pushes, and Pulls

00:13:24

Lesson Description:

This lesson covers working with repositories in CodeCommit. In it, we discuss the most common actions performed on repositories: cloning, commits, pushes, and pulls.

Merging Basic Conflicts

00:10:27

Lesson Description:

This lesson covers conflicts when committing and pushing code changes to the main repository. Additionally, we discuss how to resolve these conflicts.

Branches (Local)

00:08:45

Lesson Description:

This lesson details how branches can be used in CodeCommit to provide a safe development environment to develop new features or perform bug fixes. The lesson includes a walkthrough on creating, merging, and deleting branches.

Tags

00:09:20

Lesson Description:

This lesson goes over the use of tags with CodeCommit commits.

Migrating a Repository into CodeCommit

00:07:39

Lesson Description:

This lesson covers migrating an outside repository into CodeCommit.

CodeCommit with Other Services

Introduction to Triggers

00:05:54

Lesson Description:

This lesson provides an introduction to triggers for CodeCommit. The triggers can be used to invoke SNS topics or Lambda functions.

Triggers for SNS

00:06:26

Lesson Description:

In this lesson, we go over how CodeCommit can be linked with SNS to notify team members of CodeCommit repository changes. After setting up an SNS subscription, CodeCommit can be configured to invoke the SNS subcription.

Triggers for Lambda Functions

00:08:09

Lesson Description:

This lesson walks through the creation of a trigger for Lambda functions. Much of the work done in this lesson is from the Lambda console. But in the end, actions in CodeCommit will trigger a Lambda function.

CodeCommit Encryption

00:04:11

Lesson Description:

This lesson discusses encryption in CodeCommit. CodeCommit has encryption both in transit and at rest, and this lesson details the ways this encryption is accomplished.

AWS CodeBuild

CodeBuild Essentials

What Is CodeBuild?

00:08:45

Lesson Description:

This lesson introduces AWS CodeBuild, describing what CodeBuild is, its use cases, and how it interacts with other CI/CD tools.

Getting Started with CodeBuild

00:13:54

Lesson Description:

This lesson sets the groundwork for the rest of this section on CodeBuild. Here, we start working with the CodeBuild interface and walk through a build from the CLI.

Working with Build Projects

00:09:48

Lesson Description:

This lesson describes the purpose of build projects in CodeBuild. We then walk through the creation of build projects.

Working with Builds

00:05:24

Lesson Description:

This lesson walks through working with CodeDeploy builds. After the creation of a build project, there are several options that can be done with builds, including running builds.

AWS CodeDeploy

CodeDeploy In-Depth

Introduction to CodeDeploy

00:04:25

Lesson Description:

This lesson provides an introduction to AWS CodeDeploy. The lesson details what CodeDeploy is, its use cases, and how it interacts with other services in a CI/CD pipeline.

CodeDeploy Setup and Config

00:07:28

Lesson Description:

This lesson walks through the setup and configuration of CodeDeploy, including IAM policies and service roles that will enable CodeDeploy to interact with other services.

Configuring an EC2 Instance for Use with CodeDeploy

00:06:39

Lesson Description:

In this lesson, we go over configuring an EC2 instance for use with CodeDeploy. This includes the installation of a CodeDeploy agent, using a Bash script, which will enable the EC2 instance to interact with CodeDeploy.

Creating an Application, Deployment Group, and Deployment Configuration

00:12:06

Lesson Description:

This lesson discusses the purpose of an application and a deployment group. We then go on to create an application and a deployment group.

Editing and Deleting an Application

00:03:29

Lesson Description:

This lesson walks through editing and deleting AWS CodeDeploy applications.

Adding, Editing, and Deleting Application Elements (Deployment Groups and Configurations)

00:06:07

Lesson Description:

This lesson covers AWS CodeDeploy on deployment groups. We walk through creating, editing, and deleting deployment groups.

Creating, Viewing, and Deleting a Custom Deployment Configuration

00:07:16

Lesson Description:

This lesson discusses AWS CodeDeploy custom deployment configurations. Custom deployment configurations can be created when the AWS deployment configurations provided out of the box do not meet your needs.

Creating and Configuring the AppSpec File

00:09:06

Lesson Description:

This lesson takes an in-depth look at the AppSpec file. The AppSpec file in CodeDeploy orchestrates the deployment of revisions (source code and revisions). We then walk through the creation and configuration of the AppSpec file.

Creating and Uploading a Revision to S3

00:06:00

Lesson Description:

This lesson discusses the process of creating a revision for AWS CodeDeploy and uploading that revision to an S3 bucket. The AppSpec file is a big part of this process and is included in the revision.

Deploying a Revision from S3

00:07:10

Lesson Description:

This lesson builds on the previous lesson where a CodeDeploy revision is uploaded to S3. In this lesson, the revision in S3 will be deployed.

Monitoring Deployments via SNS Triggers

00:07:18

Lesson Description:

Simple Notification Service can be used to help monitor deployments. Triggers can be added to CodeDeploy that can be connected to SNS topics, which will notify the appropriate personnel when a deployment action has taken place. This lesson will walk through the configuration of SNS triggers.

Viewing Deployment Details and Error Logs

00:14:07

Lesson Description:

When performing a deployment using AWS CodeDeploy, many artifacts will be produced that will aid in reviewing and troubleshooting deployments. This lesson focuses on reviewing deployment details and error logs produced by a deployment.

Stopping Deployments, Rollbacks, and Redeployments

00:07:17

Lesson Description:

This lesson walks through the process of stopping deployments, rolling back deployments, and performing redeployments.

Automating Deployments from S3 Using Lambda

00:10:54

Lesson Description:

This lesson covers using a Lambda function to automate deployments through CodeDeploy. A Lambda function is configured that will be triggered by the upload of new source code and manage the automatic deployment of that source code.

AWS CodePipeline

CodePipeline In-Depth

What Is CodePipeline?

00:05:30

Lesson Description:

This lesson introduces AWS CodePipeline, setting the stage for the rest of the section on CodePipeline and preparing you for the more practical lessons.

CodePipeline Concepts and Terminology

00:10:46

Lesson Description:

This lesson goes into detail on important CodePipeline concepts and terminology. Understanding these basics will prepare you for working hands-on with AWS CodePipeline.

CodePipeline Setup and Configuration

00:03:57

Lesson Description:

This lesson walks through the setup and configuration necessary to begin using CodePipeline. This includes setting up roles and policies in IAM and performing configuration within CodePipeline.

CodePipeline with CodeBuild

00:08:56

Lesson Description:

This lesson details creating a pipeline with CodeCommit and CodeBuild. A key point in the lesson is that choosing CodeDeploy as part of the pipeline is optional, and, in this case, CodeDeploy is omitted.

Creating a Simple Pipeline

00:14:03

Lesson Description:

This lesson builds on elements learned in the previous lesson to build a pipeline. But this time, the pipeline is built using CodeCommit instead of S3, and the pipeline does not use CodeBuild but does use CodeDeploy. The lesson again illustrates the versatility in creating a pipeline with CodePipeline.

Managing a Pipeline with AWS Console

00:09:12

Lesson Description:

This lesson walks through managing pipelines from the CodePipeline console. After having created several pipelines in this section of the course, they are then managed in the console.

Managing a Pipeline from the CLI

00:07:47

Lesson Description:

This lesson builds on the previous lesson and walks through managing a pipeline from the command line interface.

Continuous Delivery with CloudFormation Templates

00:15:34

Lesson Description:

This lesson walks through how CloudFormation templates can be used as the source for a code pipeline. In the configuration, CloudFormation templates will be used as the source, updates to the source template will trigger the pipeline, and the output will be a CloudFormation stack.

Creating Approval Actions

00:07:41

Lesson Description:

The previous lesson gave a sneak peek into approval actions for CodePipeline. This lesson takes a deepr dive into approval actions. The lesson concludes by creating an approval action and testing the pipeline to verify proper functioning.

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

00:30:00

AWS X-Ray

AWS X-Ray In-Depth

What Is X-Ray?

00:04:40

Lesson Description:

This lesson introduces AWS X-Ray and how it can be used to monitor and troubleshoot environments from end to end.

X-Ray Sample App and Demo

00:11:12

Lesson Description:

This lesson walks through configuring and using AWS X-Ray. The walkthrough uses a sample application to run through the details of how X-Ray can be used to troubleshoot and optimize applications. To follow this walkthrough, open Elastic Beanstalk with this pre-configured link: https://console.aws.amazon.com/elasticbeanstalk/#/newApplication?applicationName=scorekeep&solutionStackName=Java

X-Ray Concepts

00:05:38

Lesson Description:

This lesson discusses AWS X-Ray concepts, which enable X-Ray to monitor and analyze applications within our environment. X-Ray provides a platform for troubleshooting and repairing issues in our environment from end to end.

X-Ray Security

00:05:50

Lesson Description:

This lesson discusses the details about security in AWS X-Ray. X-Ray is secured in transit and at rest using AWS KMS (Key Management Service). You can also choose to use custom keys for security in X-Ray.

AWS Cloud9

Cloud9 In-Depth

What Is Cloud9?

00:06:01

Lesson Description:

This lesson introduces the student to AWS Cloud9. Cloud9 is an IDE that can be used to manage and edit our code during development. The major distinguishing feature of Cloud9 is that it is accessed via web browser.

Cloud9 Configuration

00:07:40

Lesson Description:

This lesson details the different configurations available in Cloud9: individual, teams, and enterprise. We then walk through a team configuration.

IDE Walkthrough

00:08:29

Lesson Description:

This lesson walks through the Cloud9 IDE, explaining the features and tools avaliable in Cloud9.

Working with CodePipeline

00:09:29

Lesson Description:

This lesson walks through configuring Cloud9 to work with CodePipeline via integration with CodeCommit. Cloud9 can then be used to push code changes to CodeCommit, which will then trigger the CodePipeline — resulting in an automated deployment.

IDE Walkthrough - CLI

00:04:17

Lesson Description:

This lesson continues discussing the Cloud9 IDE but touches on working with Cloud9 from the command line interface.

Hands-on Labs are real live environments that put you in a real scenario to practice what you have learned without any other extra charge or account to manage.

00:30:00

AWS CodeStar

CodeStar In-Depth

What Is CodeStar?

00:07:37

Lesson Description:

This lesson describes what CodeStar is and how it can be used to tie together the entire AWS Developer Tools suite.

Setting Up CodeStar

00:04:21

Lesson Description:

This lesson discusses and walks through the setup of AWS CodeStar, including IAM configuration of roles and policies as well as setup within the CodeStar environment.

Getting Started with CodeStar

00:12:02

Lesson Description:

This lesson discusses getting started with CodeStar. The lesson details how to set up a CodeStar project and uses an example to highlight interaction with other Developer Tools services.

CodeStar with AWS Alexa

00:09:32

Lesson Description:

This lesson walks through integrating Amazon Alexa with CodeStar. The lesson will create a CodeStar project that will ultimately deploy an Alexa skill. The lesson will conclude with a final deployment to Alexa and a test in Alexa.

CodeStar with the CLI

00:04:32

Lesson Description:

The CodeStar management console is a powerful tool, but this lesson shows there is still some use in interacting with CodeStar from the CLI.

Conclusion

What's Next?

00:02:08

Lesson Description:

This video closes the course and details the additional courses at Linux Academy that may be of interest related to Devops in general as well as all of the AWS certification offerings.