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

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