Monolith to Microservices: Why Kubernetes on Cloud?[Business Need]

Saving money

Overview

The software industry or in fact any industry is governed by only one rule: profit. To make a business profitable you can do two things:

  1. Make more money by selling more
  2. Spend Less on every sell

While the first gives you growth, the second gives you margin.

How and why Kubernetes

There are hundreds of reasons why one should move to cloud and use kubernetes. Most of the blogs you find online would talk about only the technical problems k8s solves. However, I believe Kubernetes is gaining momentum not because the problems it solves at the technical front but the scale of cost cutting it provides at the business front.

Explaining need by example

Let us take a hypothetical use case which a VP or folks from senior management can understand.

TradeStok Ltd. is an investment consultancy firm which provides a platform for individuals to make an investment in various schemes like Mutual Funds, Fixed Deposit etc. It also provides TradeStok coins which are similar to a cryptocurrency(not really) that users can buy and sell in real time.

TradeStok maintains its own datacenters and manages its own servers. The trend of the user accessing the platform and making investment is well analysed. Every 1st week of the month the traffic to the server increases by 10x. During festivals like Christmas and Diwali when the country’s workforce receives bonuses the load on the server increases to 25x. During holiday seasons the load on TradeStok coins server increases to 200x.

Since TradeStok does not want to lose a customer they have decided to scale their servers to handle the peak load. While they made a good profit during holidays, the overall business started plummeting after January. They came up with a plan of buying/leasing servers before holidays and reselling them afterwards. This strategy has itself produced 2 big challenges:

  1. The cost of servers devaluates to 70% after use
  2. Finding buyers is very difficult

Some other challenges they face are:

  1. Expenses in the Audit Process
  2. Security check
  3. Cost of maintaining a support team
  4. Transportation
  5. Complying with Regulations

and many others.

They are burning more % of the money on maintenance of their servers than they used to do when their business was 10 times smaller.

Although the revenue is increasing the profit % is decreasing every day. As a result, the management is forced to look at cost-cutting options.

Bam! Here comes the need for kubernetes on cloud. All(Okay I go carried away, let us say most) of the problems listed in preceding sections can be solved by using kubernetes on cloud. How? Let us investigate two of them.

Challenge 1: Scaling servers

With K8s you can spin up multiple server instances in seconds. This can be done dynamically by setting the auto scaling configuration against the average load on a server. However, this still does not solve the problem of maintaining the underlying infrastructure. If TradeStok starts using cloud infrastructure let us say AWS then the burden of maintaining the infrastructure with huge investments is mitigated. Platforms such as AWS or Google cloud provide node auto-scaling feature i.e. more machines are added to existing infrastructure as the load increases.

Therefore, the challenges pertaining to scaling up servers, scaling them down, maintaining them during the idle period, finding buyers is all solved.

How would this look in numbers? Let us see. Assume that the company spends $500k per month for an infra which can support the peak load. During non-peak seasons the infra required costs only $50k per month. Assuming that the peak season time duration is anywhere 10–30 days, let’s say one month. The actual infra cost should be $50k x 11 + $500k x 1 = ~$1m but the company is spending ~$6m in one year.

Even if the cost of cloud infra is 2 times the effective infra cost would be:

$50k x 2 x 11 + $500k x 2 x 1 =~$2m. So, the company would save $4m on infra maintenance.(Shocked? You better be!)

Challenge 2: Security and Audit

Since the company has deferred the maintenance of hardware infrastructure to the vendor, the headache of conforming to infrastructure security and regulatory compliance would be taken care of by the vendor. Not only that but the regulations which force companies to upgrade the hardware(to avoid any hardware-level security issues) are no more problems of TradeStok.

Now the company has to spend its resources only on the software and business audits. A company of this size would usually spend several thousand dollars on an audit. So using k8s on cloud would save the company a big piece of gold.

Summary

Any big company which needs to scale its infra on demand is better off using k8s on cloud.

What’s is next

In the next story, I will talk about the technical need of k8s on cloud. Post that I will start writing about the challenges of migration. Stay tuned!

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

How to remove shortcut arrows from shortcuts using a simple step

Veeam Backup & Replication: A VMCE Preparation Guide

Data structures and algorithms problems in C++ using STL

macOS Monterey upgrade on MacBoook Air 2017 for flutter and mobile app developer.

Load files into Bigquery with Pubsub in Cloud function

Deploy pyramid, flask or django application on Google Cloud Compute Engine Instance using Apache2…

Deploy django, pyramid, or flask in Google compute engine using apache2 and mod_wsgi

This Week In TurtleCoin (June 17, 2019)

Local Tech Initiatives We Support at Hack Upstate

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
Sinha Software Solutions

Sinha Software Solutions

More from Medium

AWS S3 Same Region Replication (SRR)

AWS S3 — Same Region Replication diagram

Spring Cloud Gateway with logs

Runtime Control: Why I Joined Glasnostic

Headshot with computer code by @markusspiske

OpenID Connect: Authentication between AWS and Bitbucket