Application modernization is one of the most serious IT issues facing businesses right now. By Gartner’s estimates, 90% of applications that companies are using right at this point in time will still be in use by 2025, but most of them won’t have received necessary modernization attention; as a result, these companies will accrue so much technical debt that they’ll wind up spending up to 40% of their IT budgets on these legacy applications each year.
As the cloud becomes more and more ubiquitous across the modern business landscape, companies are increasingly turning to cloud migrations to help them root out legacy systems and reduce their technical debt. Naturally, that’s just one of many reasons that the cloud seems like an attractive prospect to so many businesses—with flexible data storage, remote accessibility of information, and more responsive collaborative tools also presenting strong rationales for companies that are considering a migration.
Any and all of these are excellent reasons to move away from physical, on-premise hosting and storage, but they do present some operational hurdles for companies that are planning to undertake big migration projects. As such, one of the most important questions your business will have to face about this transition is whether your should manage the migration solely in-house, or outsource part or all of the work to a trusted supplier.
The Cloud Migration Roadmap
Before we get into the pros and cons of each migration method, let’s talk a little bit about what the ideal framework for a cloud migration typically is. Obviously, this will depend on your precise goals and the ins and outs of your company. Generally speaking, though, there are a few discrete steps that you’ll want to take:
- Designate a migration architect: This will be someone who has significant expertise in the applications or databases that are actually being migrated, such that they can see potential pitfalls and analyze the implications of different approaches. This person will set the agenda and gather the necessary resources for the project.
- Choose a cloud provider: Based on your initial discussions, you can choose a single vs. multi-cloud setup, public vs private cloud, hybrid cloud, etc. Right now, most businesses wind up deploying with multiple different cloud providers across the various touchpoints within their businesses, but the right approach will depend on the individual business.
- Set baselines and KPIs: Which business problems are you trying to solve? What metrics will tell you whether you’ve successfully solved the problem or not? How are you doing on those metrics right now? By establishing the answers to these questions up front, you’ll be in a much better position to create alignment between your plan and your actual business goals, meaning that you’re much less likely to realize after the deployment that you’ve solved the wrong problem.
- Set your migration priorities: You can think of this a little like a production plan in a factory—you need to figure out which steps logically follow from one another, such that you can establish an order of operations. This will function as your practical road map as the IT team and other stakeholders work to get the new cloud service or database up and running.
- Refactor as needed: It would be nice if everything went smoothly and your applications ported over to the cloud with minimal fuss, but in all likelihood that’s not going to be what happens. More likely, you’ll need to do some refactoring and make some other modifications to existing code on the fly in order to keep things moving—it’s best to plan for this in advance in terms of time and resources.
- Make the switch, review, and perform aftercare: Obviously, this brings us to the end goal—actually going live with your new cloud-hosted service. From there, your KPIs will help guide you as to whether it’s meeting your needs, and will point you in the right direction as you get ready to perform aftercare and make additional tweaks.
There’s plenty of depth to this topic, but this outline should give you a basic sense of what the project might look like in the abstract. The devil is the details, though; oftentimes, businesses will find that there are any number of pitfalls lurking within these steps.
Challenges in Cloud Migration
Most of the challenges that come along with these kinds of migrations revolve around two things: money and time. Cloud migrations are typically framed around ROI (return on investment) and TCO (total cost of ownership), such that any decision you make needs to square with those goals in the long, medium, and short term. As such, delays and large outlays of resources can really derail an entire migration project. That means that if you choose the wrong cloud provider and have to start the selection process over again because someone on the team failed to check whether they meet your compliance standards, your odds of achieving ROI go down. Likewise, if the migration team is strapped for resources and can’t get the project done on time, you’re once again potentially looking at a much slower turnaround for recouping your investment.
This fact is worth of special consideration precisely because the migration process is so subject to unforeseen pitfalls and hurdles. This goes beyond just delays: in one report, it was discovered that nearly two-thirds of cloud security incidents that had been disclosed publicly were the result of cloud misconfigurations during setup. This ought to give a sense of the level of complexity—and the stakes—that are involved in this process.
Pros of Going In-House
If you want to manage your cloud migration in-house, there are certainly a few advantages to be gained. You’ll have somewhat more daily oversight of the project overall, which can be valuable when you’re in an industry (e.g. medical or insurance) that comes with strong compliance requirements for data. Likewise, depending on the complexity of your existing IT infrastructure and your desire to use any sort of hybrid cloud option, you might be able to more closely tailor a deployment to your specifications if you manage it without outside help.
Plus, there’s no ramp-up time, and there’s no need to incur any of the costs that inevitably come with outsourcing. It’s crucial to keep in mind, however, that these benefits really only come into play if you have the in-house staff and expertise to get the deployment right the first time while successfully navigating all of the technical issues that will inevitably crop up.
Like we said above, going in-house can be the way to go if you already have available resources who are experienced in this kind of process. If you don’t, you’ll either need to move staff off of other projects in order to give the cloud migration the attention it deserves, or you’ll have to quickly onboard new team members who can help out. One of the most frequently touted benefits of cloud-hosted applications is that it ostensibly decreases your need for in-house IT staff, so it might be difficult to get buy-in for staffing decisions like this. And, while the cloud itself will scale up and down in terms of capacity easily as your needs change, an in-house support staff set up for any issues that arise could easily become bogged down (or find themselves playing solitaire all day) in smaller organizations that have less flexibility in terms of personnel.
What Are Your Alternatives?
As you may be gathering from context clues, cloud migrations tend to go smoothest when they’re being managed and driven by experts—particularly by experts who have clear alignment with existing business goals. This means that the in-house versus outsourced debate we’ve been sketching out actually boils down to something pretty simple: if your company has expertise in managing cloud migrations, in-house is probably the way to go; if you’re not cloud experts, it’s probably not.
If you fall into the second camp, you might consider partnering with an IT services company or other migration provider to outsource your cloud migration. This can have a few distinct advantages:
- Capacity: Rather than scrambling to find resources within your own company (who might be working on other projects), you can rely on experts who are available when, where, and how you need them. If you’re working with someone who can also provide ongoing support, this means that you won’t have to make long-term capacity utilization decisions to support the migration.
- Expertise: Most companies will only develop an interest in technology like cloud computing once they’ve already decided that it’s time to modernize their applications. This means that they’re often starting from scratch, knowledge-wise, and their teams will be prone to rookie mistakes. If you partner with someone for whom this process is second nature, you won’t be subject to these same mistakes.
- Support: Rather than keeping IT staff around to manage the problems that will inevitably crop up after the initial deployment, you can continue to rely on your outsourcing partner to manage any ongoing service issues.
Two additional advantages worth noting: if you go nearshore or offshore for help, you’d potentially be looking at costs up to 30% lower than you’d pay for developers in the US. Plus, since your developers wouldn’t have to expend capacity on ongoing maintenance issues with your cloud platform, they could reap the full benefits of software modernization—meaning that their processes will all run that much more smoothly going forward.
Learn More About Intertec's Cloud Solutions:
Intertec’s teams have hands-on experience in developing and migrating applications on leading cloud platforms. In addition to design and development, we provide a complete range of application testing, deployment and ongoing support services for applications and servers migrated to the cloud. Click here to learn more. Prefer a personal consultation? Go ahead and schedule a meeting with us here!