📄️ Microservices
As mentioned in the previous lesson, in the early days of software, applications were traditionally run on bare-metal hardware servers. Next, virtualized deployments with VMs were used. These solved the issue of portability somewhat, since you could package a virtual computer with a deterministic environment, and you could even install a few separate VMs on one physical computer to get more efficient bin-packing of app and resource isolation for security purposes. However, as previously mentioned, VMs are heavy - meaning they take up more system memory, hard disk space and CPU capacity. This never used to be a big issue since most applications were developed as monoliths.
📄️ Kubernetes Overview
Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
📄️ Up and Running
Time to get hands-on with Kubernetes.
📄️ Helm
As we see from the previous section, even for a very basic application, we begin to need many manifest files. For a large enterprise application this can grow enormously in which it becomes cumbersome to kubectl create (or delete) so many files. Similarly, we may need to create many of the same application but with different configurations. This is where Helm comes in.