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.