DevOps School

Master DevOps with our comprehensive training course! Learn from industry experts, enhance your coding skills, and build robust applications. Perfect for beginners and experienced developers aiming to excel.

  • Duration: 3 months
  • Delivery Type: Delivery Type: Online/2hrs/3 classes a week
  • Weekdays: To be communicated
  • Time: 9am - 11am (WAT) or 1am - 3am
PRACTICAL AND JOB-READY DEVOPS MODULES

Modules Covered

Cloud Computing

View topics
bg

Docker

View topics
bg

Vagrant

View topics
bg

Linux

View topics
bg

Bash Scripting

View topics
bg

Terraform

View topics
bg

Kubernetes

View topics
bg

CI/CD

View topics
bg

Python

View topics
bg

DevOpSec

View topics
bg

Understanding Cloud Computing

Introduction to Cloud Computing

  • What is cloud computing?
  • History and evolution of cloud computing
  • Key characteristics of cloud computing
  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)
  • Software as a Service (SaaS)
  • Public cloud
  • Private cloud
  • Hybrid cloud
  • Community cloud

Cloud Service Providers

  • Amazon Web Services (AWS)
  • Microsoft Azure
  • Google Cloud Platform (GCP)
  • Strengths and weaknesses
  • Key services and offerings
  • Creating accounts on AWS, Azure, and GCP
  • Navigating the cloud provider consoles

Core Cloud Services

  • Virtual machines (EC2, Azure VMs, Compute Engine)
  • Auto-scaling and load balancing
  • Object storage (S3, Azure Blob Storage, Google Cloud Storage)
  • Block storage (EBS, Azure Disks, Persistent Disks)
  • File storage (EFS, Azure Files, Filestore)
  • Relational databases (RDS, Azure SQL Database, Cloud SQL)
  • NoSQL databases (DynamoDB, Cosmos DB, Firestore) -

Networking and Content Delivery

  • VPC (Virtual Private Cloud)
  • Subnets, route tables, and gateways
  • Amazon CloudFront
  • Azure CDN
  • Cloud CDN
  • Elastic Load Balancing
  • Azure Load Balancer
  • Google Cloud Load Balancing
  • Amazon Route 53
  • Azure DNS
  • Cloud DNS

Security and Identity Management

  • AWS IAM
  • Azure Active Directory
  • Google Cloud IAM
  • Understanding compliance standards (GDPR, HIPAA, etc.)
  • Tools for governance and compliance (AWS Config, Azure Policy, Google Cloud Security Command Center)

Monitoring and Management

  • AWS CloudWatch
  • Azure Monitor
  • Google Cloud IAM
  • Google Cloud Monitoring
  • AWS CloudTrail
  • Azure Log Analytics
  • Google Cloud Logging

Version Control with Git

Introduction to Version Control and Git

  • What is version control?
  • Benefits of version control systems
  • Introduction to Git
  • What is Git?
  • Installing Git
  • Setting up Git (configuring username and email)
  • Basic Git Commands
  • Initializing a repository
  • Cloning a repository
  • Checking the status of a repository
  • Understanding Git Repositories
  • Working directory, staging area, and local repository
  • The .git directory
  • Configuring Git
  • Setting global and local configurations

Working with Commits

  • Making Changes
  • Adding files to the staging area
  • Committing changes
  • Writing good commit messages
  • Viewing Commit History
  • Viewing commit logs
  • Understanding commit hashes
  • Viewing differences between commits
  • Undoing Changes
  • Undoing changes in the working directory
  • Removing files from the staging area
  • Amending the last commit

Branching and Merging

  • Understanding Branches
  • What are branches?
  • Benefits of using branches
  • Working with Branches
  • Creating and switching branches
  • Renaming and deleting branches
  • Merging Branches
  • Merging changes
  • Handling merge conflicts
  • Resolving merge conflicts

Working with Remote Repositories

  • Introduction to Remote Repositories
  • What are remote repositories?
  • Benefits of using remote repositories
  • Using Remote Repositories
  • Adding a remote repository
  • Fetching and pulling changes
  • Pushing changes
  • Collaborating with Others
  • Forking a repository
  • Creating and reviewing pull requests
  • Best practices for collaboration

Advanced Git Techniques

  • Rebasing
  • What is rebasing?
  • Rebasing vs. merging
  • Interactive rebasing
  • Stashing
  • What is stashing?
  • Saving work with stashes
  • Applying and dropping stashes
  • Tagging
  • What are tags?
  • Creating and listing tags
  • Annotated vs. lightweight tags

Git Tools and Integration

  • Git in Integrated Development Environments (IDEs)
  • Using Git with popular IDEs (VSCode, IntelliJ, etc.)
  • Git plugins and extensions
  • Introduction to Git GUI tools (GitKraken, SourceTree, GitHub Desktop)
  • Basic operations using Git GUIs
  • Automating Git Workflows
  • Using Git hooks
  • Basic CI/CD with GitHub Actions

Containerization With Docker

Introduction to Docker and Containerization

  • What is containerization?
  • Benefits of containerization
  • Introduction to Docker
  • What is Docker?
  • Key components of Docker: Docker Engine, Docker Hub, Docker Compose, Docker Swarm
  • Installing Docker
  • Installing Docker on Windows, macOS, and Linux
  • Basic Docker commands

Working with Docker Containers

  • Understanding Docker Images and Containers
  • Difference between images and containers
  • Creating, running, and managing containers
  • Dockerfile
  • Writing and understanding Dockerfiles
  • Best practices for creating Dockerfiles
  • Container Management
  • Starting, stopping, and restarting containers
  • Viewing logs and accessing container shell

Docker Networking and Storage

  • Docker Networking
  • Overview of Docker networking
  • Configuring container networks
  • Linking containers and communication between containers
  • Docker Storage
  • Managing data in Docker
  • Docker volumes and bind mounts
  • Data persistence strategies

Docker Compose and Multi-Container Applications

  • Introduction to Docker Compose
  • What is Docker Compose?
  • Benefits of Docker Compose
  • Defining multi-container applications
  • Writing a `docker-compose.yml` file
  • Managing multi-container applications with Docker Compose
  • Best practices for multi-container applications

Setup Test Environment With Vagrant

Understanding Vagrant

  • Overview of Vagrant
  • Installing Vagrant
  • Setting up the first Vagrant project
  • Vagrant Boxes
  • Configuring Vagrantfile

Provisioning with Vagrant

  • What is provisioning?
  • Automating setup
  • Networking concepts in Vagrant
  • Configuring network settings

Synced Folders

  • Understanding synced folders
  • Configuring synced folders
  • Multi-machine configuration
  • Managing multiple machines

Linux

Getting Started with Linux

  • Installing Linux
  • Basic Linux command-line usage
  • Navigating the file system
  • Working with files and directories
  • Using basic Linux commands
  • Understanding the Linux file system hierarchy
  • Exploring important directories (/bin, /etc, /home, /var, etc.)
  • File system structure and organization

User and Group Management

  • Understanding user accounts and permissions
  • Creating and managing user accounts
  • Managing groups
  • File permissions and ownership

System Configuration and Maintenance

  • Basic system configuration (network settings, date and time, etc.)
  • Package management using package managers (apt, yum, etc.)
  • Installing and updating software
  • Introduction to system updates and upgrades

User and Group Management

  • Understanding user accounts and permissions
  • Creating and managing user accounts
  • Managing groups
  • File permissions and ownership

Process Management

  • Understanding processes and process management
  • Viewing and managing processes
  • Process priorities and signals
  • Managing services and daemons

Networking Basics

  • Networking concepts in Linux
  • Configuring network interfaces
  • Network troubleshooting tools (ping, ifconfig, netstat, etc.)
  • Introduction to firewall configuration (iptables, firewalld)

System Security

  • Basic Linux security principles
  • User authentication and password policies
  • File system permissions and access control lists (ACLs)
  • Introduction to SSH and remote access security

System Monitoring and Logging

  • Monitoring system performance (top, htop, iostat, etc.)
  • Viewing system logs (syslog, journalctl)
  • Introduction to log file management and rotation

Linux Servers

  • Understanding Linux server roles (web server, file server, etc.)
  • Basic server setup and configuration
  • Introduction to server administration tasks

Bash Scripting

Introduction to Bash Scripting

  • What is Bash? - Bash vs. Other Shells
  • Getting Started with Bash Scripts - Creating and Running a Simple Bash Script - Script File Permissions - Using Shebang (`#!`)
  • Basic Script Components - Variables and Constants - Input and Output - Basic Operators and Expressions
  • Conditional Statements - If-Else Statements - Nested If Statements - Case Statements
  • Looping Constructs - For Loops - While Loops - Until Loops
  • Control Flow - Break and Continue - Functions and Subroutines

Working with Data in Bash

  • Text Processing - Reading and Writing Files - Using `cat`, `echo`, and `printf` - Understanding `sed` and `awk`
  • Regular Expressions - Introduction to Regular Expressions - Using Grep with Regular Expressions
  • Arrays and Associative Arrays - Working with Indexed Arrays - Associative Arrays - Array Operations
  • Error Handling and Debugging - Handling Errors in Scripts - Debugging Techniques - Using `trap` and `set`
  • Scripting with External Commands - Using `find` and `xargs` - Network Operations with `curl` and `wget` - Task Automation with `cron`

Scripting for Systems Administration

  • System Monitoring and Management - Resource Monitoring Scripts - Process Management Scripts - Network Configuration Scripts
  • Security and Permissions - Scripting for Security Audits - Managing User Permissions and Access Control - Secure Scripting Practices

Infrastruture As Code(Iac) With Terraform

Introduction to Infrastruture As Code(Iac)

  • Course Overview
  • Introduction to IaC
  • Getting Started with Terraform
  • Terraform Configuration Language (HCL)
  • Providers and Resources
  • State Management
  • Modules

Working with Cloud Providers

  • AWS with Terraform
  • Azure with Terraform
  • GCP with Terraform
  • Integrating Terraform with CI/CD Pipelines
  • Automated Testing for Terraform

Advanced Terraform Concepts

  • Terraform Workspaces
  • Provisioners
  • Terraform Functions
  • Handling Dependencies
  • Code Organization
  • Version Control Integration
  • Remote State Management
  • Security and Compliance

Container Orchestration With Kubernetes and Docker Swarm

Introduction to Kubernetes

  • What is Kubernetes?
  • Container Orchestration Basics
  • Kubernetes Architecture
  • Installing Kubernetes
  • Kubernetes CLI (kubectl)

Kubernetes Objects and Advanced Features

  • Pods
  • ReplicaSets and Deployments
  • Services
  • ConfigMaps and Secrets
  • Volumes and Persistent Storage
  • Ingress Controllers and Networking
  • Namespaces and Resource Quotas

Kubernetes Security, Monitoring and Logging

  • Authentication and Authorization
  • Security Policies
  • Secret Management
  • Monitoring Kubernetes Clusters
  • Logging

Introduction to Docker Swarm

  • What is Docker Swarm?
  • Setting Up Docker Swarm
  • Initializing a swarm
  • Adding and managing nodes
  • Swarm mode CLI commands
  • Services and Tasks in Docker Swarm
  • Defining services
  • Scaling services
  • Updating services
  • Tasks and Scheduling
  • Understanding tasks
  • How Docker Swarm schedules tasks

Advanced Docker Swarm Concepts

  • Networking in Docker Swarm
  • Overlay Networks
  • Creating and managing overlay networks
  • Service discovery
  • Routing Mesh
  • Internal and external load balancing
  • Using ingress and host modes
  • Security in Docker Swarm
  • TLS Encryption
  • Securing communication between nodes
  • Secrets Management
  • Storing and using secrets in services

Deploying and Managing Applications

  • Configuring Docker Swarm Services
  • Using constraints and affinities
  • Rolling updates and rollbacks
  • Deploying Real-World Applications
  • Multi-container applications
  • Using Docker Compose with Docker Swarm
  • Monitoring Docker Swarm
  • Troubleshooting Common Issues
  • Logs and diagnostics
  • Resolving network issues
  • Dealing with service failures

Continous Integration and Continous Deployment(CI/CD) With Jenkins and Github Actions

Introduction to CI/CD

  • Understanding CI/CD Concepts
  • Introduction to Jenkins
  • Installing and Configuring Jenkins
  • Jenkins User Interface
  • Introduction to Jenkins Plugins
  • Integrating with Version Control Systems

Building and Testing with Jenkins

  • Creating a Jenkins Job
  • Automating Builds with Jenkins
  • Automated Testing with Jenkins

Jenkins Pipelines

  • Introduction to Jenkins Pipelines
  • Creating Declarative Pipelines
  • Advanced Pipeline Features
  • Deployment Strategies
  • Deploying Applications with Jenkins
  • Jenkins Monitoring and Reporting
  • Securing Jenkins

Setting Up GitHub Actions

  • Getting Started with GitHub Actions
  • Basic Workflow Configuration
  • Building Applications
  • Testing Code
  • Workflow Secrets and Variables
  • Conditional Execution and Dependencies

Github Actions Continuous Deployment

  • Deployment Strategies
  • Deploying to Various Environments
  • Notification and Communication
  • Monitoring and Logging

Github Actions Security and Compliance

  • Security Best Practices
  • Compliance and Auditing
  • Troubleshooting Common Issues
  • Optimizing CI/CD Pipelines

Python Programming

Introduction to Python for Data Science

  • Importance of Python in data science
  • Overview of Python's role and applications in data science
  • Installing Python
  • Setting up Jupyter Notebook
  • Introduction to Anaconda

Python Basics

  • Variables and data types
  • Basic operators
  • Conditional statements (if, elif, else)
  • Loops (for, while)

Functions and Modules

  • Defining and calling functions
  • Function arguments and return values
  • Importing and using standard libraries

Python Data Structures

  • Tuples and Sets
  • Creating and using tuples
  • Set operations

Dictionary

  • Dictionary
  • Creating and manipulating dictionaries
  • Creating and manipulating dictionaries
  • Dictionary comprehensions

File Handling

  • Reading and Writing Files
  • Working with text files
  • Reading and writing CSV files

DevOpsSec With Sonarcloud

Introduction to SonarCloud

  • What is SonarCloud?
  • Setting Up SonarCloud
  • Projects and Organizations
  • Configuring Quality Gates

Analyzing Code with SonarCloud

  • Languages and Analyzers
  • Running Analysis Locally
  • Integrating with CI/CD Pipelines

Understanding SonarCloud Report

  • Interpreting Analysis Results
  • Using the Issues Tracker

Course Fees

DevOps

Cover every aspect devops modules

N600, 000

$600

3 Months

Enroll

DevOps + Web Development

Data DevOps + Web Development modules

N1000, 000

$1000

6 Months

Enroll Now

Frequently Asked Question

Q1. Why should I take your training?


Q2. How can I start?


Q3.Is the training practical and suitable for beginners?


Q4. Can I participate in the training programs remotely?


Q5. Is it necessary to bring my own laptop for the training?


Q6. Can working-class people take the training?


Q7. Is there installmental payment?


Q8. Will I receive a certificate after the training?


Q9. Do you provide support after the training?


Q10. Can I expect immediate job placement upon completing the training?