Should I move my servers to the Cloud?

Buying servers are not as straight forward as they use to be. There have always been many options to choose from for an on-premise server, such as manufacturer, the amount of redundancy, the virtualization platform, etc. Now you must mix in whether it is appropriate to move your workloads (servers and applications) into the Cloud. Moving to the Cloud is not as easy as picking up your server and, simply, moving it to the Cloud. There are many considerations to see whether your workloads are appropriate for the Cloud.

First, lets give some context. This article is going to be talking about Infrastructure as a Service (IaaS) Clouds like Microsoft Azure Virtual Machines and AWS EC2 instances. We will not be comparing Software as a Service (SaaS) applications such as Microsoft 365 or Salesforce. SaaS is a much more complex and nuanced topic than IaaS.

Next, let’s dispel some myths about the Cloud. The first is that Cloud is cheaper than an on-premise solution and most of the time, that’s not true. You must really understand your workloads to see whether that will be the case. I always tell my clients that you need reasons other than a direct cost comparison between an on-premise server and a Cloud server. Where a Cloud server makes sense is when you need better uptime than your current on-premise solution can provide for you. The other reason may be support. Although management of the Cloud server is still necessary, the management of the physical server is not. The point is that a direct cost comparison is not a good metric to decide on whether to move to the Cloud. To that note, a direct cost comparison is also difficult, without some history, because the costs of some Cloud pieces can be static while others will always be based on consumption and you need some history to figure what the average cost will be.

The second myth is scalability. Just because you have moved your workloads to the Cloud does not make them scalable. By scalable, I mean the ability to run multiple instances that can process in parallel and load balance all the connections and work in order to maintain uptime and to give the end users a consistent experience. It is certainly easy (at a cost) to give your workload more resources like CPU and RAM but it is still a single instance and you have not given it any more scalability. IaaS offerings from Azure and AWS do give you the tools to develop scalable workloads with all the supporting infrastructure but that may require a complete re-engineering of your workloads.

The third myth is that the Cloud has enterprise redundant infrastructure. Azure and AWS are designed to fail, they are not designed to keep your instance running but to make sure it can be restarted in the event of a failure. That is very different from how we design on-premise infrastructure. What this means is that you must make sure that your workload can survive this type of disruption, otherwise, you could face corruption of your data. If your application is designed with a backend database (MS SQL, MySQL, or similar), a middleware layer, and an asynchronous client then this is the perfect type of workload to put into the Cloud. Your backend database can be moved into a Platform as a Service (PaaS) database service such as Azure SQL or AWS RDS while your middleware can go into a virtual machine instance. If your workload uses any type of non-transactional database such as flat file-based database, then you will not want your instance in the Cloud.

The fourth myth is that your data is backed up. The myth is partial true, Azure and AWS do perform backups, but they are not backups for your sake. Those backups are to protect the Cloud provider and they are not there for you to recover data from in case you lose or corrupt data. The Cloud provider does replicate your data, in case your instance needs to be restarted on another server, but that does not provide you with protection against data corruption. The Cloud providers do have options to backup your data, but they are at an additional cost, which continue to rise as you add more data to the backup.

The fifth myth is that data transfers are free. Again, this is a partial myth, depend on which way the data is travelling. In general, data going to your Cloud instance is included as a part of the package but any data that leaves your Cloud instance destined for anywhere else on the Internet, including your offices, come at a cost. The cost depends on how much data is leaving your instance. If you are only connecting to an application then the costs, should be, relatively minor. If you are constantly moving large amount of data from your Cloud then those costs could pile up pretty quickly.

All that being said, is on-premise servers better? Well that depends on your workloads and a clearly laid out business case for moving to the Cloud. In order to get the most out of a Cloud service, move your workloads that have a proper three tier application design. Those that don’t have a proper design should probably be left on-premise or upgraded. And the decision to move to the Cloud should NOT be based on a direct cost comparison but be based on a business cost.

Do you need some help with deciding if the Cloud is the right place for you? Contact us and we can have a Consultant evaluate your workloads.