0% found this document useful (0 votes)
13 views17 pages

DevOps Plan

The document outlines a comprehensive training program spanning eight weeks, focusing on automation, cloud services, source code management, and Kubernetes. Each week consists of specific topics, hands-on practices, and projects to reinforce learning, including sessions on Red Hat Linux, AWS, Git, Docker, and CI/CD with Jenkins. The final weeks emphasize deploying applications on Kubernetes, ensuring participants gain practical experience in modern DevOps practices.

Uploaded by

Sonu Shaukeen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views17 pages

DevOps Plan

The document outlines a comprehensive training program spanning eight weeks, focusing on automation, cloud services, source code management, and Kubernetes. Each week consists of specific topics, hands-on practices, and projects to reinforce learning, including sessions on Red Hat Linux, AWS, Git, Docker, and CI/CD with Jenkins. The final weeks emphasize deploying applications on Kubernetes, ensuring participants gain practical experience in modern DevOps practices.

Uploaded by

Sonu Shaukeen
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Each day should include around 2-3 hours for topic review and exercises, with 1-2 hours

for practical tasks or hands-on practice.

Week 1: Automation Using Shell Scripting & RedHat Linux Administration

Session 1: Getting Started With Red Hat Linux (Days 1-4)

Day 1: Introduction to Red Hat Linux & File System Management

• Introduction to Red Hat Linux: Overview, uses in DevOps, setup options.

• File System Management: Learn about Linux file systems, directory structures,
and commands like ls, cd, pwd, mkdir, rm.

Day 2: User and Group Administration & Package Management with Yum

• User and Group Administration: Adding/removing users, assigning permissions.

• Package Management with Yum: Install, update, and manage packages using
Yum, enabling/disabling repositories.

Day 3: System Services, Networking Configuration, & Networking Concepts

• System Services: Understanding systemd and managing system services.

• Networking Configuration: Basics of IP configuration, managing network


interfaces.

• Networking Concepts: SNAT, DNAT, IP, and Netmask—essential for security and
permissions.

Day 4: Security, Permissions, System Performance Monitoring

• Security and Permissions: File permissions, chmod, chown commands.

• System Performance Monitoring: Tools like top, htop, and vmstat to monitor
performance.

• Hands-on: Practice commands for managing permissions and monitoring


system performance.

Day 5: Storage Management & Backup and Restore

• Storage Management: Disk management, using fdisk, df, and mount commands.

• Backup and Restore: Simple techniques for backup (using tar, rsync).

• Hands-on: Backup files and simulate a restore to understand the process.


Session 2: Shell Scripting (Days 6-7)

Day 6: Basics of Shell Scripting

• Introduction to Shell Scripting: Writing and executing basic scripts.

• Variables, conditions, loops in shell scripts (for, while, if statements).

• Hands-on: Write scripts for basic tasks, like printing a message, and creating
files.

Day 7: Real-Time Scenarios in Shell Scripting

• Real-Time Scenarios: Automating tasks such as user creation, file cleanup, and
monitoring.

• Writing scripts that interact with system services (e.g., service status checks).

• Hands-on Project: Write a script to automate a task (e.g., monitoring disk


usage).

Week 2: Cloud Services & AWS Fundamentals

Session 3: AWS Global Infrastructure and EC2 Basics (Days 1-3)

Day 1: Overview of AWS Global Infrastructure & Elastic Compute Cloud (EC2)

• AWS Global Infrastructure: Understanding regions, availability zones, edge


locations.

• Elastic Compute Cloud (EC2): Overview of its purpose, benefits, and basic
setup.

• Hands-on: Sign up for AWS Free Tier if needed, explore the AWS Management
Console.

Day 2: Setting Up Your First EC2 Instance & Instance Configuration

• Step-by-step setup for launching an EC2 instance (key pairs, AMIs, instance
types).

• EC2 Configuration: Explore security groups, instance roles, storage options.

• Hands-on: Launch an EC2 instance, connect using SSH, explore instance


settings.

Day 3: EC2 Options, Connecting to Cloud Instances

• In-depth look at EC2 options: EBS volumes, instance lifecycle, backups,


snapshots.
• Connecting Instances: SSH, using key pairs, security considerations.

• Hands-on: Practice connecting to the instance and testing network


configurations.

Session 4: Advanced AWS Services and Security (Days 4-6)

Day 4: Security Groups, Amazon S3, Auto Scaling and Load Balancing

• Security Groups: Setting up and managing access rules.

• Amazon S3: Overview, creating an S3 bucket, managing files, permissions.

• Auto Scaling and Load Balancing: Basics of setting up for resilience and
scalability.

• Hands-on: Set up an S3 bucket and test uploading/downloading files.

Day 5: CloudFormation, CloudWatch, SNS, and SQS

• CloudFormation: Basics of Infrastructure as Code (IaC) using CloudFormation.

• CloudWatch: Monitoring, creating alarms, using CloudWatch for billing alerts.

• SNS and SQS: Overview, basic setup, sending notifications with SNS.

• Hands-on: Set up a CloudWatch alarm and SNS notification.

Day 6: RDS, IAM, Serverless, and Project-Based Learning with ECS & ECR

• Relational Database Service (RDS): Set up an RDS instance, connect to it.

• IAM: Basics of user permissions, role creation, and security best practices.

• Serverless Architecture: Introduction to Lambda functions.

• Hands-on Project: Launch a simple ECS cluster and create an ECR repository.

Day 7: Practical Review & Practice on AWS

• Practice Tasks: Revisit key AWS services used this week.

• Complete practice tasks to deepen your familiarity with setting up instances,


managing security groups, using S3, and monitoring.

Week 3: Source Code Management & Networking Concepts

Session 5: Mastering Git for Version Control (Days 1-4)

Day 1: Version Control Basics, CVCS vs. DVCS, Importance of Git


• Difference between Centralized Version Control (CVCS) and Distributed Version
Control (DVCS).

• Basics of Git: What it is, its importance, initial setup.

• Hands-on: Install Git, configure Git with your name and email.

Day 2: Git Architecture, Repository, Commit, and Branching

• Three-Stage Architecture: Working directory, staging area, repository.

• Creating repositories, making commits, branching.

• Hands-on: Initialize a repository, create branches, practice committing and


merging.

Day 3: Advanced Git: Stash, Pop, Merge Conflicts

• Git Stash and Pop: Temporarily saving changes, applying stashed changes.

• Resolving Merge Conflicts: Best practices for handling conflicts.

• Hands-on: Create scenarios to test stash/pop and resolve merge conflicts.

Day 4: Revert, Reset, Rebase, Squash, Cherry Pick, Forking

• Revert and Reset: Differences, when to use each.

• Rebase, Squash, and Cherry Pick: Working with Git history.

• Hands-on: Practice using revert, reset, rebase, squash, and cherry-pick


commands.

Session 6: GitHub & Networking Fundamentals (Days 5-7)

Day 5: Git Integration with VSCode, GitHub Authentication

• Setting up Git integration in VSCode.

• Authentication with GitHub via SSH and HTTPS protocols.

• Hands-on: Set up GitHub with VSCode, authenticate using SSH.

Day 6: Networking Basics - IP, OSI Model, LAN/WAN

• Overview of IP address types, OSI model layers, LAN/WAN.

• Practical understanding of how systems communicate.

• Hands-on: Use tools like ping, traceroute, ipconfig/ifconfig.

Day 7: Subnetting, DNS, Routing, Switching


• Introduction to subnetting and DNS basics.

• Switching and routing concepts.

• Hands-on: Practice using networking tools and test routing configurations.

Week 4: Package Management (Docker) Using Real-Time Scenarios &


Understanding SonarQube

Session 7: Docker Fundamentals (Days 1-4)

Day 1: Introduction to Virtualization, Docker vs Virtual Machines

• Basics of virtualization: Traditional VM vs. Docker containers.

• Docker Introduction: History, benefits, and use cases.

• Docker Architecture: Understanding Docker Daemon, Docker Client, Docker


Host.

• Hands-on: Install Docker, familiarize yourself with Docker CLI.

Day 2: Docker Images, Containers, and Dockerfile Basics

• Docker Image Lifecycle: Creation, pulling images from Docker Hub.

• Dockerfile: Writing a basic Dockerfile, understanding layers.

• Docker Container Lifecycle: Start, stop, restart, remove containers.

• Hands-on: Build and run a simple Docker container from a Dockerfile.

Day 3: Docker Networking, Volumes, and Security Basics

• Docker Networking: Bridge, host, and overlay networks, port mapping.

• Docker Volumes: Managing persistent data with volumes.

• Docker Security: Basics of container security.

• Hands-on: Set up container networking, create and manage volumes.

Day 4: Docker Compose & Real-World CD Flow

• Introduction to Docker Compose: Defining multi-container applications.

• Continuous Deployment (CD) Flow: Using Docker with CD tools (Jenkins, GitHub
Actions).

• Hands-on: Create a docker-compose.yml file for a basic multi-service setup.


Session 8: SonarQube, Quality Gates, and Profiles (Days 5-7)

Day 5: Introduction to SonarQube and Code Quality Analysis

• SonarQube Overview: Purpose and benefits for code quality.

• Setting Up SonarQube: Installation and setup on Docker.

• Hands-on: Install and configure SonarQube locally using Docker.

Day 6: Quality Gates, Code Analysis, and SonarQube Profiles

• Quality Gates: Set up quality gates for automated code quality checks.

• SonarQube Profiles: Configure profiles for specific project needs.

• Hands-on: Run code analysis on a sample project and review results in


SonarQube.

Day 7: Review & Practice Day

• Practice tasks: Review Docker commands, SonarQube configurations.

• Hands-on: Complete tasks to reinforce understanding of Docker containers,


SonarQube setup, and code analysis.

Week 5: Minor Project Week

Session 9: Shell Scripting and RedHat Linux Minor Project (Days 1-4)

Day 1: Automate User and Group Administration

• Project task: Write a shell script to manage users and groups.

• Automate adding, deleting, and listing users and groups.

• Hands-on: Test the script and ensure it covers all administration tasks.

Day 2: File System Management via Shell Scripting

• Automate file system management: Create directories, set permissions, manage


disk usage.

• Hands-on: Implement and test the script on directories and files.

Day 3: System Performance Monitoring Script

• Write a script to monitor CPU and memory usage.

• Generate reports on system performance periodically.

• Hands-on: Test script, ensure it logs data and outputs expected results.
Day 4: Project Refinement and Review

• Refine scripts from previous days, add comments and error handling.

• Hands-on: Document setup, usage instructions, and known issues.

Session 10: Integrate Git and Docker with the Project (Days 5-7)

Day 5: Initialize Git Repository, Commit Scripts

• Create a Git repository for the project.

• Commit shell scripts and push to GitHub.

• Hands-on: Practice using Git commands, update README for project.

Day 6: Create Dockerfile & Containerize the Application

• Create a Dockerfile to run the shell scripting application within a container.

• Build and test the Docker container, ensuring it executes the scripts.

• Hands-on: Test running the scripts inside the Docker environment.

Day 7: Final Project Review & Documentation

• Refine documentation, finalize project setup and usage instructions.

• Document any issues and resolutions found during implementation.

• Hands-on: Test the entire project workflow from setup to execution.

Week 6: Continuous Integration and Continuous Delivery

Session 11: CI/CD Workflow with Jenkins (Days 1-3)

Day 1: Introduction to CI/CD and Jenkins Workflow

• CI/CD Overview: Understand the concepts, benefits, and CI/CD lifecycle.

• Introduction to Jenkins: Installing Jenkins, understanding Jenkins Jobs.

• JenkinsFile Basics: Introduction to Jenkins Pipelines and the role of JenkinsFiles.

• Hands-on: Install Jenkins, create a basic job, explore Jenkins UI.

Day 2: Build Triggers and Jenkins Pipeline Configuration

• Build Triggers: SCM Polling, GITScm Polling, Build Periodically options.

• Configuring Jenkins Pipeline: Creating a simple pipeline using JenkinsFile.


• Hands-on: Set up a Jenkins Pipeline job with SCM polling for automated builds.

Day 3: Groovy Scripting and GitHub Integration

• Groovy in Jenkins: Writing Groovy scripts to enhance Jenkins automation.

• GitHub Integration: Setting up webhooks for GitHub-Jenkins integration.

• Hands-on: Create a Jenkins pipeline with Groovy scripts and GitHub triggers.

Session 12: Advanced Jenkins & GitLab Integration (Days 4-7)

Day 4: Jenkins Master-Slave Setup and Pipeline Triggers

• Master-Slave Configuration in Jenkins: Benefits, setup, optimizing resources.

• Pipeline Triggers: Understanding how to trigger pipelines directly from


JenkinsFile.

• Hands-on: Set up a master-slave configuration in Jenkins and test pipeline


triggers.

Day 5: GitLab Branching Strategy and Merge Requests in CI/CD

• GitLab Branching Strategies: Best practices for branching and collaboration.

• Merge Requests: How merge requests fit into the CI/CD process.

• Hands-on: Implement branching strategy on a GitLab repo, set up merge


requests.

Day 6: Jenkins Dynamic Slave Configuration with Docker

• Using Docker as Jenkins Slave: Configure Docker containers as dynamic Jenkins


slaves.

• Configuring Jenkins Plugins: Docker, Git, Maven, and other essential plugins.

• Hands-on: Set up a Jenkins job to use a Docker container as a dynamic slave.

Day 7: Kubernetes and Jenkins Integration

• Integrate Kubernetes with Jenkins for scalable CI/CD workflows.

• Create a basic Kubernetes-based pipeline in Jenkins.

• Hands-on: Set up Jenkins to deploy to Kubernetes, test integration with a small


app.
Week 7: Deep Dive into Kubernetes

Session 13: Introduction to Kubernetes (Days 1-3)

Day 1: Kubernetes Basics and Architecture

• Introduction to Kubernetes: Purpose, benefits, and use cases.

• Kubernetes Architecture: Nodes, pods, and the control plane.

• Hands-on: Install kubectl and minikube on your local environment, explore


commands.

Day 2: Node Components, Manifest File Components, and Control Plane

• Node Components: Understanding kubelet, kube-proxy, and container runtime.

• Manifest Files: Structure of YAML configurations, creating basic resources.

• Control Plane: Role of Master Node, API server, etcd, scheduler, controller
manager.

• Hands-on: Deploy a simple pod using a YAML manifest file.

Day 3: Exploring Kubernetes Objects and Service Components

• Kubernetes Objects: Pods, Services, Deployments, ReplicaSets.

• Service Components: Understanding NodePort, ClusterIP, and LoadBalancer.

• Hands-on: Deploy a Kubernetes service, test connectivity between pods.

Session 14: Kubernetes Basics (Days 4-7)

Day 4: Labels, Selectors, and Namespaces

• Labels and Selectors: Tagging resources, filtering based on labels.

• Namespaces: Organizing and isolating resources within the cluster.

• Hands-on: Set up and manage labels, selectors, and namespaces in a test


environment.

Day 5: Managing Multi-Container Pods

• Multi-Container Pods: Use cases, Sidecar and Ambassador patterns.

• Pod Design Patterns: Explore different patterns for deploying services.

• Hands-on: Deploy a pod with multiple containers using the Sidecar pattern.

Day 6: Managing Kubernetes YAML Configurations


• YAML Best Practices: Writing clean, maintainable configurations.

• Kubernetes Commands: Key commands for managing resources.

• Hands-on: Practice creating, updating, and deleting Kubernetes resources via


YAML files.

Day 7: Review and Practice Day

• Practice tasks: Review Kubernetes commands, concepts, and YAML


configurations.

• Hands-on: Complete a series of tasks to deepen understanding, such as


creating and deleting resources, using namespaces, and setting up services.

Week 8: Working with Applications in Kubernetes

Session 15: Deploying Applications on Kubernetes (Days 1-4)

Day 1: Setting Up Kubernetes on AWS

• Install Kubernetes on AWS: Set up an EC2 instance as a Kubernetes node.

• Configure kubectl to access the AWS-based Kubernetes cluster.

• Hands-on: Deploy a small application on the AWS-based Kubernetes cluster.

Day 2: Microservices Deployment in Kubernetes

• Deploying Microservices: Structure, advantages, deploying each service as a


separate pod.

• Hands-on: Deploy a sample microservices application on the Kubernetes


cluster.

Day 3: ConfigMaps and Secrets in Kubernetes

• ConfigMaps: Managing configuration outside of application code.

• Secrets: Securely storing sensitive data such as passwords and API keys.

• Hands-on: Create and mount ConfigMaps and Secrets in a Kubernetes


application.

Day 4: Persistent Volumes and Liveness Probes

• Persistent Volumes: Create and manage storage that persists beyond container
lifecycle.
• Liveness Probes: Configuring checks to monitor container health.

• Hands-on: Add persistent storage to a pod, set up a liveness probe for health
monitoring.

Session 16: Advanced Kubernetes Topics (Days 5-7)

Day 5: Helm and Istio Service Mesh

• Helm: Package management for Kubernetes, creating and deploying Helm


charts.

• Istio: Understanding service mesh and its role in Kubernetes networking.

• Hands-on: Install a Helm chart for an application; set up Istio for traffic
management.

Day 6: Role-Based Access Control (RBAC) and Service Accounts

• RBAC: Managing permissions within Kubernetes using roles and bindings.

• Service Accounts: Assigning specific roles to services for security control.

• Hands-on: Create custom roles, set up a Service Account with limited


permissions.

Day 7: Higher-Level Kubernetes Concepts and Patterns

• Horizontal Pod Autoscaler (HPA): Scaling pods based on CPU and memory
usage.

• Ingress and Taints/Tolerations: Manage external access, node restrictions.

• Hands-on: Implement HPA, configure Ingress for application traffic, set up


taints.

Week 9: Ansible for Configuration Management

Session 17: Getting Started with Ansible (Days 1-3)

Day 1: Ansible Introduction and Architecture

• Understanding Configuration Management and Ansible's role in DevOps.

• Ansible Architecture: Modules, inventory, playbooks, and roles.

• Hands-on: Install Ansible, create a basic inventory file and run a sample
playbook.
Day 2: Ansible Roles, Collections, and Ad-hoc Commands

• Roles and Collections: Organizing playbooks, modules, and files.

• Ad-hoc Commands: Executing tasks quickly using Ansible CLI.

• Hands-on: Create and run a playbook using roles and collections.

Day 3: Setting Up Ansible Playbooks

• Playbook Basics: YAML structure, tasks, handlers, variables.

• Ansible Variables: Defining and using variables within playbooks.

• Hands-on: Write a basic playbook using variables, tasks, and handlers.

Session 18: Advanced Automation with Ansible Playbooks (Days 4-7)

Day 4: File Copying and Handlers in Playbooks

• Copying Files: Use playbooks to copy files to target servers.

• Handlers: Triggering tasks conditionally after certain actions.

• Hands-on: Create a playbook to copy files and use handlers effectively.

Day 5: Downloading Artifacts and Unzipping Files

• Automate Artifact Downloads: Use Ansible to download and manage files.

• Unzipping Files: Extract downloaded archives to target locations.

• Hands-on: Write a playbook to download, extract, and configure artifacts.

Day 6: Targeted Deployment and Ansible Tags

• Using Tags: Running specific parts of a playbook using tags.

• Targeted Deployment: Limiting tasks to specific hosts or groups.

• Hands-on: Create a playbook with tagged tasks, run tasks selectively.

Day 7: Automating Multi-Node Kubernetes Setup with Ansible

• Multi-Node Kubernetes: Configure multiple nodes using Ansible automation.

• Manage Variables and Facts: Gathering and using facts for dynamic deployment.

• Hands-on: Write a playbook to automate the setup of a multi-node Kubernetes


cluster.
Week 10: Infrastructure as Code using Terraform

Session 19: Introduction to Terraform and Infrastructure as Code (Days 1-3)

Day 1: Introduction to Infrastructure as Code (IaC) and Terraform Basics

• Understanding Infrastructure as Code: Benefits and principles of IaC.

• Terraform Basics: What is Terraform, how it works, providers, resources, and


attributes.

• Hands-on: Install Terraform, configure your first Terraform provider, and create
simple resources.

Day 2: Terraform State Management

• State Files: What they are, why they matter, and how Terraform manages state.

• Backend Configuration: Storing state remotely, using cloud providers like S3.

• Hands-on: Initialize a Terraform project with remote state using AWS S3 as the
backend.

Day 3: Terraform Variables and Resource Configuration

• Terraform Variables: Define input variables, use in resource creation.

• Resources and Dependencies: How to manage dependencies and relationships


between resources.

• Hands-on: Create variables for a resource setup, use them in an example


configuration (e.g., EC2).

Session 20: Advanced Terraform Techniques and Project Development (Days 4-7)

Day 4: Advanced Terraform Concepts (for-each, modules, etc.)

• For-each and Looping: Looping over resources dynamically with for_each.

• Modules: Organizing and reusing code with modules.

• Hands-on: Create a module for provisioning an AWS EC2 instance and use
for_each to deploy multiple instances.

Day 5: Security with Terraform on AWS

• Managing AWS Security: IAM roles, policies, and securing resources.

• Using Terraform to set up AWS security groups and IAM roles.


• Hands-on: Write a Terraform configuration for securing AWS EC2 with security
groups and IAM roles.

Day 6: CIDR Setup and Subnet Configuration with Terraform

• Understanding CIDR and IP Addressing in AWS.

• Creating and managing subnets and routing tables with Terraform.

• Hands-on: Set up a VPC with multiple subnets, configure route tables, and
associate them.

Day 7: Terraform State Locking and Project Wrap-Up

• State Locking: Preventing concurrent state file changes during deployment.

• Wrapping Up: Review of all concepts, finalize a sample infrastructure project.

• Hands-on: Complete a project with VPC, EC2, and IAM using Terraform,
implement state locking, and finalize deployment.

Week 11: Monitoring and Logging

Session 21: Setting Up Grafana for Monitoring (Days 1-3)

Day 1: Introduction to Grafana and Installation

• Introduction to Grafana: Features and benefits for monitoring.

• Installing Grafana: Setup on local or cloud servers.

• Hands-on: Install Grafana on a server or VM, start Grafana server.

Day 2: Database Installation and Grafana Setup

• Database Integration: Install MySQL or any relational database for data sources.

• Configure Grafana with MySQL as a data source.

• Hands-on: Set up MySQL, connect Grafana to MySQL, create a dashboard


displaying database metrics.

Day 3: Creating Dashboards and Visualizations

• Grafana Dashboards: Creating and configuring dashboards.

• Visualizations: Understanding different types of charts and visualizations.

• Hands-on: Create a custom Grafana dashboard to visualize server metrics


(CPU, memory usage).
Session 22: Integrating Prometheus for Comprehensive Monitoring (Days 4-7)

Day 4: Introduction to Prometheus and Installation

• Overview of Prometheus: Metrics collection, scraping, and monitoring.

• Installing Prometheus: Set up Prometheus server for monitoring.

• Hands-on: Install Prometheus on a server, configure it to scrape metrics from an


application or system.

Day 5: Setting Up Prometheus on Kubernetes Cluster

• Prometheus on Kubernetes: Install Prometheus on a Kubernetes cluster using


Helm.

• Configure Prometheus to scrape Kubernetes metrics.

• Hands-on: Set up Prometheus on Kubernetes, configure it to monitor cluster


performance.

Day 6: Integrating Prometheus with Grafana

• Grafana and Prometheus Integration: Use Prometheus as a data source in


Grafana.

• Building Grafana Dashboards from Prometheus Metrics.

• Hands-on: Create dashboards in Grafana to visualize Prometheus metrics, such


as pod CPU usage.

Day 7: Setting Alerts and Using Grafana Plugins

• Alerts in Grafana: Setting up alert rules based on metric thresholds.

• Grafana Plugins: Extend Grafana's capabilities with plugins.

• Hands-on: Configure Grafana to send alerts when certain thresholds are


exceeded, explore Grafana plugins.

Week 12: Major Projects

Session 23: Mentor Guided Project: Amazon ECS Deployment (Days 1-3)

Day 1: Project Overview and ECS Introduction

• Overview: Understanding the project scope and requirements for deploying


Amazon ECS.
• ECS Basics: Learn about Amazon Elastic Container Service (ECS) and its role in
container orchestration.

• Hands-on: Set up a basic ECS cluster on AWS, configure the required IAM roles
for ECS tasks and services.

Day 2: ECS Deployment and CloudWatch Integration

• Deploy Containers to ECS: Launch a Docker container on ECS.

• CloudWatch Setup: Set up CloudWatch for monitoring ECS tasks and services.

• Hands-on: Deploy a microservices application on ECS, configure CloudWatch


for task-level monitoring.

Day 3: Load Balancer and Scaling Setup

• Load Balancer: Learn how to set up an Application Load Balancer (ALB) with
ECS to distribute traffic across containers.

• Auto Scaling: Configure auto-scaling for ECS tasks based on CPU and memory
utilization.

• Hands-on: Set up an ALB, configure auto-scaling policies, and verify the auto-
scaling functionality by generating load.

Session 24: Mentor Guided Project: Amazon EKS and Nginx Ingress Controller (Days
4-6)

Day 4: Introduction to Amazon EKS and Nginx Ingress Controller

• Amazon EKS Overview: Understanding the features of Amazon Elastic


Kubernetes Service (EKS) and its integration with AWS services.

• Nginx Ingress Controller: Learn about Kubernetes ingress controllers and their
role in managing external traffic.

• Hands-on: Set up an EKS cluster and install Nginx Ingress Controller.

Day 5: EKS Deployment and Ingress Controller Configuration

• Deploying on EKS: Deploy a sample microservices application to EKS.

• Ingress Configuration: Set up Nginx Ingress Controller to route external traffic to


internal services.

• Hands-on: Configure Nginx Ingress for routing traffic to the deployed services,
verify external access.
Day 6: SSL/TLS Management with Cert-Manager

• Cert-Manager Overview: Learn how to use Cert-Manager to automate SSL


certificate provisioning in Kubernetes.

• Hands-on: Install and configure Cert-Manager to generate SSL certificates for


the deployed services in EKS.

Session 25: Self-Guided Projects (Days 7-8)

Day 7: GitHub Action - Self-hosted Runner and Docker Integration

• GitHub Actions: Set up and configure GitHub Actions for CI/CD pipelines.

• Self-hosted Runner Setup: Learn how to add a node as a self-hosted runner


and run Docker images.

• Hands-on: Create a GitHub Action workflow to build a Docker image, expose it


on a specific port using Nginx.

Day 8: System Monitoring Script with Shell Scripting

• System Monitoring: Learn how to monitor system resources (CPU, memory, disk
usage) using shell scripting.

• Automation: Automate the process of system resource monitoring and send


periodic alerts.

• Hands-on: Write a shell script to monitor system resources, log data, and create
alerts for threshold breaches.

Final Day: Project Wrap-Up and Review

• Complete Projects: Ensure all tasks for the ECS, EKS, and self-guided projects
are completed and tested.

• Review & Documentation: Review the code and infrastructure, and document
all steps taken.

• Demo and Feedback: Present the completed projects to the mentor or team for
feedback and improvements.

You might also like