
SDLC Life Cycle
- Let’s Understand about Software Development Model
- Challenges of Waterfall Development Model
- Overview of Waterfall Development Model
- Overview of Agile Development Model
- Requirement of New Software Development Model
- Challenges of Agile Development Model
- Understanding an existing Pain and Waste in Current Software Development Model
- What is DevOps?
- Understand DevOps values and principles
- Culture and organizational considerations
- Communication and collaboration practices
- Improve your effectiveness and productivity
- DevOps Automation practices and technology considerations
- DevOps Adoption considerations in an enterprise environment
- Challenges, risks and critical success factors
- What is DevSecOps?
- What is SRE?
- List of Tools to become Full Stack Developer/QA/SRE/DevOps/DevSecOps
- Microservices Fundamentals
- Microservices Patterns
- What and When to test
- Preparing for deployment
- Monitoring Microservice Performance
- Tools used for Microservices Demo using container
Ubuntu
- Installing CentOS7 and Ubuntu
- Accessing Servers with SSH
- Working at the Command Line
- Reading Files
- Using the vi Text Editor
- Piping and Redirection
- Archiving Files
- Accessing Command Line Help
- Understanding File Permissions
- Accessing the Root Account
- Using Screen and Script
- Overview of Hypervisor
- Introduction of VirtualBox
- Install VirtualBox and Creating CentOS7 and Ubuntu Vms
Azure and AWS Cloud
- Introduction of AWS
- Understanding AWS infrastructure
- Understanding AWS Free Tier
- IAM: Understanding IAM Concepts
- IAM: A Walkthrough IAM
- IAM: Demo & Lab
- Computing:EC2: Understanding EC2 Concepts
- Computing:EC2: A Walkthrough EC2
- Computing:EC2: Demo & Lab
- Storage:EBS: Understanding EBS Concepts
- Storage:EBS: A Walkthrough EBS
- Storage:EBS: Demo & Lab
- Storage:S3: Understanding S3 Concepts
- Storage:S3: A Walkthrough S3
- Storage:S3: Demo & Lab
- Storage:EFS: Understanding EFS Concepts
- Storage:EFS: A Walkthrough EFS
- Storage:EFS: Demo & Lab
- Database:RDS: Understanding RDS MySql Concepts
- Database:RDS: A Walkthrough RDS MySql
- Database:RDS: Demo & Lab
- ELB: Elastic Load Balancer Concepts
- ELB: Elastic Load Balancer Implementation
- ELB: Elastic Load Balancer: Demo & Lab
- Networking:VPC: Understanding VPC Concepts
- Networking:VPC: Understanding VPC components
- Networking:VPC: Demo & Lab
Docker
- What is Containerization?
- Why Containerization?
- How Docker is good fit for Containerization?
- How Docker works?
- Docker Architecture
- Docker Installations & Configurations
- Docker Components
- Docker Engine
- Docker Image
- Docker Containers
- Docker Registry
- Docker Basic Workflow
- Managing Docker Containers
- Creating our First Image
- Understading Docker Images
- Creating Images using Dockerfile
- Managing Docker Images
- Using Docker Hub registry
- Docker Networking
- Docker Volumes
- Deep dive into Docker Images
- Deep dive into Docker file
- Deep dive into Docker Containers
- Deep dive into Docker Networks
- Deep dive into Docker Volumes
- Deep dive into Docker Volume
- Deep dive into Docker CPU and RAM allocations
- Deep dive into Docker Config
- Docker Compose Overview
- Install & Configure Compose
- Understanding Docker Compose Workflow
- Understanding Docker Compose Services
- Writing Docker Compose Yaml file
- Using Docker Compose Commands
- Docker Compose with Java Stake
- Docker Compose with Rails Stake
- Docker Compose with PHP Stake
- Docker Compose with Nodejs Stake
Git and GitHub
- Introduction of Git
- Installing Git
- Configuring Git
- Git Concepts and Architecture
- How Git works?
- The Git workflow
- Undoing Changes
- Amending commits
- Ignoring Files
- Branching and Merging using Git
- Working with Conflict Resolution
- Comparing commits, branches and workspace
- Working with Remote Git repo using Github
- Push – Pull – Fetch using Github
- Tagging with Git
Ansible
- Overflow of Configuration Management
- Introduction of Ansible
- Ansible Architecture
- Let’s get started with Ansible
- Ansible Authentication & Authorization
- Let’s start with Ansible Adhoc commands
- Let’s write Ansible Inventory
- Working with Popular Modules in Ansible
- Deep Dive into Ansible Playbooks
- Working with Ansible Variables
- Working with Ansible Template
- Working with Ansible Handlers
- Roles in Ansible
- Ansible Galaxy
Kubernetes
- Understanding the Need of Kubernetes
- Understanding Kubernetes Architecture
- Understanding Kubernetes Concepts
- Kubernetes and Microservices
- Understanding Kubernetes Masters and its Component
- Understanding Kubernetes Nodes and its Component
- Understanding Kubernetes Addons
- Understand Kubernetes Terminology
- Kubernetes Pod Overview
- Kubernetes Replication Controller Overview
- Kubernetes Deployment Overview
- Kubernetes Service Overview
- Understanding Kubernetes running environment options
- Working with first Pods
- Working with first Replication Controller
- Working with first Deployment
- Working with first Services
- Introducing Helm
- Basic working with Helm
Jenkins and Azure DevOps
- Lets understand Continuous Integration
- What is Continuous Integration
- Benefits of Continuous Integration
- What is Continuous Delivery
- What is Continuous Deployment
- Continuous Integration Tools
- What is Jenkins
- History of Jenkins
- Jenkins Architecture
- Jenkins Vs Jenkins Enterprise
- Jenkins Installation and Configurations
- Jenkins Dashboard Tour
- Understand Freestyle Project
- Freestyle General Tab
- Freestyle Source Code Management Tab
- Freestyle Build Triggers Tab
- Freestyle Build Environment
- Freestyle Build
- Freestyle Post-build Actions
- Manage Jenkins
- My Views
- Credentials
- People
- Build History
- Creating a Simple Job
- Simple Java and Maven Based Application
- Simple Java and Gradle Based Application
- Simple DOTNET and MSBuild Based Application
- Jobs Scheduling in Jenkins
- Manually Building
- Build Trigger based on fixed schedule
- Build Trigger by script
- Build Trigger Based on pushed to git
- Useful Jobs Configuration
- Jenkins Jobs parameterised
- Execute concurrent builds
- Jobs Executors
- Build Other Projects
- Build after other projects are built
- Throttle Builds
- Jenkins Plugins
- Installing a Plugin
- Plugin Configuration
- Updating a Plugin
- Plugin Wiki
- Top 20 Useful Jenkins Plugins
- Using Jenkins Pluginss Best Practices
- Jenkins Node Managment
- Adding a Linux Node
- Adding a Windows Nodes
- Nodes Management using Jenkins
- Jenkins Nodes High Availability
- Jenkins Integration with other tools
- Reports in Jenkins
- Junit Report
- SonarQube Reports
- Jacoco Reports
- Coverity Reports
- Selenium Reports
- Test Results
- Cucumber Reports
- Jenkins Node Management
- Adding a Linux Node
- Adding a Windows Nodes
- Nodes Management using Jenkins
- Jenkins Nodes High Availability
- Notification & Feedback in Jenkins
- CI Build Pipeline & Dashboard
- Email Notification
- Advance Email Notification
- Slack Notification
- Jenkins Advance – Administrator
- Security in Jenkins
- Authorization in Jenkins
- Authentication in Jenkins
- Managing folder/subfolder
- Jenkins Upgrade
- Jenkins Backup
- Jenkins Restore
- Jenkins Command Line
Prometheus
- Introduction to Prometheus
- Prometheus installation
- Grafana with Prometheus Installation
- Monitoring
- Introduction to Monitoring
- Client Libraries
- Pushing Metrics
- Querying
- Service Discovery
- Exporters
- Alerting
- Introduction to Alerting
- Setting up Alerts
- Internals
- Prometheus Storage
- Prometheus Security
- TLS & Authentication on Prometheus Server
- Mutual TLS for Prometheus Targets
- Use Cases
- Monitoring a web application
- Calculating Apdex score
- Cloudwatch Exporter
- Grafana Provisioning
- Consul Integration with Prometheus
- EC2 Auto Discovery