DevOps
- DevOps Lab Setup tools for Linux and Windows Environment
- Git Bash installation and Git hub account setup
- Tomcat installation and Configuration
- Jfrog Artifactory installation and Configuration
- Maven Installation and Configuration
- Jenkins installation and Configuration
- Ansible Installation and Configuration
- Sonarqube installation and Configuration
- Docker Installation and configuration
- Java installation and Configuration
- Environmental variable setup for both windows and Linux
- Introduction to Devops and Dev sec ops
- Introduction to DevOps
- What is DevOps?
- SDLC models, Lean, ITIL, Agile
- Why DevOps?
- History of DevOps
- DevOps Stakeholders
- DevOps Goals
- Important terminology
- DevOps perspective
- DevOps and Agile
- DevOps Tools
- Configuration management
- Continuous Integration and Deployment
- Introduction to SDLC ,Software testing , Agile : Software testing lifecycle
- Working with Block box testing
- Working with White box testing
- Working Grey box testing
- Working with Function testing
- Working with Regressing testing,smoke testing,System testing, Integration testing etc.
- Agile Methodologies:
- Process flow of Scrum Methodologies
- Project planning, scrum testing, sprint Planning and Release management
- Analysis
- Design,Execution and wrapping closure
- LINUX Administration
- Introduction to Linux Families (ex: Redhat & Debian Family)
- working with APT and YUM and Dnf
- Working with AWK and SED commands
- Installation and Initialization:
- Installation, Package Selection
- Anatomy of a Kick start File, Command line
- Introduction to Bash Shell
- System Initialization, Starting the Boot Process: GRUB.
- Boot and Package Management:
- Securing single-user mode (su login)
- Shutting down and rebooting the system
- RPM Package Manager, Installing and Removing Software, Updating a Kernel RPM
- Yum Command set, Install packages by using yum.
- Apt-get command set, Apt-cache package management
- 8: User Administration:
- Understanding different types of groups and creation of groups
- Creation of users in different groups
- Understanding Passwd, Shadow Files
- Understanding passwd aging
- Creation of quotas for users, groups and file systems
- Understanding users security files
- The different commands for Monitoring the users
- TROUBLESHOOTING
- Automation of jobs – Cron , at
- Working with commands tar,find,grep, etc
- Run levels
- Understanding the different types of run-levels
- Understanding different types of shutdown commands
- Understanding run control scripts
- Understanding the different types
Version Control/ SCM(Git)
- introduction to Git
- Overview of SVN, GIT , Clear case , perforce & Comparision
- Introduction of Git
- Selecting Git Client
- Creating Repository
- Working with Tag
- Creating and Merging Branches
- Executing Git Commands
- Git Logs , Git stash, Git rebase
- Merge conflict issues resolving
- Git pull , clone , fetch
Ansible Modules
- Introduction to Ansible
- What is Ansible
- Change Management
- Provisioning with Ansible
- Benefits of using Ansible
- Ansible Building blocks and Process flow
- Introduction to Ansible Anatomy
- Ansible Requirements Specification
- Overview of Ansible Components
- Overview of Ansible Strategy
- Ansible Playbook Modules and directory structure
- Introduction to Ansible Playbook
- Introduction to Ansible Modules
- Lab (Docs, setup, service, yum ...etc)
- Variable, Facts and jinja2 templates
- Working with Ansible Variable
- Working with Facts
- Working with Jinja2 Template
- Play and Playbooks
- Overview of Ansible Playbooks
- Playbook Language Example
- Working on Ansible Handlers
- Executing a Playbook.
Docker Modules
- Getting Started with Docker
- Introduction to Docker.
- What’s under the hood - Namespaces, Cgroups and OverlayFS
- Understanding Virtualization
- Virtualization vs Container
- Docker Installation
- Creating a Virtual Docker Host(CentOS) by using Vagrant
- Installing Docker on CentOS
- Introduction to Docker namespaces
- Docker Images
- Introduction to Docker Images
- Building a Docker Image with a Dockerfile
- Sharing Data in Your Docker Host with Containers
- Sharing Data Between Containers
- Copying Data to and from Containers
- Creatoing Docker Hub Account.
- Building Images using DockerFile.
- Pull and Push Images From/To Docker Hub.
- Docker Networking
- Introduction to Docker Networking
- Finding the IP Address of a Container
- Setting Up a Custom Bridge Network for Docker
- Container Operations
- Port Mapping for Docker
- Creating, Starting, Stopping, Renaming, Removing Containers
- Inspacting Containers
- Limiting Rrsoruces Memory and CPU
- Prioritizing CPU Utilization
- Docker Compose
- Introduction to Docker compose
- Creating Docker compose file
- Executing Docker Compose file
Jenkins Modules
- Introduction to Continuous Integration and Jenkins-CI/CD
- What is Continuous Integration
- Jenkins Continuous Integration
- What is Continuous Deployment
- Jenkins Vs Jenkins Enterprise
- Jenkins Installation
- Downloading and Installing Jenkins using TomCat
- Creating Jenkins as a Service.
- Starting and Stopping Jenkins
- Configure Jenkins and User Management.
- Secure Jenkins
- Create a new user
- Generate ssh key for Jenkins user
- Plug-in management
- Jenkins jobs setup
- Setting up a Jenkins job (Freestyle, Pipeline, maven, MSBuild, Pybuild)
- Jenkins parametrized jobs setup (choice params,boolean params etc)
- Email notification jobs
- Parallel jobs configuration
- nodes (slaves) configuration
- Jenkins Integration
- Git integration with Jenkins
- Maven Integration with jenkins
- ansible , artifactory integration
- Docker and scanning tool integration
- AWS and code review tool
- Jenkins User administration
- Role based administration
- Project based administration
- Metric based administration
- Slaves configuration
- Users and groups creation
Maven Modules
- Build Tolls overview
- What is maven and Msbuild, Pybuild,gradle and ant
- Maven Evolution
- Maven Objective and Environment setup
- Maven project creation
- What is POM.xml and super POM
- Maven build life cycle creation and Default Build lifecycle
- Customized Project and plugin setup
- Maven Project setup
- Maven plugin download and setup
- Maven Build automation with CI service
- Maven Repositories and GAV snapshots.
- What is GAV and project and Snapshots ,version
- Maven Web application creation with pom.xml
- What is Maven repository
- Local repo
- Central repo and Remote repo
- Maven Dependencies and plugin
Complete guide to Kubernetes
- Introduction to Kubernetes
- The need for a Container Orchestration Engine
- Battles of CEOs, which one to choose
- Key Features of a COE.
- What makes Kubernetes the defacto COE choice.
- Negatives of using Kubernetes
- Key Concepts of Kubernetes
- Namespaces
- Pods
- Replica Sets and Deployments
- Service Discovery and Load Balancing
- Configmaps, Storage, Network, RBAC
- Statefulsets, Crons and Jobs
- Setting up Environment
- Provisioning and configuring on AWS
- Initialise Cluster with Kubeadm
- Setting up Weave CNI
- Launching Kubernetes Dashboard
- Setting up a kubernetes Visualizer
- Resetting cluster created with kubeadm
- Building blocks of Pods
- Introduction to pod
- Writing pod Specification
- Launching and Operating Pods (Login to the pod, browsing the web UI of the pod)
- Attaching a volume to a Pod
- Launching Multi-Container Pods
- Connecting to Individual Containers
- Launching Replica Set and Fault Tolerance
- Solution part - Deploying a worker app
- Managing Application Configurations with ConfigMaps and Secrets
- Introduction to ConfigMaps and Secrets
- Creating Config Map for Vote app
- Setting up Environment Specific Configs
- Adding Configs from Files
- Creating Secrets to Encrypt Database
- Setting Environment vars using Secrets
- Setting up Firewall with Network Policies
- Creating a default network policy for a namespace
- Exposing public facing app and allowing inter namespace communication.