Introduction
- What is SDLC ?
- Waterfall vs Agile vs Lean Methodology
- Devops History & Lifecycle
- Need of Devops, Roles & Responsibilities
- Devops Goals, Tools & Roadmap
|
|
Software Architectures
- Types of architectures
- Client, Application, Database layer
- One, Two, Three, N-teir Architecure
|
|
Web & App servers
- What is a web & webapp server ?
- Httpd, Nginx, IIS, Tomcat Servers
|
|
AWS Cloud
- What is virtualization ?
- Advantages & Disadvantages
- What is cloud computing ?
- What is AWS ?
- AWS Service & Deployment Models
- AWS Certifications
- Identity and Access Management (IAM)
- Elastic Compute Cloud (EC2) Service & Security
- Amazon Elastic Block Store
- Networking Basics
- Amazon Virtual Private Cloud (VPC) & Its Components
- Elastic Load Balancing (ELB)
- Amazon EC2 Auto Scaling
- Amazon S3 Simple Storage Service
- Amazon RDS (Relational Database Service)
- Amazon Route 53, CDN, KMS
- Miscellaneous or additional topics
|
|
Source Code Management – GIT
- What is VCS ? & Its History
- Types of Source Code Management Tools
- Git Vs GitHub & Git Operations
- Types of Version Control System
- Git installation, lifecycle and workflow
- Different Stages in Git
- Repositories (local, central, remote)
- Git user config
- Git pull, push, merge, stash
- Git checkout, branch, commit, cherry pick
- Git logs , log vs refLog
- Merge conflicts, git ignore
- Branching strategies
- Other real time git usefull commands
|
|
Source Code Management – GIT HUB
- Git repos (Private & Public)
- How to create Public & Private Repos
- Integrating Repos & Forking
- Linking projects
- Tokens, compare & pull request
- Renaming repos & User management
- Archiving & Deleting repos
- Accessing the private repos
- Advantages & disadvantages
- Assigning Roles
- Difference between git and other tools
- Miscellaneous or additional topics
|
|
Build Tool – MAVEN
- What is Build Tool ?
- Introduction to Maven
- Maven objectives& Architecture
- Maven goals & Build life cycle
- Project information & Features
- Requirements & Plugins
- pom.xml and Types
- Maven directory structure
- Java project structure
- Problems without maven
- Maven vs ANT vs Gradle
- Execution
- Sample Application using MSBuild
- Miscellaneous or additional topics
|
|
Code & Artifact Storage
- Intro to JFROG
- Use cases & Setup
- Creating repo & Creating users
|
|
Sonar Static code analysis
- What is SonarQube?
- Setup & Configuration
- SonarQube Advantages
|
|
LAMP
- What is LAMP stack ?
- LAMP Setup ?
- Usage of LAMP stack ?
|
|
Terraform
- What is IAAC ?
- What is Terraform ?
- Advantages of Terraform ?
- How Terraform Works ?
- What is Terraform Statefile ?
- Terraform Installation
- Terraform cli
- S3 Backened Setup
- Alias & providers
- Terraform State Locking & Setup
- Variables & Locals, Comments
- Terraform validate & plan
- Terraform apply, destroy, outputs & update
- Terraform loops, workspaces, outputs
- Creating vpc, ec2,rds, s3, ebs, efs and other
- Terraform multiple tfvar files
- Versions & Dynamic block
- Terraform import, taint
- Terraform refresh, replace, target
- Terraform lifecycle
- Create before destroy & Prevent destroy
- Terraform modules
- Miscellaneous or additional topics
|
|
Containerization using Docker
- Microservices introduction
- Monlithic vs Microservices
- Virtualization intro
- What is containrization ?
- Docker vs Vms vs Servers
- Docker architecture
- intro to docker & Installation
- Docker Client & Deamon
- Docker Files and Instructions ?
- Create images from Docker files
- Docker Network & Types
- Docker Volumes & Types
- Docker real-time basic commands
- Run vs cmd vs entrypoint
- Add vs copy
- Docker pull, push, build
- Working with containers
- Build image from container
- Ways of container creation
- Docker port mapping
- Docker multistage build
- Creating jenkins by docker
- Docker Registry
- Docker registry types
- Docker login & Image pushing to registry
- Docker hub account creation
- Docker swarm & compose overview
- Docker stack
|
|
Monitoring - Prometheus & Grafana
- Intro to Prometheus, Grafana, Node Exporter
- Archictecture & Components
- Installation of each component
- Exploring & Importing Grafana dashboard
- Server monitoring and Logging
- Loki & Promtail
- Use cases of loki and promtail
|
|
Monitoring – Nagios
- About Nagios & Its Installation
- Master-Slave Configuration
- Configuring with Tomcat Server with Master Node
- Summary
|
|
Configuration Management Tool – Ansible
- Ansible Introduction & History
- Ansible Architecture & Usecases
- Ansible inventory host pattern
- Ad-hoc commands & Working with adhoc
- Ansible modules introduction
- Working with ansible modules
- Ansible playbooks
- Package Installation and Uninstallation
- Ansible variables, handlers, loops
- Ansible conditions, vault, roles
- Ansible tags, dry run, pip
- Ansible galaxy, Roles and more modules
- Ansible Builtin Modules
- Ansible jinja2 templates
- Creating local resources
- Ansible git integration
- Deploying Ec2 instance & Tomcat webapp server
- Admin activities & Server metrics collections
- Jenkins & Docker with ansible
- Static Website using Playbook
- Advantages & Disadvantages
- Ansible Alternatives
- Miscellaneous or additional topics
|
|
Continuous Integration tool – Jenkins
- Introduction to Jenkins
- Installation and Setup
- Jenkins Architecture
- Creating and Configuring Jobs
- Version Control Integration
- Master – slave architecture, setup
- Build Pipelines, Reports
- Jenkins Agent Setup
- Jenkinsfile and Pipeline as Code
- Continuous Deployment with Jenkins
- Workspaces, Webhooks & Linked Projects
- Enviornment Variables and Multi Stage Builds
- Artifact Management in Jenkins
- Jenkins Integration with Docker, SonarQube, Tomcat
- Continuous Deployment with Jenkins
- Triggers, Cron Jobs, Plugins and Extensions
- Parameterized Builds
- Distributed Builds
- Security in Jenkins
- Troubleshooting Jenkins Builds and Pipelines
- Jenkins Backup, Monitoring and Logging
- Miscellaneous or additional topics
|
|