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?


The course is built for people with previous technical background. Before applying to our course you should review the below list and make sure you have previous technical experience with at least 2-3 items:

  • 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?


Segnificant parts of the training will be done at home, alone or in groups. There are two main motivations for this:

  1. 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.
  2. 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.
So to finallize, YES! you will get homework and lots of it :)





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. Non of the partners' main business is training, and their participation in this project is voluntary. They are volunteering to assist those who would like to join the DevOps world and expand the community The fee will be symbolic up tp 1000NIS, as Earnest fees, no more. Nonetheless, we consider this a top-notch school and take this project very seriously. We would like to ensure that our students address it in the same manner.




What is the location of the course?


The course session will be held at the partner companies' home offices, Detailed location information will be given on registration. Note: During COVID-19 sessions will be held remotelly using Zoom.