DevOps
DevOps Training Certification Course in Surat
What is DevOps?
DevOps is a collaboration between development and operation teams, which enables continuous delivery of applications and services to our end users.
Benefits of DevOps
Continuous delivery of software
Better collaboration between teams
Easy deployment
Better efficiency and scalability
Errors are fixed at the initial stage
More security
Less manual intervention (which means fewer chances of error)
DevOps Lifecycle
Now that you know why DevOps and what is it exactly, we will learn all about the DevOps Lifecycle which will give you a clarit on why devops, that is divided into six different phases which will give a clear idea on why Devops:
Source Code Management – In this phase, the business owners and software development team discuss project goals and create a plan. Programmers then design and code the application, using tools like Git to store the application code.
Continuous Build and Test – This phase deals with building tools, like Maven and Gradle, then taking code from different repositories and combining them to build the complete application. The application is then tested using automation testing tools, like Selenium and JUnit, to ensure software quality.
Continuous Integration – When the testing is complete, new features are integrated automatically to the existing codebase.
Continuous Deployment – Here, the application is packaged after being released and deployed from the development server to the production server. Once the software is deployed, operations teams perform tasks, such as configuring servers and provisioning them with the required resources.
Continuous Monitoring – Monitoring allows IT organizations to identify issues of specific releases and understand the impact on end-users.
Software Released – After all the phases are completed and the software meets the user’s requirement, it is released into the market.
According to IDC, 40% of DevOps teams will invest in tooling and focus on business KPIs by 2023. The number of organizations releasing codes for specific applications will increase to 30% by 2023 from the current 3% (as of 2019).
1: Devops Lab Setup tools for Linux and windows Environment
o Git Bash installation and Git hub account setup
o Tomcat installation and Configuration
o Jfrog Artifactory installation and Configuration
o Maven Installation and Configuration
o Jenkins installation and Configuration
o Ansible Installation and Configuration
o Sonarqube installation and Configuration
o Docker Installation and configuration
o Java installation and Configuration
o Environmental variable setup for both windows and Linux
2: Introduction to Devops and Dev sec ops
o Introduction to DevOps
o What is DevOps?
o SDLC models, Lean, ITIL, Agile
o Why DevOps?
o History of DevOps
o DevOps Stakeholders
o DevOps Goals
o Important terminology
o DevOps perspectiveo DevOps and Agile
o DevOps Tools
o Configuration management
o Continuous Integration and Deployment
3: Introduction to SDLC, Software testing, Agile : Software testing lifecycle
o Working with Block box testing
o Working with White box testing
o Working Grey box testing
o Working with Function testing
o Working with Regressing testing, smoke testing, System testing, Integration testing etc.
4: Agile Methodologies:
o Process flow of Scrum Methodologies
o Project planning, scrum testing, sprint Planning and Release management
o Analysis
o Design, Execution and wrapping closure
5: LINUX Administration
o Introduction to Linux Families (ex: Redhat & Debian Family)
o working with APT and YUM and Dnf
o Working with AWK and SED commands
6: Installation and Initialization:
o Installation, Package Selection
o Anatomy of a Kick start File, Command line
o Introduction to Bash Shell
o System Initialization, Starting the Boot Process: GRUB
7: Boot and Package Management:
o Securing single-user mode (su login)
o Shutting down and rebooting the system
o RPM Package Manager, Installing and Removing Software, Updating a Kernel RPM
o Yum Command set, Install packages by using yum.
o Apt-get command set, Apt-cache package management
8: User Administration:
o Understanding different types of groups and creation of groups
o Creation of users in different groups
o Understanding Passwd, Shadow Files
o Understanding passwd aging
o Creation of quotas for users, groups and file systems
o Understanding users security files
o The different commands for Monitoring the users
o TROUBLESHOOTING
o Automation of jobs – Cron , at
o Working with commands tar, find, grep, etc.
9: Run levels:
o Understanding the different types of run-levels
o Understanding different types of shutdown commands
o Understanding run control scripts
o Understanding the different typesVersion Control/ SCM(Git)
Introduction to Git
o Overview of SVN, GIT , Clear case , perforce & Comparision
o Introduction of Git
o Selecting Git Client
o Creating Repository
o Working with Tag
o Creating and Merging Branches
o Executing Git Commands
o Git Logs , Git stash, Git rebase
o Merge conflict issues resolving
o Git pull, clone, fetch
Ansible Modules
1: Introduction to Ansible
o What is Ansible
o Change Management
o Provisioning with Ansible
o Benefits of using Ansible
2: Ansible Building blocks and Process flow
o Introduction to Ansible Anatomy
o Ansible Requirements Specification
o Overview of Ansible Components
o Overview of Ansible Strategy
3: Ansible Playbook Modules and directory structure
o Introduction to Ansible Playbook
o Introduction to Ansible Modules
o Lab (Docs, setup, service, yum …etc)
4: Variable, Facts and jinja2 templates
o Working with Ansible Variable
o Working with Facts
o Working with Jinja2 Template5: Play and Playbooks
o Overview of Ansible Playbooks
o Playbook Language Example
o Working on Ansible Handlers
o Executing a Playbook.
Docker Modules
1: Getting Started with Docker
o Introduction to Docker.
o What’s under the hood – Namespaces, Cgroups and OverlayFS
o Understanding Virtualization
o Virtualization vs Container
2: Docker Installation
o Creating a Virtual Docker Host(CentOS) by using Vagrant
o Installing Docker on CentOS
o Introduction to Docker namespaces
3: Docker Images
o Introduction to Docker Images
o Building a Docker Image with a Dockerfile
o Sharing Data in Your Docker Host with Containers
o Sharing Data Between Containers
o Copying Data to and from Containers
o Creatoing Docker Hub Account.
o Building Images using DockerFile.
o Pull and Push Images From/To Docker Hub.
4: Docker Networking
o Introduction to Docker Networking
o Finding the IP Address of a Container
o Setting Up a Custom Bridge Network for Docker
5: Container Operations
o Port Mapping for Docker
o Creating, Starting, Stopping, Renaming, Removing Containers
o Inspacting Containers
o Limiting Rrsoruces Memory and CPU
o Prioritizing CPU Utilization
6: Docker Compose
o Introduction to Docker compose
o Creating Docker compose file
o Executing Docker Compose file
Jenkins Modules
1: Introduction to Continuous Integration and Jenkins-CI/CD
o What is Continuous Integration
o Jenkins Continuous Integration
o What is Continuous Deployment
o Jenkins Vs Jenkins Enterprise
2: Jenkins Installation
o Downloading and Installing Jenkins using TomCat
o Creating Jenkins as a Service.
o Starting and Stopping Jenkins
3: Configure Jenkins and User Management.
o Secure Jenkins
o Create a new user
o Generate ssh key for Jenkins user
o Plug-in management
4: Jenkins jobs setup
o Setting up a Jenkins job (Freestyle, Pipeline, maven, MSBuild, Pybuild)
o Jenkins parametrized jobs setup (choice params,boolean params etc)
o Email notification jobs
o Parallel jobs configuration
o nodes (slaves) configuration
5: Jenkins Integration
o Git integration with Jenkins
o Maven Integration with jenkins
o ansible , artifactory integration
o Docker and scanning tool integration
o AWS and code review tool
6: Jenkins User administration
o Role based administration
o Project based administration
o Metric based administration
o Slaves configuration
o Users and groups creation
Maven Modules
1: Build Tolls overview
o What is maven and Msbuild, Pybuild,gradle and ant
o Maven Evolution
o Maven Objective and Environment setup
o Maven project creation
o What is POM.xml and super POM
o Maven build life cycle creation and Default Build lifecycle
2: Customized Project and plugin setup
o Maven Project setup
o Maven plugin download and setup
o Maven Build automation with CI service
3: Maven Repositories and GAV snapshots.
o What is GAV and project and Snapshots ,version
o Maven Web application creation with pom.xml
o What is Maven repository
o Local repo
o Central repo and Remote repo
o Maven Dependencies and plugin
Complete guide to Kubernetes
1: Introduction to Kubernetes
o The need for a Container Orchestration Engine
o Battles of COEs, which one to choose
o Key Features of a COE.
o What makes Kubernetes the defacto COE choice.
o Negatives of using Kubernetes
2: Key Concepts of Kubernetes
o Namespaces
o Pods
o Replica Sets and Deployments
o Service Discovery and Load Balancing
o Configmaps, Storage, Network, RBAC
o Statefulsets, Crons and Jobs
o Kubernetes Architecture
3: Setting up Environment
o Provisioning and configuring on AWS
o Initialise Cluster with Kubeadm
o Setting up Weave CNI
o Launching Kubernetes Dashboard
o Setting up a kubernetes Visualizer
o Resetting cluster created with kubeadm
4: Building blocks of Pods
o Introduction to pod
o Writing pod Specification
o Launching and Operating Pods (Login to the pod, browsing the web UI of the pod)
o Attaching a volume to a Pod
o Launching Multi-Container Pods
o Connecting to Individual Containers
o Launching Replica Set and Fault Tolerance
o Solution part – Deploying a worker app
5: Managing Application Configurations with ConfigMaps and Secrets
o Introduction to ConfigMaps and Secrets
o Creating Config Map for Vote app
o Setting up Environment Specific Configs
o Adding Configs from Files
o Creating Secrets to Encrypt Database
o Setting Environment vars using Secrets
6: Setting up Firewall with Network Policies
o Creating default network policy for namespace
o Exposing public facing app and allowing inter namespace communication.
Promethues and Grafana
o Installation and configuration
o Adding metric and pod level and node level
o Installing grafana pkugin in Prometheus
Terraform
o Installation and integration in AWS
o Understanding basic terra form modules providers
o Writing terraform code to provision compute network storage in AWS