Cloud Computing Cost Benefit Analysis
“Unexpected kindness is the most powerful, least costly, and most underrated agent of human change.” — Bob Kerrey
There is a saying nothing comes free in the world. Though AWS provides Free Tier, which is very extensive; however, AWS Free Tier cannot be used as a production load. There are many possible advantages to transferring to a cloud platform, depending on how large and old the organization is. Any organization migrating to a cloud or start-up thinking to adopt cloud must undertake a cost-benefit analysis before taking the final decision.
The cloud may be a very cost-effective option. However, migrating to a cloud environment may not be the right choice if the organization is in tight regulatory constraints or if its existing applications are not ready for the cloud because of architectural coupling or not designed to be easily portable to a cloud environment. There may be other options, in that case, to migrate to a cloud such as a hybrid cloud or a private cloud.
Let's focus our discussion on the cost-benefit analysis of moving to a public cloud, as this is one of the main reasons the cloud computing paradigm has become so popular.
Table of Contents
Cyclical or Seasoned Demand
Some organizations have cyclical demand for more high-end resources to manage load peaks. For example, organizations in the e-commence domain tend to have more traffic during the holiday season. On the same token, news or media organizations also have a similar scenario where organizations' websites get more traffic if some newsworthy events happen. Generally, to handle seasonal or unexpected demand, organizations buy and maintain additional servers to make sure that their applications are scalable to distribute the load on these additional servers.
As you can see that organizations have two challenges here. The number one is an extra upfront cost of buying IT resources such as servers and then maintaining them. And the next is, it's a bit challenging to predict future traffic. In a growing business situation, they may have to keep buying and keeping additional servers each time to manage the new additional demand. Would that be enough? What if there are budget issues? What if the business scenario changed and traffic decreased– then, the bought servers would be sitting idle, and invested capital expenditure — also called CapEx– in purchasing those servers would provide little benefit to the organization. Managing scalability in an on-premises environment is like chasing a dog's tail from the capital expenditure perspective. There is a strong possibility of resources sitting idle in regular or off-peak hours. This discussion was from a CapEx (Capital Expenditure) perspective. Let's discuss this from an operational expenditure (OpEx) aspect.
Buying additional servers increase maintenance and operation cost as well. System admin or IT admin staff will require to take the work of maintaining additional servers. Organizations may have to hire and add more system admin or operations staff to manage and support additional servers. This would lead to an increase in operating expenses or OpEx.
We got an understanding of CapEx and OpEx challenges in an on-premises environment. Let's see how organizations can address the scalability issue (handling cyclical demand or unexpected demand that can pop up anytime in the case of news or media organizations) of managing demand in the cloud computing paradigm. Since the cloud platform provides virtually unlimited resources, organizations can seamlessly drive unexpected or seasoned traffic and pay for operational expenses (OpEx). As you can see that the cloud platform is handy in handling scalability issues just by paying for operations (operational expenditure). In fact, on the cloud platform, there is no capital expenditure for the deployed applications, as cloud providers bear the cost of setting up, running, and maintaining servers on their cloud platform.
Change in Focus
Even though there is no direct cost-benefit of change in focus, however, it's essential to discuss this aspect with respect to migrating to the cloud. Let's see the situation or environment before moving to the cloud.
The transition to the cloud for the organization, which has had an on-premises environment for quite a long time, may not be easy. Transitioning to the cloud may create uneasiness in employees who run and maintain systems. When the transition is made, their role will be more of overseeing the operation than direct involvement. And other employees and the department may also have similar uneasiness towards the transition to the cloud. Migration to the cloud in a rush may cause unhealthy environments such as productivity disruption, internal fighting, and employees leaving the organization. On the other hand, many other employees may be very excited and interested in the transition as they may learn new technology and new skills.
The most significant change that happens with respect to change in focus is employees would be more creative in doing proof of concepts type projects or taking new projects. Project managers would also find migration to the cloud much helpful as the IT resource needed for the development is much faster — in almost no time. All development engineers need is an AWS account and the necessary permission to access cloud resources.
Ownership and Control
Organizations in an on-prem data center scenario have complete control of everything — hardware, operating system, software, and data. This control is very advantageous with the freedom to manage every aspect of IT. However, in the case of cloud migration, the ownership and control parts are shared with the cloud provider.
Nonetheless, cloud providers such as AWS provide lots of flexibility in controlling the system and handling baseline security, which is better than data centers – which is, for the most part, about just renting rack space for servers.
In an on-prem data center environment, not only does the organization has in control of hardware, software, and data, but the organization has a predictable cost – the cost of physical IT infrastructure cost of running and maintaining the IT infrastructure. This predictability is changed totally in the cloud environment.
In general, the cloud is known for variable pricing – metered cost. This is because organizations pay based on the usage of resources. This variable or unpredictability type of cost may not be right for some finance or budget departments of some organizations. Nonetheless, cloud providers have different pricing options, such as reserved instances that can bring more predictability to the cloud expenditure cost (OpEx).
How Does Migrating to Cloud Help Reduce Costs?
In general, most of the on-premises are overprovisioned. According to one research (http://tsologic.com/resources/economics-of-cloud-migration-2017/) more than 80% of on-premises workloads are overprovisioned. There could be a reason behind that. Often, organizations buy server infrastructure to meet the demand of current workloads and the anticipated demands of future workloads. If the workloads need don't increase, the servers run as overprovisioned. This is not a good use of business capital, as you can realize.
When businesses move to the cloud, they can take advantage of its agility and flexibility features. The agility and flexibility lead to leaner delivery processes and thus help cut overall IT infrastructure costs. You can provision resources on-demand on the cloud – no need to overprovision. As the demand for workloads increases, you can provision more resources and de-provision if you don't need them. You can do it manually or automatically using auto-scaling and elasticity features to manage right-size provisioning automatically.
Essentially, a cloud platform can help run your workloads with the right-size infrastructure – no need to over-provision or under-provision the resources.
Utilizing Automation Strategies
Migrating to the cloud reduces the cost of setting up, running, and managing IT infrastructure by leveraging automation. For example, engineers can write scripts to automate backup, storage, code deployment, settings, and configurations. These automation tasks reduce the amount of human intervention needed and allow IT staff to focus on critical business priorities. This is one aspect of saving costs with automation – reducing human intervention. Another aspect of automation is dynamically provisioning and de-provisioning of needed resources — right size (no over-provision or under-provision).
Automation is a significant cost-reducing factor in the cloud. AWS has a vast source of APIs to automate almost most of AW'S services without managing them using AWS Management Console.
Reduce in Security and Compliance Scope
AWS has a concept of the Shared Responsibility Model. Regarding security and compliance, it means responsibilities are shared between AWS customers and AWS. When migrating to the cloud, this is excellent news as organizations' scope of managing security and compliance is reduced when moving to the cloud; for example, the physical security of IT resources is taken care of by AWS. However, in the Shared Responsibility Model, you still will have lots of control over customers' data and how it will be stored and encrypted — at rest or in transit.
AWS managed services — from database to analytic and logging and monitoring — provide significant cost savings when moving to the cloud. In addition, these services help reduce operational costs — coupled with the pay-as-you-go model, the managed services offer flexibility to businesses.
Let's take an example, suppose that you need to store master lookup tables data in an Oracle database with a maximum of 20 tables. If you were to compare it with buying an Oracle license just to store data for master lookup tables vs. using AWS RDS service – you would probably be inclined to use the RDS service. Cost savings from managed services are a significant component for many essential and ad-hoc type operations.
SK Singh is the founder, a software, cloud, and data engineer. He has been involved in the software industry for around 25 years. He has a bachelor's degree in computer science and engineering from India and a master's degree in software engineering from the Pennsylvania State University. SK has been involved in a wide range of software projects for many governments, private, start-ups, and large public companies in various software engineering roles. He has many professional certifications such as AWS, Hadoop, Kafka, Oracle, Unix, Java, Java-related frameworks, and many others related.