Welcome to Bootcamp AI
02. Project Reviews
Access the Career Portal
How Do I Find Time for My Nanodegree?
Introduction
What you are going to build
Prerequisites
Sign in to AWS and monitor costs
What is needed
Jobs in Cloud Computing
Cloud Computing
Test
Test
Test
Test
Test
Test
Test
Lab: Setup free-tier account
Foundational & Compute Service
Test
Test
EC2 – EBS Dashboard
Test
Test
Test
Lab – Deploy App to Beanstalk
Storage & Content Delivery
Why do we need storage in the cloud?00:00
Test
S3 – Create a Bucket
S3 & Glacier00:00
Test
Demo – S3 & Glacier00:00
DynamoDB00:00
Test
DynamoDB – Create a table00:00
Lab: DynamoDB
Relational Database Service (RDS)1:46
Test
Demo – Relational Database Service (RDS)2:29
RedShift1:26
Test
Lab – RDS
Why do we need content delivery in the cloud?00:00
Cloud Front00:00
Test
Demo – Cloud Front1:41
Lab – S3 & Cloud Front
Lesson Recap00:00
Security
Why do we need security for applications?1:07
AWS Shield00:00
Test
AWS Web Application Firewall0:50
Test
Identity & Access Management00:00
Test
Demo – Identity and Access Management (IAM)00:00
Lab IAM
Lesson Recap00:44
Networking & Elasticity
Why do we need networking in the cloud?1:54
Test
Route 5300:00
Test
Why do we need elasticity in the cloud?00:00
Test
EC2 Auto Scaling00:00
Test
EC2 – Create Auto Scaling group
EC2 – Grupo de Auto Scaling
Demo – EC2 Auto Scaling00:00
Elastic Load Balancing00:00
Test
Demo – Elastic Load Balancing00:00
EC2 - Elastic Load Balancing
EC2 – Laboratorio NLB
Lab - EC2 Auto Scaling
Lesson Recap00:00
Messaging & Containers
Why do we need messaging in the cloud?00:59
Test
Simple Notification Service (SNS)00:40
Test
Demo – Simple Notification Service (SNS)00:00
Why do we need queuing technology?00:52
Test
Simple Queue Service (SQS)00:00
Test
Demo – Simple Queue Service00:00
SQS – Create a Queue
Lab – SNS
Why do we need containers?1:16
Test
Elastic Container Service (ECS)00:00
Test
Demo: Elastic Container Service00:00
Lesson Recap00:00
AWS Management
Why do we need logging and auditing in the cloud?00:00
Cloud Trail00:00
Test
CloudTrail - Create a Trail
Demo – Cloud Trail00:00
Cloud Watch1:03
Test
Demo: Cloud Watch00:57
Lab: Cloud Watch
What is Infrastructure as Code and why do we need it?00:57
Cloud Formation00:00
Test
Demo – Cloud Formation00:00
Lab: Cloud Formation
AWS Command Line Interface (CLI)00:00
Demo – AWS Command Line Interface (CLI)00:00
Lesson Recap00:00
Course Recap00:00
Deploy Static Website on AWS
Create S3 Bucke
Upload files to S3 Bucket
Secure Bucket via IAM
Configure S3 Bucket
Configure S3 Bucket 2
Distribute Website via CloudFront
Access Website in Web Browser
Project Description – Deploy Static Website on AWS
Lista de verificación de envío de proyectos
Project Rubric – Deploy Static Website on AWS
Getting Started with CloudFormation
What is Cloud Computing?1:08
Why you need Cloud DevOps2:39
What are the benefits of Cloud DevOps?1:59
What are the benefits of Cloud DevOps? 21:47
Set up Tools 13:04
Test
Creating Access Key ID5:24
Test
Configuring AWS CLI3:52
Test
Adding Additional Keys1:40
Understanding CloudFormation2:09
Test
Getting Started With CloudFormation Script6:22
Test
Testing CloudFormation7:40
Creating a VPC: Manually vs Automated3:01
Exercise – Create a VPC: Automated7:40
Exercise – EC2 Instance with an Admin Role
Configuring AWS API User6:07
Automating with CloudFormation1:21
Test
Verifying in console00:00
Test
Conclusion1:02
Infrastructure Diagrams
Lesson Overview
Generalizing to other cloud providers1:28
Setting up Lucidcharts2:29
Test
Exercise: Setting Up Lucid Charts
Diagramming AWS Accounts and Regions2:41
Test
Exercise: Diagramming AWS accounts & regions
Diagramming Availability Zones3:28
Test
Exercise: Diagramming Availability Zones
Virtual Private Cloud5:21
Exercise: Virtual Private Cloud
Public vs Private Subnets2:34
Test
Exercise: Public vs Private Subnets
IGW Internet Gateway3:36
Test
Exercise: IGW Internet Gateway
Network Address Translation1:55
Exercise: NAT’s
Autoscaling groups4:10
Exercise: Autoscaling Groups
Load Balancers 12:47
Load Balancers 21:49
Exercise: Load Balancers2:48
Security Groups1:54
Test
Exercise: Security Groups
Routing Table2:05
Routing Table 1
Routing Table 21:50
Exercise: Routing Table
S31:50
Test
Exercise: S3
Reviewing Our Diagram1:59
Test
Summary0:46
Networking Infrastructure
Workflow and Helpers4:55
VPC and Internet Gateway 14:55
Demo: creación de subredes, parte 26:54
Demo: creación de subredes, parte 32:40
NAT Gateway And Subnets Part 15:51
NAT Gateway And Subnets Part 25:10
Demo – Create NAT Gateway – Part 32:16
Demo – Create NAT Gateway – Part 42:28
Demo – Verify NAT Gateway in the Web Console 54:06
Routing
Test
Demo – Route Tables Part 15:34
Demo – Associate Route Tables to Subnets Part 22:36
Demo – Verify Route Table Creation in the Web ConsolePart 34:18
Outputs4:39
Outputs ll3:35
Conclusión0:25
Challenge
Servers and Security Groups
Setting Up Our Environment2:55
Understanding Security Groups3:23
Test
Security Groups5:21
Creating Autoscaling Group00:00
Test
Launch Configuration00:00
UserData script
Debugging Launch Configuration00:00
Test
Launch Templates
Adding Target Groups and Listeners00:00
Updating the Stack with the Load Balancer00:00
Debugging Our Security Group00:00
Final Review00:00
Conclusion00:30
Connect to private servers via a Jumpbox
Challenge 3
Prerequisites
Overview
Prerequisites
Overview
Storage and Databases
Intro1:22
Test
RDS Databases (Part One)5:40
RDS Databases (Part Two)6:42
Test
RDS – Create Aurora database
RDS Database (Part Three)00:00
Test
RDS Database (Part Four)
S3 (Part One)00:00
S3 (Part Two)00:00
Test
S3 (Part Three)00:00
Test
Key Points00:00
Test
Exercise
Conclusion00:00
Monitoring & Logging
Prerrequisitos1:21
Introduction to Continuous Delivery3:02
Continuous Delivery Is Important2:17
Stakeholders2:45
True North2:45
Principles of Continuous Delivery00:00
Course Outline00:00
Tools, Environments & Dependencies0:23
Project: Give Your Application Auto-Deploy Superpowers1:19
Good Luck!00:00
Continuous Integration and Continuous Deployment—
Introduction to CI/CD1:08
Big Picture2:45
Intuition CI / CD3:02
Fundamentals of CI/CD4:10
Benefits of CI/CD4:08
Exercise: Benefits
Solution: Benefits0:58
Best Practices5:14
Continuous Integration and Continuous Deployment Strategies —
Deployment Strategies5:39
Blue Green Deployment2:12
Pipeline Building Blocks00:00
Exercise: Pipeline
Solution: Pipeline3:43
CI/CD Tools3:39
Test –
Lesson Conclusion00:00
Building a Continuous Integration Pipeline –
Introduction2:17
Big Picture00:00
Intuition00:00
Creating Pipelines00:00
Test –
Anatomy of a config.yml File00:00
Creating Jobs00:00
Exercise: Creating a Simple Workflow
Solution: Creating a Simple Workflow00:00
Environment Variables00:00
Environment Variables 2
Exercise: Environment Variables
Solution: Environment Variables00:00
Triggering00:00
Exercise: Trigger Existing Workflow
Solution: Trigger Existing Workflow00:00
Sharing Information00:00
3rd Party Secret Keepers
Exercise: Sharing Files
Solution: Sharing Files00:00
Reusable Job Code 200:00
Exercise: Reusable Job Code
Solution: Reusable Job Code2:14
Job Failures00:00
Exercise: Job Failures
Solution: Job Failures00:00
Create a CI Pipeline00:00
Exercise: Create a CI Pipeline
Solution: Create a CI Pipeline00:00
Lesson Conclusion00:00
Enabling Continuous Delivery with Deployment Pipelines
Introduccón2:43
Big Picture2:47
Intuition5:42
Configuration Management2:07
Design an Ansible Playbook 13:58
Design an Ansible Playbook 23:22
Exercise: Define Ansible Playbook
Solution: Define Ansible Playbook1:13
Build an Inventory File2:29
Exercise: Inventory File
Solution: Inventory File0:49
Remote Control Using Ansible4:20
Exercise: Remote Control Using Ansible
Solution: Remote Control Using Ansible
Solution: Remote Control Using Ansible5:51
Deployment Jobs0:54
Infrastructure Creation Jobs00:00
Exercise: Infrastructure Creation
Solution: Infrastructure Creation00:00
Configuration and Deployment Jobs00:00
Exercise: Config and Deployment
Solution: Configuration and Deployment0:40
Smoke Testing Jobs00:00
Creating a Smoke Test00:00
Exercise: Smoke Testing Jobs
Solution: Smoke Testing Jobs00:00
Rollback Jobs00:00
What Do I Need for This Job?—
Exercise: Rollback
Solution: Rollback
Production Candidate Promotion Jobs–
Exercise: Promote to Production
Solution: Promote to Production–
Lesson Conclusion —
Monitoring Environments
Introduction2:18
Big Picture1:38
Intuition About Monitoring1:53
The Case for Monitoring 13:12
The Case for Monitoring 22:53
Monitoring Tools1:28
Monitoring Tools 22:19
Set Up Prometheus 17:59
Set Up Prometheus 21:06
Exercise: Prometheus
Solution: Prometheus0:31
Exporters 10:53
Exporters 22:07
Deploy an Event-Driven Microservice
Functions as a Service (FaaS)3:24
A Model for Serverless2:53
Lesson Outline
Benefits of FaaS1:16
Test
Cloud-Native3:49
Characteristics of Cloud-Native Systems1:51
Test
AWS Account & Resources
Cloud9 Environment–7:14
Lambda Functions00:00
Test
Deploying and Testing4:33
Tutorial: Making Change
Event-Handling00:00
Events & Response00:00
Test
Create a Test
Test
Deploy & Use API Gateway—00:00
Local Requests –00:00
Creating a Virtual Environment
Test
Exercise: Wikipedia
Exercise Code
Exercise: Wikipedia–00:00
Test & Response00:00
Lesson Summary00:00
Using Docker Format Containers
Docker Containers2:00
Exercise: Setting Up a Local Environment2:49
Test
Makefiles4:17
Test
Makefile Creation Recap
Exercise: Create A Basic Makefile
Install Docker00:00
Linting and CircleCI00:00
Test
Running Dockerfiles
Setup AWS Docker Project00:00
Running Dockerfiles00:00
Exercise: Deploying to Amazon ECR00:00
Lesson Summary1:26
Test
Containerization of an Existing Application
Test
Install Packages00:53
Setup Cloud9–3:37
Copying an Application3:37
Test
App Setup0:44
Test
App Start1:10
Test
Exercise: Build and Deploy3:20
Test
Exercise: Containerize an App
Summary1:14
Container Orchestration with Kubernetes
Test
Overview of Kubernetes3:41
Test
Monitoring, Logging and Debugging with Kubernetes1:01
Exercise: Prometheus Monitoring
Exercise: Logging
Exercise: Debugging4:53
Autoscaling with CPU or Memory00:00
Test
Summary00:00
Operationalizing Microservices
Test
Disaster Recovery3:14
Test
CI/CD Pipeline Integration3:02
Test
Exercise: CircleCI
Load Testing1:11
Exercise: Locust Load Testing5:52
Summary00:00
Course Wrap Up00:00
Operationalize a Machine Learning Microservice API
Introduction1:17
Project Overview
Project Structure & Files
Create the Project Environment
Detailed Project Tasks
Project Description – Operationalize a Machine Learning Microservice API
Project Submission
Project Rubric – Operationalize a Machine Learning Microservice API
Job
Job Search Mindset1:27
Target Your Application to An Employer3:01
Open Yourself Up to Opportunity00:00
Refine Your Entry-Level Resume
Convey Your Skills Concisely1:23
Effective Resume Components00:00
Resume Structure00:00
Describe Your Work Experiences00:00
Resume Reflection00:00
Resume Review00:00
Craft Your Cover Letter
Get an Interview with a Cover Letter!00:00
Purpose of the Cover Letter00:00
Cover Letter Components00:00
Write the Introduction00:00
Write the Body00:00
Write the Conclusion00:00
Format00:00
Optimize Your GitHub Profile
Introduction00:00
GitHub profile important items00:00
Good GitHub repository00:00
Interview Part 100:00
Identify fixes for example “bad” profile00:00
Identify fixes for example “bad” profile 200:00
Quick Fixes #100:00
Quick Fixes #200:00
Writing READMEs00:00
Interview Part 200:00
Commit messages best practices
Reflect on your commit messages00:00
Participating in open source projects00:00
Interview Part 300:00
Participating in open source projects 200:00
Starring interesting repositories00:00
Develop Your Personal Brand
Why Network?2:01
Why Use Elevator Pitches?2:04
Personal Branding
Elevator Pitch1:08
Pitching to a Recruiter0:51
Why Use Elevator Pitches?1:41
EC2 Dashboard
Let’s have an overview of the information available on the EC2 dashboard.
Snapshot: EC2 Dashboard
The details of the items highlighted in red above are:
1. Resource Summary
- It presents the summary of all the EC2 resources running in a particular region. Currently, it is showing one instance (running state), one key pair, zero load balancers, two security groups, and one volume (storage). A few of these resources, such as key-pairs, security groups, and load balancers are modular in nature, meaning, they can be re-utilized to launch another EC2 instance.
2. Instances
The simplest form of the EC2 Instance is the pay as you go, the on-demand instance, and that’s this type of instance created using the default Launch wizard available on the EC2 dashboard. It’s just the normal one pay as you go.
- Instances — It shows the list and details of the instances running in a given region.
- Instance Types — It shows the list of instance types (different combinations of hardware — CPU, storage, memory, architecture) available to launch a new instance.
- Launch Templates — These are the scripts that contain configuration information written either in JSON or YAML format to automate instance launches, simplify permission policies, and enforce best practices across your organization.
- Spot Requests — Spot is where you actually bid on an instance. If the price falls below your bid, the instance is automatically spun up and if the price goes above your bid, the server is automatically terminated. So this is good if you have an application that has a flexible start and stop time.
- Reserved Instances — This is where you sign a contract for your EC2 Instance in either one to three years and you get a huge discount. So, this is good when you know the steady-state for your applications and you want to pay upfront.
- Dedicated Hosts — This is where you have your own dedicated hardware. You may have license requirements for certain software packages that say no multi-tenancy. Meaning that you cannot run that application on a shared server. So Dedicated Hosts would solve that problem.
- Capacity Reservations — This allows you to reserve the desired capacity (count) of instances in a particular availability zone. The reserved capacity is charged at the selected instance type’s On-Demand rate whether an instance is running in it or not.
See the detailed summary of all types and purchasing options here.
3. Images
- AWS provides an option to create custom AMIs. Alternatively, you can use Images owned by Amazon and others. The AMI dashboard shows the Images owned by you. You can build a custom Image by using the EC2 Image Builder wizard available on this dashboard.
4. Elastic Block Store (EBS)
In simple words, you can think of EBS as an external hard drive that we attach to the server for additional storage.
- Volumes — It shows the list and details of all the volumes currently available to use. You can re-purpose a volume, meaning, you can anytime attach or detach a volume to any instance. You can create new volumes by using the Create Volume wizard. AWS provides the option to have a variety of volumes, such as general-purpose solid-state drive (SSD), provisioned SSD, general hard-disk (HDD), throughput-optimized HDD, or magnetic drives. Each type of volume has a different serving capacity, such as the number of I/O operations per second.
- Snapshots — A snapshot is the saved state of the data in the (existing) volume at a particular moment. Snapshots can be used to transfer volumes from one instance to another or saving the state for future use.
- Lifecycle Manager — It helps to schedule and manage the creation and deletion of EBS snapshots.
Snapshot: EC2 Dashboard (Scrolled down)
5. Network & Security
- Security Groups — A security group acts as firewall rules that control the traffic for EC2 instances or virtual private clouds (VPC). You can define multiple security groups. A given security group can be assigned to multiple EC2 instances.
When you launch an instance, you can specify one or more security groups. You can modify the rules for a security group at any time; the new rules are automatically applied to all instances that are associated with the security group. - Elastic IP addresses — An Elastic IP address is a static IPv4 address. Assume you have a server running on an EC2 instance, that has a specific IP address. In case, the instance fails, the back-up instance will spin up. The back-up instance will have a different IP address, which will require you to update the IP address used in your client application. This problem can be solved by using the elastic IP address. An Elastic IP address can mask the failure of an instance by remapping the current IP address to another instance in your account.
- Placement Group — You can imagine the EC2 instances as VMs running on the real servers in a data center. By default, the EC2 instances that you launch will be spread out across underlying hardware. But, sometimes there is a requirement to place the group of interdependent instances to meet the needs of your workload. AWS allows to place the instances based on either of the following placement strategies — cluster (tightly packed), partition (logically grouped), or spread evenly across the underlying hardware.
- Key Pairs — A key-pair is pair of (encrypted) public and (unencrypted PEM encoded) private keys. The public key is placed automatically on the instance, and the private key is made available to the user, just once. You can only log in to your running instance with the help of your private key.
- Network Interfaces — A network interface represents a virtual network card in a VPC, and it has a both private and public IP addresses. When you create an instance, a default network interface is attached to it. In this dashboard, you can create and attach additional network interfaces to any instance. An EC2 instance can have multiple network interfaces.
6. Load Balancing
- Load Balancer — A load balancer distributes the incoming traffic across multiple targets, such as EC2 instances in one or more Availability Zones. AWS supports three types of load balancers: Application Load Balancers, Network Load Balancers (new), and Classic Load Balancers (might become deprecated soon).
7. EC2 Auto Scaling
It is a service that automatically launches/terminates EC2 instances based on user-defined scaling policies, scheduled actions, and health checks. It ensures that you have a specified number of instances always up and running. You can specify the minimum and maximum count of instances. This service uses launch templates, i.e., a script containing the configuration details of the instances that will be launched automatically.