Introduction to cloud computing – Part 1
What is cloud computing?
Cloud computing, commonly referred to as the Cloud, is the delivery of computing and data storage infrastructure over the web. The cloud service providers provide the infrastructure to businesses over the web via their user-friendly dashboards and APIs, enabling them to host their services without the need to set up any sort of infrastructure on their premises.
The infrastructure made available to the businesses is typically application servers to run their apps, disk storage to store massive amounts of data, compute-heavy servers for rendering animation, running BigData analytics, scientific algorithms and so on.
All the information exchange between the business and the cloud provider happens over the web in an encrypted fashion via APIs (Application programming interfaces). We currently live 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, and 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 commutes, cloud kitchens, or others.
As the number of startups increases, there is an ever-growing need for the infrastructure they need to run their services. This requirement is fulfilled by the cloud service providers. The crux is that the cloud business is booming in today’s tech landscape and is expected to continue to grow at an unprecedented pace.
Illustration 1.1 - Cloud
Hosting on the cloud: The way forward
In the present state of the software development realm, I am yet to come across a developer who, after developing their app, says, “Hey, I’ve written this cool app. Now, I have to rush to the computer store, buy some bare metal servers, install Linux, and get them up and running. I guess I should set up everything in my basement. Right?”
Ideally, the next move after developing an app is finding the right platform to host the 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 platform’s APIs. This generally happens when using a PaaS (Platform as a Service) to run our service. PaaS is a cloud service model. I 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, hosting both startups and big enterprises simultaneously.
Businesses prefer to build their products from the bare bones to run on the cloud. Additionally, 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. In a later lesson, we will talk about what it means to be on-prem or on-premises. You’ll also be introduced to the different cloud deployment models.
Speaking of the big players in the cloud service space, like AWS, Google Cloud Platform (GCP), and Microsoft Azure, they have set up massive, highly resilient data centers across the globe over time. They can quickly scale with any kind of load using the plug-and-play commodity server approach. Over the years, these big companies have mastered the art of running and scaling the cloud infrastructure with minimum downtime.
Here are a few popular services deployed with cloud service providers that scaled with millions of users:
- Pokémon Go, the augmented reality mobile game that became a phenomenon, was developed by Niantic and hosted on the Google Cloud Platform. According to the Google Cloud blog, the game attracted a massive number of players, up to fifty times the anticipated traffic right after the launch. It had to scale exponentially to ensure a smooth gaming experience for the users.
- Fortnite by Epic Games is an online multiplayer game that runs on AWS servers handling a load of a whopping two hundred million players, according to this case study. Here is a fun fact: two hundred million is twenty-four times New York City’s population.
- Hotstar, a leading streaming media and video-on-demand service in India with over two hundred million users runs its services on the AWS cloud. In the latest edition of the IPL T20 Cricket tournament, the streaming platform was hit with 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 economies of scale. They run the services of so many businesses worldwide in their data centers that collectively, the cost of running a service for a single customer comes down significantly compared to the costs associated if the business self-hosts its service on-premises.
In case you are intrigued regarding 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, the history of the cloud, and how it all started.