In a world where every idea is a potential innovation, and every innovation has the power to reshape our future.
A great example of such innovation is LLMs. Large language models are machine learning models that can comprehend and generate human language text. Example: Open AI's ChatGPT and Google's Bard
But Have you ever wondered? How are these systems stable and highly available irrespective of High DAU ( Daily Active Users )? Hmm, the answer is they are Stable because of their Scalable Architecture.
Okay !! Then what about cloud computing and its relevance to the above example?
Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing. Instead of buying, owning, and maintaining physical data centres and servers, you can access technology services, such as computing power, storage, and databases, on an as-needed basis from a cloud provider like Amazon Web Services (AWS), Google Cloud, Oracle, Azure, etc.
Let's say on Friday that there is a spike in DAU for a chatGPT. But openAI only provisioned 10 highly capable servers ( EC2 instances in AWS). 10 servers usually do the job for constant traffic. But because of the sudden spike, 10 servers are not sufficient to handle this spike. So what happens? many users will experience page crashes, or their query may result in some 5xx error.
Now, OpenAI Engineers want to Handle this scenario. They decided to add more servers based on traffic. Okay fine !! Do they need to provision more servers along with 10 manually, let's say another 5-10, or should they provision an unknown number of servers automatically based on increasing traffic?
They can't predict the traffic, so they can't judge how many servers they need. So here is the Auto Scaling group ( which scales the ec2 instances based on traffic; we can configure the trigger for scale and assume the trigger is inbound traffic ). Cloud computing delivers ec2 instances/servers on demand to accommodate traffic. This applies to every resource provided by various cloud providers. They provide resources when we need them. We only pay for it when we are using it. So OpenAI can maintain 10 servers minimum. And they provision more servers automatically to accommodate the load, say a maximum of 50 servers. When spikes drop, newly provisioned servers will be terminated and returned to normal count (i.e., 10 ). Running 50 servers during a spike and 10 servers in a normal load saves a lot. So by Leveraging cloud computing - Organisations scale and control their resources ( storage s3, database RDS, elastic cache, CloudFront CDN, SageMaker - service for deploying ML models in AWS ) and provision them whenever they need and terminate them at ease. We do not have to manage infrastructure, and we pay for what we use.
How Can we Leverage Cloud Computing?
We can leverage Cloud computing in many ways. Some General use cases are Backup and Disaster Recovery and migration from on-premises data centres to the Cloud. Testing mobile applications and training / deploying machine models and serverless functions ( lambda ), using a content delivery network ( CloudFront) for better user experience and for giving personalised recommendations to your customers based on your industry and many more.
What are the advantages of using Cloud Computing?
- The cloud provides seamless access to an extensive array of technologies, enabling you to accelerate innovation and bring virtually any idea you can conceive to life.
- you can deploy your website / ML model within minutes, and your infrastructure will scale. You can try out new things to enhance your business
- As discussed above in the example, cloud computing will help you provision the correct/required number of resources. So you don't need to over-provision or under-provision any server/capacity. It scales and adapts to changing business needs
- Cost Savings
- The cloud allows you to trade fixed expenses (such as data centres and physical servers) for variable costs and only pay for IT as you consume it. Plus, the variable costs are much lower than you would pay to do it yourself because of the economies of scale.
- Economies of scale: By using cloud computing, you can achieve a lower variable cost than you can get on your own. Because usage from hundreds of thousands of customers is aggregated in the cloud, providers such as AWS can achieve higher economies of scale, which translates into lower pay-as-you-go prices
- Go Global in Minutes
- You can deploy your applications in minutes in multiple regions. Deploying your application in multiple regions will reduce latency and have a good user experience. For Example, News Industry/blogs can leverage cdn by caching at various AWS edge locations. This makes your content delivery mechanism a top-notch mechanism.