

Kubernetes (also known as k8s) is a tool to manage services and infrastructure from code, in script format and in an automated way, to make the deployment of all services. We have recently incorporated it into the Foxize Cloud systems infrastructure.
Internally, Kubernetes is made up of master nodes and worker nodes. The master nodes are those that control the deployment, scaling and monitoring of the applications that run on the worker nodes. In Foxize Cloud, we have the kubernetes cluster in Amazon Web Services (AWS). This way, our technical team launches an order and Kubernetes triggers a series of actions automatically.
This automation allows us, when there is a failure, to act much faster and without affecting the end user. For example, if there is an increase in load on the website, in many cases this would cause the server to crash and the website would not be accessible. Kubernetes anticipates this and automatically creates a new machine to support this load without the website going down. This function is called autoscaling and this allows us to react automatically to variations in traffic. As the load decreases, Kubernetes takes care of shutting down the excess machines, saving costs.
In addition, by having the entire Kubernetes infrastructure programmed in a code repository with the orders and the list of changes made, it allows the technical team to undo actions, reuse scripts and facilitate automation.
These internal changes have a direct impact on your training platform:
This last advantage is thanks to Grafana, a monitoring software installed in Kubernetes. Grafana offers us a visual dashboard of metrics for CPU, RAM, Disk, Storage, and much more. This allows us to have greater control of the platform and easily detect where failures originate from and act quickly.


