Virtualization isolates computing resources with hypervisor. This technology dramatically increases computing resource utilization. Containers isolates computing resources further, using technologies such as namespaces, cgroup and chroot. Containers share OS kernel. Containers are lightweight and by design ephemeral.
Running application in a container is very different from running on VM or bare metal. Containerization means a redesign of the release process of application. Operating containerize application is also more complicated. Orchestration platforms such as Kubernetes were created to manage the scheduling of containers, and how to integrate with runtimes, storage, networking etc.
In the time of containerization, building a platform involves building Kubernetes cluster for container workloads. In Kubernetes, a lot of concepts in traditional application deployment are abstracted into Kubernetes constructs, such as Deploy, Service, Ingress, ReplicaSet, StatefulSet, etc. This layer of abstraction makes application deployment highly automated and resilient. Along with the powerful features, comes with the complexity. For successful IT operation, it is about to find the right balance between them.
Read more about containerization:
- Kubernetes Networking Solutions Overview - Kubernetes networking involves a lot of details. We only discuss the plugins in this post. The most basic mode is kubenet. We use --network-plugin=kubenet with kubelet process to use it. Kubenet is not a CNI plugin, but it works with bridge, lo and host-local (CNI-compliant implementations). We can directly specify… ... Read moreKubernetes Networking Solutions Overview
- Kubernetes Storage Explained – from in-tree plugin to CSI - To support a variety of storage backend, Kubernetes abstract storage issues with several objects (volume, persistent volume, persistent volume claim, storage class) and adopts container storage interface. Unfortunately, the documents are not very well organized to deliver the idea of these concepts, most likely because features are introduced at very… ... Read moreKubernetes Storage Explained – from in-tree plugin to CSI
- Docker storage - Microservices are all about stateless and ephemeral workloads, and containers are great microservices. This may suggest that that Docker is all about ephemeral storage. In fact, Docker supports both non-persistent and persistent storage, such as database, kafka, etc. Non-persistent storage is automatically created, alongside the container and is tied to… ... Read moreDocker storage
- Docker components - The previous post about virtualization and containerization brought up some underlying technologies which Docker build containers on, including: namespaces - a Linux kernel mechanism to isolate resources. It allows a process to run within an isolated environment (mnt, pid, net, ipt, uts, user, cgroup)cgroups - a Linux kernel mechanism to… ... Read moreDocker components
- Host legacy application in Docker 2 of 2 - My previous notes include some tricks in hosting legacy application in docker. This is a continuation from that work, after 1.5 months... Use Case I decided to use docker to host application for a good reason, and let me start with what this Java-based application does as a single process.… ... Read moreHost legacy application in Docker 2 of 2
Contact Digi Hunch for Professional Services.