There has been a trend for a while involving everything to "the cloud". Basically if you are not in the cloud, or preparing for the cloud, you are doing something wrong.
However recently I heard that companies are looking into moving away from the cloud. They are finding a hosting partner or are even going back to self owned servers and server rooms or racks in data centers. I was surprised by this information. Since I am aware of the benefits that working on a cloud based infrastructure would provide for most companies, especially in these times when working from home is encouraged.
After some digging and talking I found out that one of the main reasons is the feeling of having no control. These are supported by the fact that cloud hosting providers are able to discontinue services with the press of a button. The examples I was given were mostly about parler and gab.
Playing the devil’s advocate, I continued by stating that the companies in question did not provide a service or platform resembling gab or parler. And then it became apparent that they weren’t as much free speech advocates, but that they were genuinely concerned that the decisions of another company could have major disruptive consequences for their company.
- What if your cloud provider changes their license agreement, and you do not agree?
- What if your cloud provider decides that what your business does is “not ok”?
- What if your cloud provider changes the billing model?
Why move to the cloud
Of course there is a business case for moving to the cloud, the most heard reasons are:
- No more patching and maintaining your server park
- Easier network security on-side
- Disaster recovery
- High Availability
- Work anywhere on any device
- fewer Ops engineers
- Faster time to market
The problem as I see it
I think that one part of the problem, the companies, who are now getting worried, face, is an age old problem within the IT business: vendor lock-in.
The other part is data management, what data do we have, where is that data and can we always get to our data.
Remember the old days, when a company wanted to change their way of working, but you always had the problem with none portable databases and apps. Or even the Internet Explorer only web apps? In some cases you had the IDE, the JVM, the application server and the database from a particular vendor and even moving to a different JVM caused problems.
If you decide to go for a particular cloud provider and go all-in, you may be using all their service offerings.
So you are not just running applications on the provided servers, but you are also using their provisioning tools, their documentation offering, their CVS, their CI/CD pipelines, their database solutions, their monitoring solution, etc.
This practise is not per definition a bad thing, it actually makes some sense to use technologies that were developed to work together. It will make your initial migration and ongoing development a lot smoother.
However what does this mean when you want to switch to a different provider, or perhaps even move to a blended/multi-cloud offering?
What if you have mission critical data and can’t get to it, due to an outage or another reason. What if your new cloud infrastructure is more expensive than you anticipated and the credit card you linked to the account cannot cover it? Sadly the last one is one I encountered in the wild. The service stopped working due to the fact that the cc was maxed out.
The solution to both worries, vendor lock-in and data management, is roughly the same.
What should you do?
In the initial plans for making the big move, I think we should take a lesson learned from the "old world".
Before the cloud, if we had to develop a high available, fail-proof solution, what would we do? We would create a contingency plan. We would brainstorm about all the things that could happen, then based on the likeliness and costs involved in mitigating a risk, we would design a solution.
In practice this usually meant having servers in multiple data centers, data(base) backup, synchronisation and restore plans, multiple internet providers, etc.
And I think this is a healthy thing to also take this approach when considering moving to the cloud. The cloud helps us mitigate many of the contingencies we had to take into consideration before, but it also presents us with some new ones on a different level. Even services that provide 99.999 uptime, do go down, and when they do the impact is usually major.
What kind of questions should you ask yourself when considering migrating to the cloud:
What are the SLA’s of my cloud provider in case of an issue, and what are your own SLA’s? Do they align?
What if the cloud resources are not available?
What if I want to switch cloud provider?
The most important thing is to understand your current IT landscape, understand your needs.
Evaluate the various cloud offerings, determine which offering fits your organisation’s needs and your way of working. Determine a strategy on how you want to move forward and do a decent risk analysis and determine an exit strategy.
An exit strategy is like buying insurance, you hope you don’t need it, but if you do it is better to have one.
Should we fear the power of a hand-full of cloud providers?
No, but make sure you keep your options open.
Should we stay on-premise?
No, I do think that the cloud provides too many benefits for most companies.
We already moved to the cloud and now we are worried, is it too late?
No, it is never too late to start thinking about flexibility and contingency, although it is easier and cheaper to do it upfront.
Moving to the cloud is not a magical fix for all your IT related troubles!
Therefor take one step at a time.
If you want to start working agile, convert your monolith into a microservice architecture, switch your front-end to react, move your application to containers and switch your hosting model, that may be a bit much to do in one go.
Determine your goals, define the steps needed to get there and plan them realistically.
What is your experience?
- Do you feel that the fears some companies have are real, or are they just FUD?
- Did you(r company) do a move to the cloud and was it successful?
- What were your experiences? What would you do differently next time?
- Or is you(r company) planning on going to the cloud?
- What are the considerations?
- Is it a management driven choice or a technology driven choice?
If you read this and have an opinion I would love to hear it.
Any thoughts, please leave your comments on my LinkedIn post.
Who am I
My name is Michiel Blijleven, I am a software engineer and teamlead for the backend team at Techspire. I have been working in IT for about 20 years, mostly as a consultant. Not stuck to a specific language or technology, I am a jack of all trades.
See all Techspire blogs?
See all Techspire news?
Follow our LinkedIn page: Techspire LinkedIn