If you want to sell something, the most important thing to focus on is the business model. And if you want to sell your products or services online, then you need a web portal that supports a business process that goes from taking the request,delivering the product and collecting the payment. Twenty years ago one would have to set up a technical team to manage all the computer infrastructure. However, that is no longer the case.
With Cloud Computing, you only have to subscribe to a service provider to obtain the hardware and operating system that your software needs. This lets you focus on the core business problem and not worry about computer infrastructure which will reside in a datacentre in your country or somewhere else. And the pricing for this mix of hardware product and service is based on how long the computers are used, the type of hardware and how much data is stored etc.. In other words, Cloud Computing brings the utility model to computer infrastructure: like electricity, we only pay for how much we use. Cloud computing business had a valuation of $370 billion in 2020 and it reflects how critically important Cloud Computing is to any business that uses software. Almost 50% of all corporate data is stored in the Cloud.
At the heart of Cloud computing are two vital technologies: “virtualisation” which lets computer resources be shared through multiple virtual machines; and “network” that lets data requests flow to and from the datacentre or the Cloud through the Internet. It needs to be noted that resource sharing and utility computing have existed in some form for many years. A good example is the IBM mainframe which accepted job requests and allocated computing resources. But the difference with Cloud computing is that hardware resources are distributed across multiple locations and there is a diverse choice of software that is available to consumers. Mainframes typically were high power computers but Cloud computing offers more computing power with commodity hardware and more choice of software pre-installed as per our demand.
This model of utility computing is called pay-as-you-go and it is the same principle behind Software as a Service (SaaS). With SaaS, a software user is charged based on how many transactions a customer makes and the volume of those transactions, instead of a flat fee. An example is Google Photos where a customer pays based on the giga-bytes that is required to store photos. Other popular examples are Zoho applications and Google Applications. SaaS model is now present in various complex businesses. Even Cloud Computing services like Amazon Web Services or Microsoft Azure, work on the principle of SaaS but because they offer Infrastructure, they are Infrastructure as a Service (IaaS) if we order hardware with minimal software, or Platform as a Service (PaaS) if we order hardware with more than minimal software installed on it.
When software is built and run on the “Cloud”, depending on where the servers (ie, the computer infrastructure) are located, the response time will differ. To provide quick responses especially when customers are present in multiple geographies (think Google or Amazon or IRCTC), it is prudent to host the Cloud in multiple locations. This is called Edge computing. By “Cloud” we refer to the same datacentre and network circuits that are used by multiple customers including possibly our business competitors. It is also called “public Cloud”. In contrast to this is the “private Cloud” where geographically distributed hardware are cordoned off virtually such that the computing resources are allotted only to one customer. A recent trend is to manage data security issues by using hybrid Cloud: the extremely vital, private information is stored in the private Cloud while the less critical data is stored in the public Cloud.
Cloud Computing unleashes unlimited computing resources and to use these resources to the fullest, new software development paradigms need to be adopted. For example, the recent trend known as “Cloud native development” is developing software that runs on multiple parallel threads or can automatically request for extra servers when demand is high and turn off servers when demand is low.
In order to automate launching new servers, managing them, running software in them, scaling them down etc. automation software like Terraform is used. These are called Infrastructure-as-a-service software. There are many solutions built around infrastructure – failing over to a back-up, spawn new virtual machines called containers and ensure High Availability etc.. These solutions all come under the umbrella called Devops (Development and Operations).
When Cloud Computing’s potential is used well, one can launch rich features faster and put customers on cloud nine.