This Applied DevOps training is a great fit if you have a background in software engineering, DevOps, data engineering or machine learning engineering, for example as starting data engineers. In order to get most value out of the practical part of the training, you should have some command line and Docker experience. Basic familiarity with Linux and the Linux command line is recommended, but not required.
During this training you will learn:
After the training you receive a Certificate of Completion.
This training consists of 4 Classes and the content of the classes is connected. Contact us for a tailored program.
During this lesson you will learn the fundamentals of Git, e.g. what makes up a commit, how Git stores files. You learn about branches, merging and rebases. These fundamentals will allow you to deal with conflicts in a more profound way. Furthermore, this lesson is filled with best practices and Git goodies like amending commits, committing single lines and cherry-picking. Understanding how Git works, allows you to fully unlock its potential, making you more productive at writing code.
We will also look at a way of working with Git in a production environment through the method of GitFlow. This paradigm for handling releases allows teams to grow bigger and isolates features, thereby reducing interdependency. Following GitFlow your team can release faster and more often. Finally, we will dive into Continuous Integration / Continuous Deployment, which connects to GitFlow, for always be releasing updates to your project in a controlled manner.
The training includes theory and hands-on exercises. After this training you will have gained knowledge about:
During this training you will become familiar with the world’s leading container platform - Docker. You will learn how Docker bridges the gap between operations and development teams and how Docker works ‘under the hood’. During the practical session you will build a small API that uses several Dockerized components. This practical session will teach you the basics of building Docker images and cover the most used Docker command line tools. During the training recommendations and best practices concerning using Docker for development and operations will be provided.
The training includes theory and hands-on exercises. After this training you will have gained knowledge about:
This training aims to give an overview of what Kubernetes does, how it works and how to use it in practice. It is part 1 of 2 courses on this topic.
First, we will discuss the core principles such as containers, clusters, container dependencies, image registries, deployments, load balancing, scaling, etc before going in more detail into the main components of Kubernetes clusters, i.e. (master) nodes, pods, services and replication controllers. We then move to more practical information about how to use the kubectl command line tool, writing specification files and the Kubernetes Dashboard.
After this theoretical overview we gain hands-on experience in a two-part lab session, in which we learn how to set up a local Kubernetes cluster and deploy applications in practice.
The training includes theory, demos, and hands-on exercises. After this training you will have gained knowledge about:
In the second training we aim to go deeper into specific tools that build on top of Kubernetes.
First, we discuss Package Management in Kubernetes using HELM. We explain the concepts of Charts, HELM Client / Tiller Server architecture and how to use them, together with Chart Repositories. Then, we go into Monitoring using Prometheus. Here, the concepts of Alerts and Targets are explained, the Prometheus architecture, its query language (PromQL) and how to use it in conjunction with the Grafana analytics platform. Next, we cover Istio, a Service Mesh, i.e. a distributed system of microservices. We delve into the fallacies of distributed computing that it aims to solve, its architecture, and core features. Finally, we will focus on Kubeflow, the Machine Learning toolkit for Kubernetes. Each of these tools is accompanied by a lab exercise that will give us some hands-on experience.
The training includes theory, demos, and hands-on exercises. After this training you will have gained knowledge about the architecture, usage and (dis)advantages of: