Hosting web applications on Kubernetes (K8s)#
CISL provides the ability to host containerized web applications on K8s. Using K8s to host these containerized workloads offers advantages when it comes to ensuring applications have valid TLS certificates, adding DNS A records for the application, and providing highly available and redundant compute resources.
Why containers?#
Containers remove all the frills of a typical operating system and provide a place for an application to run with only the packages required for that application. This creates an efficient deployment that is typically faster and easier to share with others as dependencies are baked in to the image. It is platform and hardware agnostic leading to the flexibility to run wherever there is a container runtime/engine available to launch the container. When thinking about solutions for open science and open source software development containers are a solution that helps facilitate both in a very big way.
Why kubernetes (and what’s K8s?)#
Kubernetes, often referred to as K8s with the 8 simply standing for the number of letters being replaced, is a container orchestration platform. It was originally developed internally at Google and was release as open source in 2014. It has become the industry standard for container orchestration and all commercial cloud providers run K8s to help provide high availability and load balancing. For example, when a node or pod fails K8s will automatically reschedule where pods are hosted and spin up new pods to replace what failed. It does all this without manual intervention and, more often than not, without any interruptions to the services hosted on the cluster. New workloads can also take advantage of services already running on the cluster. Deploying a web application on Virtual Machines requires a lot of configuration to expose the application on the web. This can be sped up with Infrastructure as Code (IaC) tools like Ansible or Terraform for instance, but in K8s once you set up a reverse proxy or certificate manager new workloads can take advantage of these services without having to do a lot of custom configurations. Due to this resilience, flexibility, and the overall open source nature of K8s it is the ideal platform to host most CISL on-prem cloud workloads.