Training Details
12 Weeks
2pm to 5pm (WAT) Mon, Wed & Fri =================== 8pm to 11pm (WAT) (Tues and Thur) =================== Weekends (Sat 2pm-5pm)
On Zoom
$1,000
2348029704730
DevOps Engineering Training
Our DevOps training is beginner-friendly, practical, and project-based. It is designed to help participants gain mastery of different technologies and tools that are used to build and manage software lifecycle and infrastructure automation. It is tailored to help you gain real-world experience that can get you a job and grow your career.
Who should attend
- Those who are switching careers to the tech industry.
- Those who have programming skills but want to acquire skills on how to setup servers, manage cloud infrastructure, and automate processes using different tools to get a promotion at work or higher-paying jobs
- Those planning to travel abroad and seeking hands-on skills that can make them relevant.
- Those in managerial positions who seek to have knowledge of how software lifecycle automation is done.
Technologies covered

Learning outcomes
Real-World Project
Build any of the following project contanerization of a fullstack software, creation of end to end CI/CD pipeline, deployment on Kubernetes, creature of infrasture using automated process
Automation
Learn how to create configuration files for automation, master python, linux commands and server environment.
Collaboration
Learn how to collaborate with other software developers on source code management. Set up repositories and branches. Manage roles and automate code update
Career Positioning
CV review, interview preparation, LinkedIn profile update, job alert within our alumni community and mentorship
Training Details
12 Weeks
2pm to 5pm (WAT) Mon, Wed & Fridays === 8pm to 11pm (WAT) Tue and Thursdays==== Weekends (Sat 2pm-5pm)
On Zoom
$1,000
2348029704730
Course Curriculum
Introduction to DevOps
Understanding DevOps
- What is DevOps?
- DevOps Lifecycle
- DevOps adoption for businesses
Introduction to cloud computing (AWS)
Overview
- What is Cloud Computing?
- Different types of cloud computing
- Overview of AWS
IAM (Identity access management) - Setting up IAM
Users, groups and policies - Multi-factor Authentication
- Access keys and CLI connection
- AWS CLI Setup
- IAM Best practice
EC2 (Elastic compute cloud)
- AWS budget setup
- Creating an EC2 instance
- EC2 Instance Types
- Security groups
- Connecting through SSH
- Connecting through EC2 instance connect
- Introduction to Elastic block store (EBS)
- AMI Overview
- High Availability, Scalability, Elasticity
- Elastic Load Balancing (ELB)
- Auto Scaling Groups (ASG)
- Introduction to AWS S3
- CloudWatch Metrics
- Introduction to Virtual Private Cloud (VPC)
- Billing & Costing
Key takeaway: You will have a high-level overview of what AWS Cloud with a hands-on demonstration
Python programming
Introduction to python
- What is Python?
- Installing Python
- Setting up VSCode for Python
- Python fundamentals
- Python Syntax
- Variables
- Input and output
- comments
Data types
- Strings
- String properties
- Indexing and slicing
- String methods
- Numbers
- Boolean
Python lists
- Introduction to Lists
- Sorting a List
- Slicing a List:
- Unpacking a List
- Iterating over a List
- Finding Index of an Element: index()
Tuple
- Indexing tuple elements
- Unpacking Tuples
- Type Conversion
Python dictionary
- Introduction to dictionary
- Nested dictionary
- Dictionary methods
- Indexing dictionary items
- Updating dictionary items
- Dictionary Comprehension
Python Set
- Set Comprehension
- Union of Sets
- Intersection of Sets
- Difference between Sets
- Symmetric Difference of Sets
- Subset
- Superset
- Disjoint Sets
Operators
- Arithmetic Operators
- Assignment operators
- Comparison Operators
- Membership
- Control flow
- if…elif
- type Conversion
Loops
- for Loop
- while Loop
- For in loop
Python Functions
- Inbuilt function
- User-defined function
- Default Parameters
- Keyword Arguments
- Lambda Expressions
- Function Docstrings
- The *args Parameters
- The **kwargs Parameters
- Partial Functions
- Transform List Elements: map()
- Filtering List Elements: filter()
- Reducing List Elements: reduce()
- List Comprehensions
Exception handling
- try…except
- try…except…finally
- try…except…else
Working with Files
- Reading a Text File
- Writing to a Text File
- Creating a Text File
Modules
- Benefits of using modules
- Using the OS module
Key takeaway: Understand python programming and be able to translate concepts into pseudo-code and functional app
Vagrant for deployment
Getting started
- Introduction
- What is Vagrant?
- Provider/Provisioner and the Vagrant File
- Installing Vagrant
- Installing VirtualBox
Boxes in Vagrant
- Adding Boxes to Vagrant
- Installing a Vagrant Box
- Starting a Vagrant Box
- SSH Into a Vagrant Box and Installing Software
- Destroying a Vagrant Box
Networking on a Vagrant Box
- Configuring a Private/Public Network and Forwarding Ports in Vagrant
Using shell script in Vagrant
- Provisioning in Vagrant
How to launch multi-machine VM in vagrant
Key takeaway:
How to start, stop, and destroy Vagrant
How to provision a server in a Vagrant box
How to enable IP In a Vagrant box
Linux and bash scripting
Introduction to Linux
- Windows Vs Unix
- How the Linux commands function
- History Unix/Linux
- Directory structure
- Setting up a Linux server
- General Linux commands
- Working with files in Linux
- Using the Help feature
- User and user group
- Sudo command
- Installation software in Linux environment
- Bundling and compressing files
Key takeaway: Understand the Linux environment, setup Linux server and navigate around with ease using the terminal
Bash scripting
- Introduction to Bash Scripting
- Writing your first script
- Variable declaration
- Input/Output
- Comments in bash
- Conditional Statements
- Loops
- Sending output from one script to another
- Strings Processing
- Numbers and Arithmetic operations
- Arrays
- Functions
- Files and Directories
Key takeaway: Use the bash command to automate processes
Terraform for Infrastructure as code (IaC)
Getting started with terraform
- Introduction to Infrastructure as code (IaC)
- Installation Process of Terraform
Deploying Infrastructure with Terraform
- Creating the first EC2 instance with Terraform
- Important Security Pointer
- Understanding Resources & Providers
- Destroying Infrastructure with Terraform
- Understanding Terraform State files
- Understanding Desired & Current States
- Terraform Provider Versioning
Read, generate, and modify configurations
- Understanding Attributes and Output Values in Terraform
- Terraform Variables
- Approaches for Variable Assignment
- Data Types for Variables
- Fetching Data from Maps and Lists in Variable
- Conditional Expressions
- Local Values
- Terraform Functions
- Data Sources
- Debugging in Terraform
- Terraform Format
- Dynamic Blocks
- Saving Terraform Plan to File
- Terraform Output
- Terraform Settings
- Comments in Terraform
- Data Type – SET
- for_each in Terraform
Terraform providers
- Understanding Provisioners in Terraform
- Types of Provisioners
- Implementing remote-exec provisioners
- Implementing local-exec provisioners
Terraform modules and workspace
- Understanding DRY principle
- Implementing the EC2 module with Terraform
- Variables and Terraform Modules
- Using Locals with Modules
- Referencing Module Outputs
- Terraform Registry
Security
- Handling Access & Secret Keys the Right Way in Providers
- Terraform Provider UseCase –
- Resources in Multiple Regions
- Sensitive Parameter
- Overview of HashiCorp Vault
Key takeaway:
Implement Terraform for an organization
Writing code to provision resources in the cloud
Source code management
Getting started
- Introduction
- Downloading and Installing git
- Creating GitHub account
Git operation
- Configuring git
- Initializing git for a project
- Adding files to to be committed
- Committing files to the staging area
- Creating a repository
- Connecting to the remote repository
- Pushing files to git
Account and repository management
- Onboarding developers
- How to enforce the approval mechanism
- Merging pull request
- How to approve a pull request
Software deployment from different locations
- Creating branches
- Updating and removing files from repositories
- Effective collaboration with git
- Removing unwanted files from local repositories
- Creating and deleting branches from terminal
- Switching between branches
- How to revert changes in GIT
- Clone, pull and fork code in the repository
Key takeaway: Understand git operations and how to use it to effectively manage software lifecycle and collaborate with other developers
Docker and containerization
Introduction
- Getting started with docker
- Installation Methods for Docker
- Creating Infrastructure for Docker Setup
- Installing Docker in Linux
- Installing Docker Desktop
- Docker Image vs Docker Containers
- Container Identification
- Port Binding
- Attached and Detached Modes
- Removing Docker Containers
- Docker CLI Commands
- Docker container exec
- Importance of IT flags
- Default Container Commands
- Overriding Default Container Commands
- Removing Docker Images
Image creation, management and registry
- Working with Docker Images
- Overview of Dockerfile
- EXPOSE Instruction in dockerfile
- Tagging Docker Images
- Managing Images with CLI
- Overview of Docker Registries
- Pushing Images to Central Repository
Networking
- Overview of Docker Networking
- Understanding Bridge Networks
- Understanding Host Network
- Implementing None Network
Docker Networking, Storage & Image Management
Kubernetes for container orchestration
Core concepts
- Introduction to Kubernetes
- Installation Options for Kubernetes
- Using Managed Kubernetes Service
- Overview of kubectl
Configuring Kubernetes in Minikube
- Minikube Installation Commands
- Configuring Kubernetes in Minikube
- Understanding PODS
- Understanding Kubernetes Objects
Overview of Kubernetes Cluster Architecture
- K8S Components – ETCD
- K8S Components – kube-apiserver
- Introduction to API
- Creating First POD Configuration in YAML
- Working with Multi-Container Pods
- K8S Components – Kube-scheduler
- Understanding Commands and Arguments in Kubernetes
- Exposing Ports for PODS
Workloads and scheduling
- Introduction to Labels and Selectors
- Implementing Labels and Selectors
- Overview of ReplicaSets
- Creating your first ReplicaSet
- Introduction to Deployments
- Creating your first deployment
Services and networking
- Overview of Service
- Creating First Service and Endpoint
- Service Type: ClusterIP
- Using Selectors for Service Endpoints
- Service Type: NodePort
- Service Type: Load Balancer
- Generating Service Manifests via CLI
- Overview of Ingress
- Overview of Helm
Storage
- Overview of Docker Volumes
- Creating Volumes in Kubernetes
- Document – Dynamic Provisioning
ConfigMaps - Security Contexts
- Storage Volume Expansion
Troubleshooting
- Troubleshooting Application Failure
- Troubleshooting Control Plane Failure
- Version Skew Support Policy
- Facilitating OS Upgrades
- Draining Worker Nodes
- Taint Based Evictions
Key takeaway:
Strong Fundamentals of Kubernetes
Security Aspects of Kubernetes
Networking Aspects of Kubernetes
Troubleshooting & Cluster Maintenance
- Introduction
- What is Kubernetes?
- Kubernetes Architechture
- Kubernetes Components
– Node & Pod
– Service & Ingress
– ConfigMap & Secret
– Volumes
– Deployment & StatefulSet - Installing kubbectl and minikube
– What is minikube?
– What is kubectl?
– Install minikube and kubectl
– create and start a minikube cluster in the local environment - Kubernetes CLI Commands with Example (kubectl)
– Create a pod/deployment
– Get status of different components
– Change the pod/deployment configuration
– Debugging pods
– Delete pod/deployment
- Kubernetes YAML Configuration
– Different attributes of a Kubernetes config file
– Creating config files - Kubernetes Namespace
– What is a Namespace?
– 4 Default Namespaces
– Create a Namespace and resources
– Why use Namespaces? - Ingress Service
- Statefulset in Kubernetes
– What is StatefulSet?
– Deployment vs StatefulSet - Kubernetes Services
– What is a Service?
– ClusterIP Services
– NodePort Services
– LoadBalancer Services - Volumes in Kubernetes
- Deploying of Spring App to Kubernetes Cluster
Key takeaway:
Strong Fundamentals of Kubernetes
Jenkins for CI/CD
Introduction to Jenkins
- Overview of Jenkins
- Jenkins Installation
- Jenkins Configuration
- Creating a Jenkins pipeline
- Install plugins and Credentials on Jenkins Server
- Connect Jenkins to GitHub Repository
- Setting up Docker and Maven in Jenkins
- Understanding Scripted and Declarative Pipelines in Jenkins – Stages
Jenkins Pipeline
- Using Docker Images as Jenkins Pipeline Agents
- Configuring Jenkins Pipeline Path with Docker and Maven Tools
- Build and Push Docker Image in Jenkins Pipeline
- Pipeline for SonarQube Scanner for Jenkins
- Add stage in pipeline to create a docker Image using DockerFile
- Add Plugins – CloudBees AWS, ECR, Docker etc.
- Add stage in pipeline to Push the Docker Image to AWS ECR
Key takeaway:
Learn how to design and build your own Jobs with a bunch of tools
Learn Continuous Integration and Continuous Deployment
Ansible for automation
Introduction to Ansible
- Overview of Ansible
- Comparison of Ansible, Puppet, Chef
- Ansible Installation
- Ansible Architecture
- Setting up Master Slave using Ansible
- Inventory in ansible
- Introduction to YAML
- Ansible Playbook, Modules
- Ansible Roles
- Applying configuration using Ansible
YAML fundamentals
- Introduction to YAML
- YAML Syntax
- Datatypes
- YAML Styles
- Mapping
- Sequence
- Scalars
- Structure
- Comments
- Anchors
- YAML Tags
Prometheus and Grafana for monitoring
Getting started
- Overview of Prometheus
- Installation of Prometheus
- Configuration of Prometheus
- Installation of grafana
- Querying
- Instrumenting
- Metrics
Takeaway: Being able to set up Prometheus and use it to monitor the activities of your applications
Introduction to markdown
- Basic syntax
- Heading
- Text formatting
- Lists
- code formatting
- block quote
- Links
- Images
- Tables
- Task List
- Toggle
- Horizontal rule
Takeaway: Ability to document your activities and processes with markdown
Testimonials
Our students work at

Frequently Asked Questions
Yes we accept installment payment. You can discuss with our team members on available payment options.
No prior programming experience is required. However, you need to know how to operate the computer efficiently. Our training approach is beginner friendly, and we work on several real world projects to help our student have deeper understanding of each module.
People prefer Tech365 because our training are:
- Project-based training
- Job recommendation
- World-class support
- Up-to-date curriculum
- Career guidance and mentoring
- Access to support community
- Certificate of completion
- Flexible payment plan
- Flexible timing
Our training is
- Globally relevant
- Beginner friendly
- Futuristic
- Relevant across industries
- In high demand
- Financially rewarding
We do not guarantee job. However, we do refer our students for jobs as different organization do reach out to us to hire our students. Some of our students have gotten job through this process.
Yes, we offer weekend classes for those who can’t attend weekdays due to their job or other reasons
Our training schedule are around January, May and September. You can talk to one of our representative for more information.
Yes our training is physical at Ikeja, Lagos. However, those outside Nigeria or living far away can join us online via zoom. The experience is similar.
Yes. In fact, this is our strength. We are committed to supporting our students to ensure they succeed.
Yes, it is recommended to come with your own laptop as it will help you to practice whatever you are learning. However, we provide laptop that can be used only within our premises if need be.
Yes, we provide internet access to our students.
Depending on your budget, Core i7, 16 GB ram with SSD is best.
However, core i3 or i5 with 4gb or 8gb ram HDD will also work fine.
It can be HP, DELL, Mac or any other brand.

Wale Olajumoke is an experienced tech professional who works with organizations to leverage technology for growth. He is a graduate of Computer Science. He is proficient in DevOps, Software Engineering and Data Science. He has over 8 years of experience working full-time and training people across Nigeria, Canada, the UK, the USA, Italy and more. He has built solutions and facilitated training for Banks, oil and gas, Pension companies, Conglomerates, NYSC, non-profit organizations and other industries.
He is an alumnus of Venture In Enterprise Management from PAN Atlantic University. He was nominated as one of the most influential youths in Nigeria by Avance media in 2017. His contribution also got Tech365 an award as an innovative brand in 2021. Wale has been a guest lecturer at GTBank training school, Facebook NG Hub, and Women Green Fellowship (during their session at Lagos Business School). He has trained the staff of First BANK, Coronation Merchant bank, Stanbic IBTC pensions and over 10,000 people globally.
He is passionate about adding value to people through training and mentoring.
Best DevOps Training
You can choose available options below based on your need.
DevOps /Software Engineering
- Completed DevOps Training
- Computer Science Fundamentals
- Software Engineering Module
- Data Structure/ Algorithm
- Frontend
- Backend