It's the new year; you’ve taken stock of your business priorities and you’ve made an important decision: your organization is moving to the cloud in 2019. That’s a good call — according to InfoWorld, 9 out of 10 companies will be running at least partially on the cloud by the end of this year. Now you just have to figure out how you’ll make that move. Will you migrate using a Lift and Shift approach? Will your strategy be Native Cloud?
How do you choose? It’s important to note that there is no one-size-fits-all approach to cloud migration. You’ll have to evaluate your organization’s unique requirements and goals in order to know which strategy will work best for your company. For example, you’ll need to do some homework and take the following into account when you’re deciding on your approach:
- Existing systems and infrastructure, including the ones that aren’t moving to the cloud
- Whether or not your organization is using DevOps
- The amount of refactoring you’re willing to take on (refactoring is the process of restructuring code internally without changing what it does externally)
Why? Well, if your organization is growing fast and you need to migrate to the cloud quickly, your migration is going to look different than a small organization who can afford a leisurely migration. So thoroughly consider what your needs are and be honest about your limitations before you commit to an approach.
Depending on what your needs are, your solution might use Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), on-premise resources or a combination of some or all of the above.
What is Lift and Shift?
Lift and Shift is what it sounds like: you’re picking up an application (usually from on-premise hardware) and moving it to the cloud without making any big changes to the app itself. In this case, you may want to explore using an IaaS solution. To minimize the amount of refactoring you’ll need, you may also want to discuss placing your code into containers — lightweight, standalone packages of software that include everything an application needs to run — with your developers or IT consultants.
Photo by bruce mars from Pexels
Sounds good, right? Let’s explore the pros and cons of Lift and Shift.
- You're likely to get a quick migration and deployment.
- Using DevOps? Your server configurations will remain mostly unchanged.
- Your apps will get some out-of-the-box features, like backups, encryption and other cloud services with little or no effort.
- You have full control of what gets installed.
- It may cost more to go to the cloud if your servers and applications aren’t properly configured.
- Because you’re just transplanting your applications from your on-premise hardware, they won’t be able to take advantage of any cloud services.
- You still have to manage, update and configure your own infrastructure.
- Going to the cloud will fix some of your business challenges. For example, it’s scalable; however, if you don’t design your architecture to be scalable (or distributed, or fault-tolerant) those business challenges will still haunt you when you’re in the cloud.
- You may have to pay more for higher-performing virtual machines.
What does it mean to be Cloud Native?
Cloud Native — or Cloud First, as it’s sometimes called — is the opposite of Lift and Shift. Rather than moving your existing applications over to the cloud, you build applications and systems in and specifically for the cloud. This approach allows developers to design highly distributed systems in a fault-tolerant, self-healing architecture, taking advantage of the cloud’s strengths — easily using IaaS, PaaS and SaaS offerings, for example. It’s a more involved process, because you’re building something new but it also means your new software and systems will be able to thrive in the cloud.
Photo by Aleksandar Pasaric from Pexels
So, what are the pros and cons?
- Your solutions will have a high integration with cloud PaaS and SaaS offerings.
- You’ll have the ability to scale quickly and efficiently.
- Cloud Native solutions reinforce certain architecture patterns, like microservices.
- Because your developers don’t have to worry about the infrastructure, they can focus instead on developing applications.
- Because your applications are sharing resources, your costs may be lower.
- There’s a lot of code to write, so you’ll be doing quite a bit of refactoring.
- Rather than being platform agnostic, you may have to choose a vendor and stick with it.
- You may have to rebuild your current solutions so that they work with your new Cloud First system.
Onward and upward with the cloud
Remember, there is no wrong approach to moving to the cloud. You might go with Lift and Shift, you might opt for Cloud Native, or you might take a hybrid approach, moving some applications over and building others. No matter what you choose, you’ll gain the competitive advantage of being in the cloud. And once you’re there, you can make more changes depending on your needs — after you’ve migrated, it will become easier for developers to rebuild your solutions so that they take full advantage of cloud platform features, reduce your costs and increase your system’s performance.
Need some help moving to the cloud?