Reasons for migrating from On-Prem to Cloud

  • Posted by: Matt Perrott
  • Category: AWS, Azure, Cloud, DevOps, GCP, Infrastructure

The way organisations are managing their infrastructure is shifting. Each year, more and more companies are migrating their on-prem solutions to either hybrid or fully cloud based infrastructures and there are many reasons why this is the case. According to the IDC, the market share between Public & Private Cloud vs Traditional on-prem (on-premises) solutions is currently taking an equal split:

https://www.idc.com/getdoc.jsp?containerId=prUS46188120

Here are a few reasons why you should consider migrating to a cloud based infrastructure:

Cost Efficiency

One of the main goals for organisations migrating to the cloud is to improve cost efficiency. The cost of either running your own data centre or using a third-party provider is not down to just the buying and maintenance of servers, switches, load balancers, it also includes licensing fees, support (if using a third party provider), training staff and the energy costs of keeping your servers up and running.

Creating and managing your own on-prem solution requires networking, architectural and Sysadmin specialists. While the market is shifting towards more and more cloud based solutions, finding these members of staff becomes harder thus become more expensive to recruit. Furthermore, it requires a large amount of space, air conditioning, electricity, deciding which hardware to use, operating systems and even security (both physical and technical). A cloud based solution solves most of these headaches by removing most of these managerial and maintenance costs and allowing the organization to be more flexible with its infrastructure. For example; within a physical DC, you need to spend time researching and procuring the optimal servers and resources in order for your applications to work and in some cases, you’ll need more than one server in order to deal with high load. With a cloud provider such as AWS (Amazon Web Services), you can spin up a particular instance, run your testing, and then tear it down when you’re done. You don’t need to keep the server running and with AWS Auto Scaling Groups, you can scale up your applications automatically to deal with the high load, either when it happens or before it happens. If you’re thinking about going down the route of using a third party to manage your cloud infrastructure, then change requests can happen a lot faster as they can be implemented within minutes, opposed to hours, or even days and weeks.

Greg Deckler has written a fantastic article about the true costs of on-prem vs cloud infrastructure here.

Security

Many organisations, particularly those with financial roots, are not moving to the cloud as quickly as they perhaps should. One factor for this is that they are not aware of the security capabilities of a cloud based solution; a common mentality is: “If it’s within my premises, I have more control”. Whilst, that may be true to some degree, the security of an on-prem environment is as only as good as it’s policies and how well enforced they are. The notion of security is growing more and more important every year, and with government and regulator authority increasing it’s scrutiny (and rightly so), getting these policies and enforced correctly is becoming more important than ever.

Cloud Providers such as AWS, GCP (Google Cloud Project) and Azure (Microsoft) understand fully that their customers will not only be entrusting their own data with them but those of their customers as well. Due to this, cloud providers are required to meet the strictest of security standards in the industry set out by financial, government and health institutions. In traditional on-prem solutions, it can be challenging to implement proper authentication and authorisation, logging and auditing to ensure that you meet the regulatory standards. Cloud platforms have all of this built and easy to use with all of its services. Not only that, but patching for all services, OS, and packages are done automatically for you or if you choose to do this yourself, there are several tools built into the platform to make this as easy as possible.

Performance

Perhaps the biggest selling point of a cloud based infrastructure is the flexibility to make changes to your platform as and when you want or need. A traditional on-prem solution is a long term investment that requires commitment and careful planning to set up. Once you have committed to your space, hardware and licensing you are locked in with that technology until the end of the terms. This can hinder you from developing your platform to the latest technology and present challenges when trying to scale up your platform to meet new demand and loads. If you do decide to scale up or want to try new technology, further resources and money are required to research the hardware requirements, the licensing for it, making sure you have enough racks and switches etc. This can lead to a lot of technical debt which can make expanding and improving your platform complicated. It can even make hiring the right people challenging because nobody wants to work with outdated and unused technology.

With a cloud provider, all of these worries are taken away. Application loads can be handled by “auto-scaling groups”, which monitor the resource usage of your applications and can add or remove servers or containers when certain thresholds are met. You can define these thresholds yourself or let the platform do it all for you. Cloud providers even give you the opportunity to not even need servers in order to achieve your platform goals. AWS offers services such as Fargate to deploy your containers in a serverless matter, all managed similarly to ECS (Elastic Container Service) or EKS (Elastic Kubernetes Service). Lambda is another way of running scheduled jobs, without needing to build a server for it. You can write Lambdas in several languages and schedule them to run as and when they’re needed; for example, you can use them to push or pull new data to your S3 buckets. All of this is in the pursuit of making sure you can the most out of your application, and improving how your platform responds and performs for your users.

OK, but how do I go about migrating from on-prem to cloud?

Well, you’ll have to wait till our next article! We will give you a high level overview on how to migrate your current infrastructure to the cloud. Check out our services to find out how we can help you with your cloud migration.

Author: Matt Perrott