Economics of cloud computing

We have worked with startups to industry leaders in migrating their workload to cloud platforms. One of the basic questions clients ask is “Is it economical to run my workloads on cloud platform?” In this post I will share some of ideas about how to run your workloads more economically on cloud platforms.

Shared and standardised infrastructure

If your tech stack and infrastructure is not proprietary and is widely used in market then it is time for you to think about moving to a shared and standardized infrastructure. The cloud computing companies leverage the economies of scale to bring down the price of running workloads every year. They constantly innovate to bring down the processing cost, networking cost and storage cost. 

Pay as you go

Most businesses need an elasticity in resources where they can scale up whenever the demand surges and then scale down when the demand fades away. Retail clients we have worked with need high processing, storage and networking requirements only during the holiday and festive seasons and for rest of the year they don’t need that much processing power or storage or networking requirements. The cloud computing offers a way for you to reduce your CAPEX and invest that in chunks in OPEX. This will help you get the return on investment with less risk and possibly much quicker. I will also talk about committed use discounts at the end of this post and show you how it can help you.

The computing needs of companies are growing exponentially every year and it is tough to maintain frequent upgrades to the enterprise infrastructure without taking the applications offline. 

Processing power, storage needs and network bandwidth grows exponentially for companies.

Keep it light

This is the most expensive step that companies have to pay for when migrating their workload to cloud. Most companies have monolithic websites and bulk applications running on-premise. The architecture of these applications really make it very expensive to run the workload on cloud. There is no use in migrating the mammoth monolithic application to cloud. It won’t save money. Enterprises should re-architect their workload to run around a set of micro-services. These microservices must be very light weight that it has clear separation between computing and storage. It should not use local storage to store even log files and it should use cloud storage to store files uploaded by the users. 

The services should be so light weight that it can run on a container in a stateless mode while the state is maintained in specialized cloud services or databases. eg: session, cache can be moved to a different component in the cloud instead of keeping it sticky inside the container.

Push to client

Not all layers or components of the application need to run on cloud. You can run your workload on the client browser. Today’s browsers are very powerful no matter whether they run on mobile or tablet or desktop. In a typical MVC application all the layers Model-View-Controller run on the server and the browser get all the HTML tags and file ready to render from the server. In the modern architecture you can decouple the M,V and C and then build views using client side framework like Angular, Vue or React and shift much of the client side workload to run on the browser. The controller can just be a set of API that the Angular can call and get/post the data and validate it and save it to the database. This forces many companies to learn JavaScript or TypeScript and this learning curve daunts some companies. This shift from monolithic MVC to component based rendering requires significant rearchitecting of your application.

Process changes

The whole devops and testing processes need to be migrated to cloud. The non-functional components like security, logging, performance monitoring etc need to be moved to cloud as well. Cloud providers have specific set of services to for these non-functional requirements and the apps need to use them. The CI/CD pipeline needs to be rebuilt in cloud. If you have used standard set of tools instead of custom scripts then it may be easy to migrate them to cloud. The testing process should also be designed to be light weight that it does not require a dedicated server to run the test programs.

Committed Use

If the resource usage for some of your applications does not grow exponentially or if you can project the resource usage for future then you can go for committed use where you sign long term resource usage agreement to get the processing power, storage and networking at discounted price. Cloud computing companies provide you this committed use discount to buy only the processing power or storage or networking requirements or combination of these. Google cloud provides a very helpful tool that will recommend committed use that you can make use of to save money.

Migrating workloads to cloud require significant changes to your applications architecture. We can help you take the small steps into the world of cloud to help you leverage various resources on cloud and relieve you of operations burden and empower you to focus more on your business needs rather than your IT needs. Please reachout to us if you have any questions.

Other Articles

ASP.NET MVC Coding Flow

This is the workflow we follow at Knowillence for ASP.NET MVC screen coding. Step 1: Modify Model Open the model class in entity framework and add the decorators like the following to mark the validations and display details. [Display(Name = "Start Date")]...

From PHP to Python

I started my journey with PHP in 2016 when I began to explore developing applications on Google App Engine. At that point App Engine did not have good support for .NET so I was forced to learn another open source language and I chose PHP instead of Python since there...

What it takes to be a professional? – Part 2

This post is about what a mentor or manager expects from the professionals. There are six topics in total: Can he/she plan their work?Can he/she execute the plan?Can he/she organize their work products properly?Can he/she do it independently?Can he/she communicate...

H.Thirukkumaran is the Founder and CEO of Knowillence Pvt Ltd. He is an expert in emerging technologies like cloud, big data and analytics, blockchain and artificial intelligence. He is the author of the book Learning Google BigQuery.