Choosing what to move up to the cloud is a tough decision that comes up regularly in current times. If you talk to someone who has something to gain by you moving there (Microsoft, Amazon, Google, ancillary add-ons for those vendors, etc.) the answer will most likely be: “MOVE EVERYTHING! Not only should you move everything, you should have moved everything three years ago, you are SOOO far behind! You’re completely failing your company at IT and preventing it from being successful! You’re basically throwing stacks of hundred dollar bills onto a bonfire!”
Okay, that might be a slight exaggeration.
Conversely, if you talk to people who have something to gain from keeping you on premises (HPE, Dell, or any other range of storage vendors) then you will be told you should keep almost everything on premise and only put a very few things up in the cloud.
So who’s right? Well, for some companies, moving everything does make sense. For other companies, moving almost nothing makes sense, and finally for most companies, landing somewhere in the middle is the proper approach. Let’s explore what really needs to go into that decision.
First, there are a lot of different ways that you can put something into the cloud. In our previous blog, we talked about the differences between Infrastructure-as-a-Service (IaaS), Software-as-a-Service (SaaS), and Platform-as-a-Service (PaaS). These differences are important and play a big role on where money and labor will actually be saved in the long run.
For example, were you to simply use an IaaS vendor, build an Exchange server in the cloud and then do everything exactly the same as you would on premises, it will with almost certainty cost your company a LOT more money. Now you’re still fully managing the server and you’re paying monthly IaaS fees for what’s often not a small one. However, if you move that to a SaaS model (Office 365), then you’ll definitely save money compared to running it in IaaS and you’ll almost certainly save a decent amount of money vs running it on premises. You’ll definitely enjoy less administrative overhead than you would were you fully managing Exchange.
As you can see, it’s very important to keep in mind not just whether the application makes sense to move to the cloud, but in what WAY you’re moving it to the cloud. The difference between IaaS and SaaS from the same vendor can drastically change the costs and labor associated with moving to the cloud.
So which applications make sense? Well, it largely depends on what applications that you use and how geo-diversified your company is. For example, does your organization have public web servers for clients or partners? Are those servers vital to your business functionality? It may make sense to put those (and the respective back-ends) in the cloud to allow for additional redundancy for those servers. Additionally, the cost differential for building your environment geo-diversified in the cloud is pretty negligible compared to building up two entirely different infrastructures in different parts of the world. With the cloud, you just pay for the additional few VMs to make up a front-end.
Another key aspect to keep in mind is the uniformity of access. If applications are hosted in the cloud, then all of the users, whether they are local to your company or they are remote will have the same type and (within reason) speed of access. This won’t help users who are on Starbucks free Wi-Fi, but it will help to mitigate concerns of office internet slowing down VPN users remotely. For some organizations, the universality of access is reason enough to move to the cloud, excluding anything about simplicity or costs.
What if you’re in a situation where it’s finally time to rebuild one of your in-house apps completely? What’s the most logical thing at that point? Don’t just assume that it makes the most sense to build it in the cloud, sometimes it still might make sense to build it on premises, but prepare the application for the possible future of the cloud. Some applications may not make sense to be hosted in the cloud. For example, if your organization has to (due to regulations) keep some data on premises, developing apps for that data that reside in the cloud may not perform as expected. However, keep in mind how the cloud runs applications when you are thinking about app development. For example, you could buy a SQL VM in IaaS that can do anything on-premises SQL can do, but what if you want to run on SQL in PaaS? Well that platform doesn’t (by the nature of PaaS) give you the same level of control over SQL as does a full on-premises server. If you know in the future you may want to deploy the SQL in PaaS mode, then you should develop the app now to support that functionality in the future.
Of course, there is an elephant in the room when it comes to choosing which applications that you are going to move to the cloud, and that is licensing. Licensing can be an absolute nightmare in the cloud depending on the vendor. Pay very special attention to how your vendor licenses their software before you get ready to move anything to the cloud — sometimes it’s simply by server and you get a key, sometimes it’s servers with client licenses, and sometimes it’s based on the hardware of the VM itself, and sometimes it’s based on the hardware that backs the VM (looking at you, Oracle). If the vendor licenses it on the physical hardware, and doesn’t have any other options for licensing, you’re essentially going to be precluded from going to the cloud on your own terms. Instead you’ll most likely need to adopt a cloud (or cloud partner) specifically endorsed by that vendor. At that point, you’ll also have to think about the inter-dependencies of that application with other applications that you aren’t hosting in that same cloud. If a database server is hosted in one cloud, and the web and applications servers are in another, then performance may be abysmal if those need to communicate a lot.
Another thing to keep in mind is how much the load of the application changes throughout the year. If for example you are hosting a business-to-consumer application that gets large spikes around the holidays, it may make a lot of sense to run that application in the cloud. The cloud (if properly configured) can allow for dynamic growth and contraction of workloads as needed which can be difficult to accomplish on premises. On the other side of the equation, if your applications never grow and have used the same resources for the last decade, it may make sense to just build a new properly sized environment on premises.
There are a lot of different decision points that go into putting applications in the cloud or keeping them on premises. There are also a lot of minor details that can change the proper course of action, so reach out to a trusted technology advisor like us to talk through it all before you make a decision.