Kubernetes

Kubernetes…?

Kubernetes is an open source container orchestration system for automating computer application deployment, scaling, and management. In tech word commonly knows as K8s and kube .It was originally designed by Google and publicly announced in mid of 2014. Red Hat was one of the first companies to work with Google on Kubernetes and has become the 2nd leading contributor to the Kubernetes upstream project. Well now K8s maintained by the Cloud native computing foundation.

How Kubernetes works?

Well we know we can deploy our application on a system so in early days we use physical method which is bare system then Virtual deployment came in the role and now days we uses Container deployment.

Containers are similar to Virtual machine , but they have relaxed isolation properties to share the Operating System among the applications i.e containers are considered lightweight. Container has its own filesystem, share of CPU, memory, process space, and more.

So k8s work on top of the container technology .A working Kubernetes deployment is called a cluster. Cluster is like a master node which is managed other compute nodes. Each compute node runs pods and pods is like container.

Why we need Kubernetes

Containers are a good way to bundle and run your applications. In a production environment but there is nothing who keeps eyes on container or manage them like if a application running on a container and some hot that container goes down so now Kubernetes comes to the rescue, Kubernetes provides you with a framework to run distributed systems resiliently. It takes care of scaling and failover for your application, provides deployment patterns, and more.

Key features of K8s

  • Service discovery and load balancing
  • Automated rollouts and rollbacks
  • Storage orchestration
  • Secret and configuration management
  • Automatic bin packing
  • Self-healing

Industry Use Cases of Kubernetes Case Study of shopyfi

2253 companies reportedly use Kubernetes in their tech stacks like Google, Slack, Shopify, Robinhood, Stack, The New York times and there are many more.

So here we are talking about Shopify that how they use Kubernetes……..

Challenge

Shopify’s website has a large and sudden influx of requests for sales campaigns. Flash sales typically run for a short period, like fifteen or twenty minutes. So, they need to scale fast but By the time auto-scaling ends and adding more capacity, flash sales may have already finished. Mainly because of the large and sudden influx of traffic requests they receive.

Solution

Shopify decided to building their own Platform as a service(PAaS) with Kubernetes as the foundation. Alongside these new initiatives the organisation had also decided to embrace cloud computing, and were keen to promote migration to their chosen cloud vendor, Google Cloud Platform (GCP)

The three principles were key to success in building there new infrastructure

  • providing a “paved road” — operating a platform that would by default meet a high percentage of use cases within Shopify, but also allow customisation if required
  • complexity should be hidden — there are advantages to knowing about the underlying platform, but many developers do not want to be exposed to all of the details of the internals
  • self-service is a priority — developers should not be bottlenecked by waiting for centralised operations or platform teams.

The Shopify team chose to build their PaaS on top of the Kubernetes container schedulers and orchestrator. Kubernetes had the best traction of the open source projects within this space, it was platform agnostic, it could be extended via the APIs exposed, and it was also offered as a service in GCP. This infrastructure helps alot Spotify to scale up their business.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store