Capability Development / DevOps
DevOps Expert for Developers & Administrators
This expert-level program takes DevOps practitioners deep into the full enterprise toolchain, starting with DevOps history and principles before moving into in-depth Linux administration, networking (TCP/IP, subnetting, VPNs, and firewalls), and Git/GitHub workflows. It builds strong Jenkins-based CI/CD skills including SonarQube and Checkmarx integration, then covers Docker and Docker Swarm, and Kubernetes cluster architecture, deployments, and scaling in significant depth. Learners work extensively with Terraform and CloudFormation for infrastructure as code and with Ansible — including roles, Vault, and Ansible Tower — for configuration management at scale. The program closes with Site Reliability Engineering practices across Prometheus, Grafana, Nagios, CloudWatch, and Splunk, plus advanced testing techniques and a capstone project deploying a Java application to Kubernetes via Jenkins. It suits practitioners who already have DevOps exposure and want depth across every layer of the toolchain.
Program Overview
This expert-level program takes DevOps practitioners deep into the full enterprise toolchain, starting with DevOps history and principles before moving into in-depth Linux administration, networking (TCP/IP, subnetting, VPNs, and firewalls), and Git/GitHub workflows. It builds strong Jenkins-based CI/CD skills including SonarQube and Checkmarx integration, then covers Docker and Docker Swarm, and Kubernetes cluster architecture, deployments, and scaling in significant depth. Learners work extensively with Terraform and CloudFormation for infrastructure as code and with Ansible — including roles, Vault, and Ansible Tower — for configuration management at scale. The program closes with Site Reliability Engineering practices across Prometheus, Grafana, Nagios, CloudWatch, and Splunk, plus advanced testing techniques and a capstone project deploying a Java application to Kubernetes via Jenkins. It suits practitioners who already have DevOps exposure and want depth across every layer of the toolchain.
Audience Profile
Experienced system administrators and DevOps engineers; Site Reliability Engineers (SREs); Cloud infrastructure and platform engineers; DevOps architects designing enterprise toolchains; and Professionals preparing for advanced DevOps/SRE roles.
Course Syllabus
Introduction to DevOps
Topics
- What is DevOps?
- IT evolution and history of DevOps
- Different teams involved
- DevOps and the Software Development Life Cycle
- Waterfall and Agile models
- DevOps main objectives and prerequisites
- Continuous testing, integration, release, deployment, configuration management, and application monitoring
- DevOps toolsets
Linux Administration for DevOps
Topics
- Linux OS overview
- User management and passwordless login
- Cronjobs: editing, setting, deleting
- Software/package installation methods
- Logging in/out and the su command
- Configuring sudo accounts and permissions
- Transferring files and Linux directory structure
- Core commands: awk, sed, grep, piping, disk usage
- Network troubleshooting
- Shell scripting
Labs / Practice
- Setup CentOS/RHEL Linux in AWS
- Write a shell script in Git and run it on AWS Linux
Git & GitHub
Topics
- Centralized and distributed version control systems
- Anatomy and features of Git
- Git commands: clone, checkout, commit, push, merge, pull request, fork/pull
- 3-tree architecture
- Local and remote branches
- GitHub repositories and project management
Build Tools: Maven
Topics
- Java compiler
- Maven lifecycle and installation
- Maven build requirements
- Maven POM XML file
Jenkins Fundamentals
Topics
- Installing Java and Jenkins
- Jenkins architecture and terminology
- Jenkins UI, dashboard, and menus
- Creating and running Jenkins jobs
- Email configuration, global security, master-slave architecture
- Microservices, SonarQube, and OWASP overview
- Running a ZAP scan
- DevOps tool ecosystem: BitBucket, Bamboo, Jira, Confluence
- MS Build and Octopus Deploy
Continuous Integration & Delivery with Jenkins
Topics
- Configuring Jenkins with Java, Git, and Maven
- Building a Maven-based Jenkins project
- CI pipeline stages: compile, code review, unit test
- Archiving build artifacts
- Tomcat staging environment and deploy-to-container plugin
- Parallel and master/slave Jenkins pipelines
Labs / Practice
- Installation of SonarQube and Jenkins integration
Networking for DevOps
Topics
- TCP/IP concepts: bitmasks, subnetting, gateways, IP addressing
- VLANs, NAT, and private IP addressing
- CIDR and VPN
- Host-based, network-based, and virtual firewalls
Labs / Practice
- Setting firewall rules in Windows and Linux
Microsoft Azure for DevOps
Topics
- VM architecture and supported OS images
- Custom images
- Load balancing, availability sets, and auto-scaling
- DevOps in Azure and creating simple pipelines
- Migrating/integrating source control (GitHub, Azure Repos)
- Workflow hooks and repository permissions
- Organizing repositories with git-tags
Labs / Practice
- Creating VMs for different OS
- Setting up a pipeline to deploy a website on a VM
Docker & Containerization
Topics
- Containers overview and Docker architecture
- Docker installation and container management commands
- Docker Hub, Trusted Registry, Engine, Image, Compose, and Swarm
- Docker networking and volumes
- Image scanning tools: Snyk, ECR scanning
- Image registries: ECR, JFrog, Nexus, Dockerhub
- AWS Elastic Container Service
- Building custom Dockerfiles
- Docker Swarm clustering and UCP
Labs / Practice
- Install Docker in a Linux environment and run containers
- Deploy a website with a database on Docker
Kubernetes
Topics
- Kubernetes architecture, masters, and nodes
- Declarative model and desired state
- Pods, services, and deployments
- The Kubernetes API and kubectl
- Deployment vs StatefulSet
- Self-healing, scaling, rolling updates, and rollbacks
- YAML manifest authoring
Labs / Practice
- Install and configure Minikube
- Setup Kubernetes with Kubeadm and create resources
- Creating Pods, Deployments, and StatefulSets
- Creating Deployments using YAML files
Terraform (Infrastructure as Code)
Topics
- IaC concepts and GUI/CLI/IaC comparison
- Terraform workflow, providers, and state
- Provisioners, variables, and output values
- Data sources, modules, and interpolation
- Conditionals and for/for-each loops
- Remote state management and the DRY principle
- CloudFormation vs Terraform
Labs / Practice
- Setting up Terraform
- Passing variables and using them in code
- Checking output attributes
- For-loops and conditionals in Terraform
Ansible
Topics
- Ansible architecture, inventory, and deployment
- Ad hoc commands and YAML playbooks
- Variables, facts, handlers, and flow control
- Roles and Ansible Galaxy
- Ansible Vault
- Ansible Tower and troubleshooting
- Advanced playbooks for Kubernetes and container orchestration
Site Reliability Engineering & Monitoring
Topics
- Monitoring types and observability
- Infrastructure, application, serverless, and synthetic monitoring
- Prometheus architecture, exporters, and PromQL
- Cloud-native monitoring with AWS CloudWatch
- Nagios setup, host configuration, and alerting
- Splunk architecture, forwarders, and search
Labs / Practice
- Install and configure Grafana and Prometheus
- Install and configure the ELK stack
Advanced CI/CD & Testing
Topics
- Build and release management tools
- Gitflow branching strategy
- Maven and Grunt build tools
- SonarQube and Checkmarx integration
- Unit, functional, performance, and accessibility testing automation
- Dynamic security testing
Labs / Practice
- Deployment of a website with GitHub
- Jenkins integration with SonarQube for a Java project
- Capstone: deploy a GitHub Java project to Kubernetes using Jenkins with JUnit and code-quality gates

