Intro To devOps
DevOps or as some call it NewOps or CloudOps, in more than a Buzz word.
A DevOps Engineer spends most of his time writing code and automation tasks rather than perform manual operations. A DevOps Engineer uses code and configuration management tools to automate provisioning and configuration of infrastructure, and develops tools and automations that enables the developers to operate, control and monitor their own software in production.
Does that mean that a DevOps Engineer doesn't need "old" OS skills, and infrastructure knowledge?
Definitely not!
It just means you will need to acquire a whole new set of skills such as coding, automations, and a different perspective of a production environment.
We are here to help you do just that.
You can find information about the the different skills you will acquire during the course in the Course Syllabus below, and if you have any questions read our FAQ or Contact Us.
Course Syllabus
DevOps Culture
-
What is this DevOps? -
Why DevOps? -
What is Cloud? -
The role of Ops in the DevOps world
Cloud Infrastructure
-
Introduction to AWS and AWS console -
VPC and networking Basics -
Working with Subnets, NATs, IGWs etc. -
IAM Roles and Policies -
Introduction to AWS Elastic Compute (EC2) -
Security Groups -
EBS (Storage) and S3 -
AutoScaling Groups -
Cloud infrastructure automation with Hashicorp Terraform
Coding in Python
-
Gaining proper coding standards & practices such as Code Review, CI, DRY (code reuse), Single responsibility, Readability, Testing and much more. -
Hands-on git + Github coding workflow: -
Branching, committing and pushing code the right way -
Using CI as a basic tool for rapid development and introducing short change cycles -
Using code reviews as a primary source for self improvement throughout the course
-
-
Hands-on Python experience writing code that: -
Retrieves and updates data of cloud based HTTP APIs -
Runs complex web applications with rich data structures -
Provide CRUD operations on database based applications -
Creates rich Command Line Interface (CLI) tools that provide better developer experience.
-
-
Handling Exceptions -
Unit Testing
Configuration Management
-
Infrastructure as code using Ansible -
Introduction to Ansible -
Ansible modules -
Ansible Playbooks -
Ansible Roles and Ansible Galaxy -
Ansible best practices
Containers
-
Why and what are containers? -
Containers concepts -
Containers basics -
Docker Containers -
Docker components -
playing with docker command line -
DockerFile basics -
Docker HUB -
Docker volumes -
Docker networking -
Configure Private registry -
Docker API
Container Orchestration
-
What is container orchestration and why do we need it? -
Leading Orchestrators -
Introduction to Kubernetes (K8s) -
Master, Minions Kubelets and more
-
-
The K8s Controllers -
Pods -
ReplicaSets -
DaemonSets -
Deployments -
Services -
Ingress Controllers -
AutoScaling
-
-
CoreDNS and kubernetes service discovery
CI/CD Piplines
-
What are Continuous Integration and Continuous Delivery / Deployment? -
Why do we need them?
-
-
Tools - Jenkins -
Building pipelines -
Working with Groovy and parallel executions -
Working with Jenkins agents -
Working with Containers and Docker -
Working with GitHub and GitFlow -
Integrations and Plugins for speed and visibility
-
Monitoring and Alerting
-
What to monitor? -
Push vs. Pull -
Agent vs. Agentless -
Prometheus and Grafana -
Installing and configuring -
Collecting metrics -
Manipulating metrics data (working with statistics) -
Creating Dashboards -
Creating thresholds and Alerts
-
Data Systems and RDMS
-
Introduction to data systems -
RDMS - MySQL -
Describe the MySQL Architecture -
Install and upgrade MySQL -
Configure MySQL server options at runtime -
Understand the use of the InnoDB storage engine with MySQL -
MySQL HA/DR configurations
Frequently asked questions
General
What are the course's techinical prerequisites?
-
Experience with System administration (Linux or Windows, Storage, Databases, Network) -
Basic scripting programming or any development experience -
Basic networking knowledge -
Hands-on application configuration and troubleshooting
-
Passion for technology and analytical skills -
Familiarity with basic monitoring principles
Will we get homework during the course?
-
All of our instructors work full time as engineers in their companies, and we would like to make the best use of their time. They will be there for you, but you will have to do much of the work yourself. -
This is what happens in the real operations world and we want you to experience how DevOps engineers works in reality. You will have guidance from our managers and mentors but self learning is a must, and constant learning is part of the fun of DevOps.
Course Logistics
How long is the course?
The course is 5-6 months long
At what times will course sessions be held?
Sessions will be held once a week between 18:00 and 22:00
How much does the course costs?
Making money is not one of our goals for this project.
What is the location of the course?