Course Curriculum DevOps Introduction Software Development Life Cycle (SDLC) Waterfall Model Agile Methodology Scrum Model Sprints DevOps Principles and Practices Where DevOps fits in Software Development Process DevOps Tools and their functionality Version Controlling: Git and GitHub Version Controlling, Centralized vs Distributed Installation and Configuration Initializing Git functionality on local servers Git SCM, Git Branching Git Merging, Git Tagging Git Rebase, Stashing Squash, Rearranging Commit history Branching Strategies Git Administration SSH Key generation, Cloning Repositories Git Pull, Push and Fetch P4Merge tool. Git Diff Git Security Linux and Shell Scripting Introduction of Linux Operating SystemFile Systems and Linux Kernel ConceptsBasics of LinuxCreating an EC2 instance in AWSCreating a Linux Server in Virtual MachineLinux Basic CommandsLinux Advanced Commands and AdministrationShell ScriptingTypes of Shells, Naming Conventions, PermissionsVariables, CLA, Escape Characters, Strings, OperatorsRedirection Concepts, Loops, Functions, PipeCRON Jobs, Auto Scheduling Maven Maven Installation Features and Requirements of Maven Maven pom builds Executing Some examples Maven Build Lifecycle Maven Plugins SonarQube Intro to SonarQube Architecture and Installation of SonarQube Execute the projects in SonarQube and generate reports Administration activities User creation, Project creation configure email settings etc., Apache Tomcat Tomcat Installation on various platforms Difference between webservers and application servers Tomcat Directory Structure Creating users in tomcat and changing the port numbers Starting the server, Stopping, and restarting tomcat services Different Roles in Tomcat Deploying artifacts into tomcat with GUI and Command line Nexus Installing Nexus Nexus Directory Structure Creating repositories and hosting them Integrate maven with nexus Create users in Nexus Administration activities Jenkins (CI CD) The Five stages of CICD in detail a. Continuous Download b. Continuous Build c. Continuous Deployment d. Continuous Testing e. Continuous Delivery Install Jenkins and configure Jenkins with plugins Perform Build, configure multiple projects in Jenkins Freestyle projects, pipeline, multibranch pipeline projects Jenkins Administration Creating users, assigning Permissions Jenkins Master Slave Architectures Scheduling Jobs in Jenkins, Poll SCM, Build Triggers Configuring Email Notifications Cat Light Notification System Installing Plugins and maintaining Jenkins Server Build Pipeline Plugin Concepts Docker Virtualization and Containerization – Differences Docker Introduction – Architecture Docker Installation and Administration Creating Docker Containers (OS, Applications, Databases) Multi Container Architecture in Docker Docker Volumes DockerBuilds Dockerfile concepts Docker Networks Creating customized Registry in Docker Pushing images to Remote Repositories (Public and Private) Docker Swarm (Container Orchestration) Overlay Network Docker Stack Ansible Configuration Management Intro – Tools, Push and Pull Models Ansible Architecture Ansible Cluster formation, Inventory Ansible Ad-hoc Commands and Modules Ansible Inventory Grouping Ansible Playbooks Ansible Variables (Host Scope and Play Scope) Loops Concepts in Ansible Debug Module in Ansible Ansible Handlers Concepts Ansible Error Handling Concepts Ansible Tagging, Ansible Vault Ansible Docker Automation Ansible Galaxy and Ansible Roles Kubernetes Kubernetes Introduction, Architecture Different approaches of Setting up Kubernetes Cluster Kubernetes Namespaces Kubernetes Objects Pods ReplicaSets Replication Controllers DaemonSet Deployments Rolling Updates Services Persistent Volumes Dynamic Volumes HPA (Horizontal Pod Autoscaler) Kubernetes cluster setup in AWS using KOPS Kubernetes Cluster setup using Terraform Monitor Kubernetes using Prometheus and Grafana Integrate Jenkins using Kubernetes Helm Charts AWS Introduction to Cloud Computing Cloud Computing Deployment Models Cloud Service Models Amazon Elastic Compute Cloud (EC2) Amazon Simple Storage Service (S3) Elastic Load Balancing (ELB) Identity and Access Management (IAM) Virtual Private Cloud (VPC) Route 53 Load Balancers AWS CloudWatch Virtual Private Network (VPN) Simple Email Service (SES) Simple Queue Service (SQS) Simple Notification Service (SNS) CloudFormation Databases Terraform Infrastructure as Code Why Terraform Variables in Terraform Local and Dynamic Blocks in Terraform Commands in Terraform Remote States in Terraform Connecting Local Machine to Terraform Cloud Modules in Terraform Creating VPC on AWS Creating NAT and internet gateway Creating public and private subnets Creating EC2 instances Configuring S3 Buckets Terraform Plugins Implementing Kubernetes on Terraform Miscellaneous Concepts Nagios and Prometheus, Grafana Python Docker Automation Concepts JIRA – issue tracking tool Google Cloud – Google Kubernetes Engine Webservers and configurations Resume Preparation and Creating a DevOps Portfolio Interview Tips and Tricks Explaining projects in interviews based on experience Applying for multiple jobs that fits in to DevOps Category Agile and Scrum Methodologies Entire Project workflow in DevOps