When I talk to colleagues, partners and customers in this age there are not a few who say that their company is going “all in” into the cloud. Faster, cheaper, more dynamic. It is just better. Migration to the cloud will take some time but they have started the process and it looks “good”. But then after some time some of them find challenges. And now some are changing this policy back to the former.
When you look at this, hasn’t it always been better not to go all in? Hedging your bets has in the past several years been a better strategy. Looking at outsourcing and insourcing, Centralization of Applications and services vs. decentralization or moving everything to a distributed platform abandoning the mainframe. All of those strategies find their optimum in the middle and not in the extreme. From my point of view the same is true for OnPremise and Cloud Hosted Infrastructure. Each of the extremes has its advantages and disadvantages.
Seeing the good in both worlds
Cloud and OnPremise. If we look at the 2 options, what advantages do we see?
Advantages of a cloud environment
- If you ask most of the people out there, one of the main advantages is the flexibility of the cloud. You can grow and shrink the company’s compute power however you like. Usually there are no constraints. This makes it especially beneficial if you don’t know what you need or if the requirements can change quickly. Starting a new service for customers is usually combined with the lack of understanding how it is perceived in the market and how much it is used.
- Speed is also important for the startup of new projects. Adding a new environment to start developing a new project seems to be quite easy if you have your development environment hosted in a cloud environment. Just add the credit card infos and you can get working.
- This also points to the ease of getting a new environment started. The processes are normally very well structured and integrated and supply the needed infrastructure in a very short period of time.
- Not only that the company can outsource the infrastructure into the cloud it can also outsource the needed workforce. Growing and shrinking the workforce is also a time consuming part which makes growing and shrinking the overall infrastructure complicated.
These are several very tempting advantages of a public or dedicated cloud infrastructure.
Advantages of the on premise infrastructure
Looking at the OnPremise Cloud there are other advantages.
- When it comes to regulatory requirements the OnPremise infrastructure is handled differently. The requirements are most of the times easier to fulfill. The administrators handling the operational tasks are part of the company and therefore no extra precautions need to be taken.
- If you look at the earnings from the typical cloud providers they are mind blowing. For example AWS had 19.7 billion revenue with 5.7 billion $ income in Q2 of 2022. This money comes from customers using the cloud services. This means that there is a huge potential to realize parts of these results if you supply such a service inside of the company. Mainly the cloud services have a consumption based usage model. That means that you spend money for every minute the compute nodes are used. If you use those components 24-7 then the picture of price advantage changes. The OnPremise cloud is usually good at providing the base level of needed compute power to a sensible price.
- Customization is a difficult task in a standardized cloud environment like Google, AWS and Azure. The OnPremise infrastructure is able to focus on the competitive advantages coming from customized development- and deployment-processes. In this environment it can be easily decided to integrate external services into your overall platform or enhance your services with external applications which might not run in a specific cloud.
- Most of the companies and their applications do not start in a green field situation. They have a customer base and with them data. Transferring huge amounts of data from one environment to another is very costly especially in the cloud and with it making a change is costly. So the advantage of the OnPremise cloud is that it supplies data independently of your chosen cloud provider. And the transfer costs of moving that data to another cloud is relatively cheap.
- As we have seen in our current world, depending too much on external factors and supplies can be a critical factor. Supplying services within the company for business critical services can be a choice to make sure those services are available however the circumstances.
- The usual cloud service offers a plethora of services. Some of the times those services are only available in that specific cloud. To use those services makes a company dependent on that specific cloud and reduces the ability to negotiate prices in the future. The on premise cloud does make a company more independent if integrating external services is done via a standardizing api platform. Thereby decoupling the implementation of that service from the usage of it.
- What happens when the cloud seizes to work even for a fraction of time. Who is responsible? Who pays for the damages? Who makes sure the environment is set up correctly afterwards? As the on premise cloud is completely in the hands of the company those are all services the company can define in their own SLAs and usually have procedures in place to recreate the environment.
- When using an external cloud service business critical know-how like operational know-how is also externalized. What if due to contractual obligations you need to change to another cloud? Is that specific know-how also transferred to the new cloud? Is the new provider willing to provide the same services? In the OnPremise environment you handle all of those operational tasks and keep the skills active and alive in the company.
Meeting in the middle
There are advantages for both options. Given its cloud strategy each company has to evaluate each of those advantages. How independent do they want to be? How much money is that independence worth? Can they realize parts of the extraordinary earnings of cloud providers within their own organizational structure and processes. Some companies might need to overhaul their internal processes and structure it for the use of the cloud. On the other hand can they make their infrastructure as dynamic as the cloud is?
A solution to this problem needs to take the advantages from both options and combine them into one solution.
The following graphic shows a sample workload pattern.
In this graphic the computational load is pictured. There are seasonal bursts of load and there is an overall growth of the platform. As stated the OnPremise cloud is very good at providing a base level of compute power. But most of the times when growth is needed the time to acquire new server hardware and installing it into the OnPremise infrastructure takes a lot of time. If we look at the seasonal peak if done only OnPremise you need to have a lot of hardware installed just in case it is needed. This is a perfect use case for the cloud. There you can easily grow and also shrink based on the necessary workload and the cost of that addon services is consumption based. And on the other hand if systemic growth is seen then you can start the process to acquire new hardware. During this process you can use the cloud environment to provide the computational power until the server has been installed and is available on your OnPremise platform.
Currently the migration of load to another cloud and back to the OnPremise cloud is mist likely done in an per application way. In the future the deployment will change from application based to a more services oriented deployment model. With this comes the option to push services dynamically into the cloud making this model a lot easier. For a further view onto this service deployment model have a look at this blog entry ( https://www.opensourcerers.org/2022/08/08/the-datacenter-of-the-future/ ).
When a company looks at its cloud strategy the on premise environment is not a thing of the past. It is not the only environment in the future but still a very important one. If the advantages of both options are taken into account a more flexible, cost efficient, secure environment can be created which is ready to take on every obstacle that might arise in the future and dynamically can wander between the 2 extremes.