Introduction To Cloud Computing – Part 1
What Is Cloud Computing?
Cloud computing, commonly referred to as the Cloud is the delivery of computing power over the web. This means the cloud service providers provide the infrastructure to the businesses over the web via their user-friendly dashboards & APIs, enabling them to host their service without the need for setting up any sort of infrastructure on their premises.
The infrastructure that is made available to these businesses is typically web servers to run their apps, disk storage to store massive amounts of data, compute-heavy servers for rendering animation, running analytics on Big data, running computational heavy scientific algorithms & so on.
All the exchange of information between the business and the cloud provider happens over the web in an encrypted fashion via an API. We live today in an API driven world. Everything is API driven and is available as a service powered by an API. There is even a term for this Everything as a Service.
In today’s tech landscape, there is a surge of as a Service offerings like Analytics as a Service, Blockchain as a Service, AI as a Service, Games as a Service, Payments as a Service, Monitoring as a Service, Notifications as a Service & so on.
Today, most of the world is online, and the part that isn’t will eventually be online. And as the consumers move online, the businesses follow. There is a surge in the number of web-based startups emerging in every niche, be it mobile gaming, e-commerce, daily commute or any other.
And as the number of startups rises, there is an ever-growing need for the infrastructure they can use to run their services on. This requirement is fulfilled by cloud service providers. So, the gist is, in today’s tech landscape the cloud business is booming and is expected to continue to grow at a rapid pace.
Illustration 1.1 - Cloud
Hosting On The Cloud – The Way Forward
In the present state of the software development universe, I am yet to come across a developer who, after developing his app, is like, “Hey, I’ve written this cool app. Now, I have to rush to the computer store, buy some bare metal servers, install Linux, get them up and running. I guess I should set up everything in my basement. Right?”
Well, ideally, our next move after developing our application is finding the right platform to host our app. We browse through the web looking for the right cloud platform that fulfills our infrastructure requirements and, of course, fits our budget.
On the contrary, we sometimes even pick the platform or the cloud product first and then build our app using the APIs of the platform. This generally happens when using a PaaS (Platform as a Service) to run our service. PaaS is a cloud service model; we will discuss it in detail in the upcoming lessons.
Cloud Service Providers
So, as the cloud service industry expands, the cloud service providers continue to onboard more and more businesses on their platforms having both, the startups and the big enterprises simultaneously.
These businesses prefer to build their product from the bare bones to run on the cloud. And those that are running legacy workloads on-premises are either planning or in the process of migrating to the cloud with the technical assistance of the service providers.
Speaking of the big players in the cloud service space like the AWS, GCP (Google Cloud Platform), Microsoft Azure, they have set up massive, highly resilient data centers across the globe over time. They can scale with any kind of load pretty quickly with the plug and play commodity server approach. Over the years they have really mastered the art of running & scaling the cloud infrastructure with minimum downtime.
Here are a few popular services that scaled with millions of users, deployed on the cloud platforms of these service providers:
- Pokemon Go, the augmented reality mobile game that became a phenomenon, was developed by Niantic and hosted on the Google Cloud Platform. According to Google Cloud blog, the game right after the launch attracted a massive number of players up to 50 times the anticipated traffic and had to scale exponentially to ensure a smooth gaming experience to the players.
- Fortnite by Epic Games is an online multiplayer game that runs on AWS servers handling a load of a whopping 200 million players (according to this case study). Fun Fact - 200 million is 24 times the population of Newyork.
- Hotstar, a leading streaming media & video-on-demand service in India with a user base of over 200 million users, runs its services on AWS cloud. In the latest edition of IPL T20 Cricket tournament, the streaming platform received record traffic of 10.3 million concurrent users smashing its previous record of 8.26 million concurrent users. Here is a post on it that I’ve written on my blog.
These cloud providers have achieved the economies of scale. They run the services of so many businesses around the world in their data centers that collectively the cost of running a service for a single customer comes down significantly in comparison to the costs associated if the business self-hosts its service on-premises.
Just in case, if you are intrigued about how data centers operate, here is a video of Google giving an internal tour of their data center on Youtube.
Let’s carry this discussion forward in the next lesson where I talk a bit more about the cloud service providers and the history of cloud, how did it all start?