Course Curriculum
Enviroinment Set Up
• Create an account in AWS
• Understanding Regions and Availability Zones in AWS
• Installing required software’s in Desktop
• Setting up access to AWS cloud using SSH Keys
• Create servers in EC2 Service
• Understand Linux Command Line
• Getting Server Information using Linux Commands
• File and Directory management
• Using VI/VIM Editor
• Linux cli utilities for downloading software
• Linux Administration Topic
• User Management
• Package Management
• Service Management
• Disk Management
• Network Management
• File Permissions
Version Controlling (GIT)
• Installation of Git
• Installing Git on a Red Hat Based Distribution
• Installing Git on a Debian Based Distribution
• The Basics of Using Git
• Understanding the Git File System
• Creating a Local Repository (Empty)
• Basic Configuration of Git
• Adding Files to a Project
• Committing to Git
• Ignoring Certain File Types
• Using Tags
• Using Branches
• Merging Branches
• Rebasing
• Reverting a Commit
• Using the ‘diff’ Command
• How Garbage Collection Works
• Logging and Auditing
• Git’s Logs and Auditing
• Using Git’s Logs
• Cloning Repositories
• Cloning Local Repositories
• Cloning Remote Repositories over HTTPS
Forking
• Pull Requests
• Tracking Remote Repositories
• Pushing to Remote Repositories
• GitLab – Installation, Configuration and Use
• Setting Up and Using a GitLab Server
• What is GitLab?
• Download, Install and Configure for Local Use
• Adding Users and Groups to GitLab
• Creating and Managing Projects
• Push Changes and Merge with GitLab
Jenkins CI/CD
• CI/CD
• What Is a Job?
• What Is a Build?
• Source Code Management (SCM )
• Testing and Notifications
• Distributed Builds
• Plugins
• Security
• Artifacts and Fingerprints
• Installing Jenkins
• Using Jenkins
• Features and Functionality
• Jobs
• Builds
• Source Code Management ( SCM )
• Notifications and Alerts
• Distributed Builds
• Plugins
• Security
• Artifacts
• Pipelines
• Building CD Pipelines
• Pipeline Concepts
• Upstream, Downstream and Triggers
Docker and Kubernetes
• Introduction to Docker Community Edition
• Installing Docker on CentOS
• Installing Docker on Ubuntu
• Selecting a Storage Driver
• Running a Container
• Introduction to Docker Images
• The Components of a Dockerfile
• Managing Images
• Flattening a Docker Image to a Single Layer
• Introduction to Docker Registries
• Using Docker Registries
• Storage and Volumes
• Docker Networking
• Built-In Network Drivers
• Creating a Docker Bridge Network
• Deploying a Service on a Docker Overlay Network
• Exposing Containers Externally
• Introduction to Docker Swarm
• Configuring a Swarm Manager
• Configuring Swarm Nodes
Kubernetes
• Building a Cluster
• Cluster Architecture
• Setting up Playground Servers
• Installing Docker
• Installing Kubeadm, Kubelet, and Kubectl
• Bootstrapping the Cluster
• Configuring Networking with Flannel
• Containers and Pods
• Clustering and Nodes • Networking in Kubernetes
• Kubernetes Architecture and Components
• Kubernetes Deployments
• Kubernetes Services
Ansible
• Install Ansible
• Configuring SSH and Sudo for Ansible
• Ansible Configuration
• The Ansible Configuration File
• Setting Up the Ansible Inventory
• Ansible Ad Hoc Commands
• Understanding Ansible Ad Hoc
• The Ansible Command
• Understanding Ansible Modules
• The Shell and Command Modules
• Collecting System Information
• File Manipulation with Ansible
• Working with the File and Copy Modules
• Configuring System Users and Groups
• Creating System Users with the User Module
• Working with the Group Module
• Installing Software and Daemon Managment
• Installing Software
• Controlling Daemons with the Service Module
• Advanced Features
• Managing Long-running Commands
• Parallelism in Ansible
DevOps Monitoring
• Creating an Environment
• Deploying the Demo Application
• Prometheus Setup
• Alertmanager Setup
• Grafana Setup
• Monitoring Basics
• Push or Pull
• Patterns and Anti-Patterns
• Service Discovery
• Infrastructure Monitoring
Using the Node Exporter
• CPU Metrics
• Memory Metrics
• Disk Metrics
• File System Metrics
• Networking Metrics
• Load Metrics
• Using cAdvisor to Monitor Containers
• Application Monitoring
• Using a Client Library
• Counters
• Gauges
• Summaries and Histograms
• Redeploying the Application
• Expanding the Monitoring Stack
• Managing Alerts
• Recording Rules
• Alerting Rules
• Annotations
• Labels
• Preparing Our Receiver
• Using Alertmanager
• Visualization
• Adding a Dashboard
• Building a Panel
Terraform
• Introduction to IaC
• Introduction to Terraform
• Terraform Installation
• Configuring terraform with AWS
• Create an EC2 instance with Terraform
• Variables in Terraform
• Output Attributes in Terraform
• State file
• Importance of Remote State file
• Data Sources
• Templates
• Modules in Terraform
• Best Practices of Module creation in Terraform
• Create all the resources with Terraform and launch complete infrastructure with
Terraform
• Services: EC2, ALB, VPC, RDS, IAM , Beanstalk, S3, CloudWatch
• Introduction to Interpolation
• Conditionals
• Built-In Functions
• Best Practices of Terraform
• Include terraform CICD