Hope you had a good read of the introductory blog of this series of Making sense of Cloud. If not, go here to start
We did a role play to understand the kind of issues an IT transformation project faces during its journey from inception to implementation to growth.
In this blog, we are going to figure out answer(s) to the question :
"How does the Cloud help reduce Total Cost of Ownership of the IT infrastructure?"
In the world of IT, the term TOC or Total Cost of Ownership is very commonly used term when it comes to estimating the full cost of implementing a given digital transformation project.
Read more about TCO here and reflect a bit on your own experience
If you think a bit more about TCO, it appears similar to the scenarios below :
- You are not an avid car enthusiast with limited travel needs. What should be your best decision?
Buy a car straight away or take car on rent for your sporadic travel needs?
- When you get pizza cravings would you go to the grocery store to purchase all raw materials, come back home and prepare the pizza painstakingly or simply ordering a pizza on a food delivery app?
The idea of Cloud computing is similar to the above 2 scenarios presented. Every cloud service provider is going to provide you a catalog of services available off the shelf which you can rent out and pay only for what you use.
This means the below :
- Somebody else owns the machines
- Somebody else takes the responsibility of maintenance
- No need to hire expensive staff
- Overall reduction in TCO. You own the process, not the infrastructure
Wow! Looks like this is exactly what we we wanted
So, is cloud that magic pill that kills your IT headache all together?
Well, as real as it gets, its not that straight forwarded.
There are several factors which come together to decide the level of dependency an organization would like to have on the Cloud providers.
- Scenario 1 : A company having an app which generates humongous amount of data at high speeds would need to write their own distributed computing software and would only rent network connected, bare metal hardware hosted on a network of machines. Ex. Uber, Amazon, Twitter
- Scenario 2 : A company having lot of regulations around security and sensitivity of data. Ex. Banks and Insurance companies. They simply can't put their databases on cloud straight away. They need to choose cautiously what applications they can host on cloud and what needs to stay on-premise
- Scenario 3 :. New age startups who would happily go for cloud services which keeps their operating costs low. If that means hosting their entire application as well as data on remote servers, they are fine with it.
Considering the various kinds of dependency organizations would like to have on the cloud, leading service providers offer entire suite of services which could fit for most needs.
These offerings come under with the tags of SaaS, PaaS, IaaS etc.
In order to best make sense of the above jargons, I would like you to have a look at the below image and then head over to this article which explains which this brilliant analogy of pizza service.
Hope, you can now connect to the 3 scenarios I presented before.
- Traditional On-Premises set up is fast vanishing out of the IT landscape. Nobody likes to have large CAPEX (Capital Expenditure).
- Companies like Uber, Amazon would be a great fit for IaaS as they'll mostly need ready, connected machines to build their solutions on
- New age startups like Myntra, Dunzo etc. may also go for PaaS as they build working data and deployment pipelines using services directly from AWS, Azure or GCP.
- SaaS is what these companies build using the cloud services. The startup themselves are Software offered as an app service. Ex, all commonly heard startup labels ex. Lyft, Uber, Byjus, Flipkart, Dunzo etc.
In short, cloud offers every kind of service which could accelerate your app building process by offering computing capability on demand.
However, its not just the computing which makes cloud service providers an appealing choice. There are a host of add-on services offered which takes away a lot of pain points in an enterprise set up.
Following are the pain points I was talking about :
- Fault Tolerance : What if your on-premise set up is physically located at a single place? Any unwanted incident which causes disruption of the machines would lead to total black out of the application! In addition, back up & replication is another feature which cloud services provide to add resilience to the system
- Global Scalability : Your startup got recently funded with Series B and you are seeing accelerating global demand. How do you ensure your app gives the same smooth experience from every corner of the planet. You would need services which could auto replicate and auto scale.
- Enterprise grade Security : In today's world of frequent cyber attacks on systems and auditory compliances, organizations need to implement company wide authentication, authorization and license/certificate management systems. What if this is also offered by a cloud service provider?
To summarize, Cloud computing services offered today provide a complete 360 degree solutions to build, scale and maintain highly resilient applications by helping you optimize what part you own and what you use as a service on rent.
There is a big hidden reason which not many relate to. The barriers to exit. For Cloud computing solutions, both the barrier of entry and exit is low. The day the business shuts down, all you need to do is to shutdown the cloud services, archive/delete and exit. No charges from the next day!