Essential Devops AWS Services
Day 1: Core DevOps Services (Compute, Networking, Storage)
1. Compute Services
Amazon EC2 (Elastic Compute Cloud)
Learn how to launch, connect, and manage EC2 instances.
Explore instance types, AMIs (Amazon Machine Images), and key pairs.
Set up EC2 Auto Scaling to automatically scale instances based on demand.
Hands-on: Launch an EC2 instance, set up security groups, and connect via SSH.
AWS Lambda
Understand serverless computing and event-driven architectures.
Learn how to deploy and test Lambda functions with triggers (e.g., S3, API Gateway).
Hands-on: Write a simple Lambda function using Python and test it.
2. Networking
Amazon VPC (Virtual Private Cloud)
Set up a VPC with subnets, route tables, and internet gateways.
Understand security groups and NACLs (Network Access Control Lists).
Hands-on: Create a VPC with public and private subnets, launch EC2 instances in both, and set up a NAT gateway.
Elastic Load Balancer (ELB)
Understand load balancing concepts and how ELB distributes incoming traffic across multiple instances.
Hands-on: Set up an ELB and configure it to balance traffic across multiple EC2 instances.
3. Storage
Amazon S3 (Simple Storage Service)
Learn about object storage and bucket management.
Configure S3 versioning, encryption, and lifecycle policies.
Hands-on: Create an S3 bucket, upload files, set up public access, and explore versioning and lifecycle rules.
Amazon EBS (Elastic Block Store)
Attach EBS volumes to EC2 instances for persistent storage.
Hands-on: Create and attach an EBS volume to your EC2 instance and explore snapshot creation for backups.
2. Networking
Amazon VPC (Virtual Private Cloud)
Set up a VPC with subnets, route tables, and internet gateways.
Understand security groups and NACLs (Network Access Control Lists).
Hands-on: Create a VPC with public and private subnets, launch EC2 instances in both, and set up a NAT gateway.
Elastic Load Balancer (ELB)
Understand load balancing concepts and how ELB distributes incoming traffic across multiple instances.
Hands-on: Set up an ELB and configure it to balance traffic across multiple EC2 instances.
3. Storage
Amazon S3 (Simple Storage Service)
Learn about object storage and bucket management.
Configure S3 versioning, encryption, and lifecycle policies.
Hands-on: Create an S3 bucket, upload files, set up public access, and explore versioning and lifecycle rules.
Amazon EBS (Elastic Block Store)
Attach EBS volumes to EC2 instances for persistent storage.
Hands-on: Create and attach an EBS volume to your EC2 instance and explore snapshot creation for backups.
Day 2: CI/CD, Automation, and Monitoring Services
1. Continuous Integration/Continuous Delivery (CI/CD)
AWS CodeCommit
Understand AWS's version control service based on Git.
Hands-on: Create a repository in CodeCommit, push code, and collaborate.
AWS CodeBuild
Learn how to build, test, and package applications in a fully managed build environment.
Hands-on: Set up a build project in CodeBuild and run a build process from CodeCommit.
AWS CodePipeline
Automate the continuous delivery of code changes.
Hands-on: Create a CI/CD pipeline with CodeCommit (source), CodeBuild (build), and CodeDeploy (deploy).
2. Configuration Management and Infrastructure as Code
AWS CloudFormation
Learn about infrastructure as code (IaC) and how to use CloudFormation templates to define and deploy infrastructure.
Hands-on: Write a simple CloudFormation template to provision EC2, S3, and other resources automatically.
AWS Elastic Beanstalk
Explore the platform-as-a-service (PaaS) offering for quick application deployment.
Hands-on: Deploy a sample application using Elastic Beanstalk with automatic scaling.
3. Monitoring and Logging
Amazon CloudWatch
Learn about monitoring AWS resources, collecting and analyzing logs, and setting alarms for performance thresholds.
Hands-on: Set up CloudWatch alarms for EC2 and Lambda, and explore logs for your applications.
AWS CloudTrail
Track user activity and API usage within your AWS account for auditing and compliance.
Hands-on: Enable CloudTrail and review the logs for API actions in your account.
Day 3: Containerization, Security, and DevOps Tools Integration
1. Containers and Orchestration
Amazon ECR (Elastic Container Registry)
Learn about managing and storing Docker container images.
Hands-on: Push a Docker image to ECR and manage your image repository.
Amazon ECS (Elastic Container Service)
Understand how to deploy containerized applications in a fully managed environment.
Hands-on: Set up a simple ECS cluster with an EC2 launch type and deploy containers using the ECS task definition.
Amazon EKS (Elastic Kubernetes Service)
Explore Kubernetes orchestration in AWS using EKS.
Hands-on: Create an EKS cluster, deploy a sample application, and manage Kubernetes pods.
2. Security and Identity
AWS Identity and Access Management (IAM)
Learn about user, group, and role management and best practices.
Hands-on: Create IAM users with custom permissions and roles for different services, apply least-privilege access policies.
AWS Secrets Manager
Store and rotate sensitive information like API keys, database passwords, and more.
Hands-on: Store a secret and retrieve it from a Lambda function.
3. DevOps Tools and Automation
AWS Systems Manager
Centralized management for your EC2 and on-premise systems with automation, patching, and configuration.
Hands-on: Use Systems Manager to automate routine maintenance tasks and patch your EC2 instances.
AWS OpsWorks
Automate operations using Chef and Puppet in a managed environment.
Hands-on: Set up OpsWorks with Chef and deploy a simple stack to EC2 instances.
AWS CodeDeploy
Automate the deployment of applications to EC2, Lambda, or on-premises environments.
Hands-on: Set up a deployment using CodeDeploy to EC2 instances, integrating with CodePipeline.