6 Tips for a Successful Migration Program
03
MAY, 2017
For large enterprises undertaking a migration program, it can be a costly and challenging exercise. With no guarantees that you will arrive at a better end state compared to where you started. Whether it is uplifting legacy technology assets or planning data centre migrations to private or public cloud (or a hybrid) – Here are 6 tips to help plan a successful migration.
1. Start with the problem
Too often IT is guilty of coming up with a solution or technology under pressure of what is in vogue or what their peers are doing in the market. If your IT department is aligned to the business needs, then naturally the technology can be designed to better effectively support the business goals rather than the other way around. The goals maybe to better control costs, to support business growth (or downsizing), or to allow your enterprise applications to be accessible by authorised users, securely and anywhere.
2. Virtualise
If you are late to the party and/or still running legacy on bare metal, you will be limited on your options for migration and reduce orchestration and automation opportunities in this Dev/Ops driven world. Migrating from legacy can be a challenge (although most cloud providers offer Mainframe emulators), but is can be overcome by splitting the client piece (front end that your users interact with) and the back end (which is maybe harder to move or virtualise).
3. Where are we now?
It may seem crazy, but most medium to large organisations struggle to understand exactly what their IT environment currently looks like. Pick a server at random and ask the SME what team/project is using that and why and you may get a blank stare. Knowledge is often maintained in spreadsheets and emails and often only true as of a point in time. Effective planning of your migration requires a deep appreciation of your current IT fabric & the underlying relationships. How does an individual DB server relate to a business process and what is the impact of change on this server to the wider business and who are the stakeholders? Does this business process traverse multiple interdependent systems? Understanding your current IT fabric is a foundation for a successful migration program.
4. Where are we going?
Armed with knowledge of where you currently are, you can begin to plan a future state based on your business goals. This may lead to an end state of hybrid public and private cloud. With the vision in place you can now start to slice the migration into sprints of activity. One strategy is to focus on lower environments one at a time, i.e. look at your lower environment for a system ‘System x DEV Instance’. Decide whether this is a ‘lift and shift’ (if possible) or a ‘build new and decommission old’. A migration program is a great opportunity to identify and permanently decommission unused/idle systems and start reducing your future OPEX.
5. Orchestrate and Automate
Each critical manual step to decommission and spin up a new server should be a target for automation. Each of these sprints of activity will feed lessons learned and areas for automation to be included in the next sprint. The theory being that once you get to migrating the critical production instance, you have a tried and tested repeatable set of steps which are automated to minimize human error. These scripts can then be reused as a part of your auto scaling strategy to build resources when there is increased demand.
6. Align technology costs with the business
A migration is a great opportunity to start fresh and begin understanding exactly who is using what and understanding the associated cost with providing the service. This does not necessarily mean introducing a clunky charge back model, but there is tremendous power in presenting dollar figures to the business team for the cost of providing the IT service. Most reasonable business units will not object to paying for the things they use, after all, if you have gotten the first point correct and aligned IT to the business need, then more IT cost will equate to the business doing well. On the flip side, the business will be quite vocal in ensuring that they are not paying for the things they do not use. e.g. If there is an end to end environment sitting idle for 90% of the time, then let’s make sure it is only active for the 10% of the time. This helps minimise waste improving the value as well as acting as a permanent sanity check on whether IT is aligned to the business.
More information on leveraging ‘EcoSystem Migration Center’ to plan, model and execute a migration program can be found here. If you would like to talk to one of our solution consultants to discuss in more detail, please reach out to us on our contact page.
Relevant Articles
Technology Roadmapping
In today's rapidly evolving digital landscape, businesses must plan carefully to stay ahead of technological shifts. A Technology Roadmap is a critical tool for organizations looking to make informed decisions about their technological investments and align their IT...
What is Test Data Management? An In-Depth Explanation
Test data is one of the most important components of software development. That’s because without accurate test data, it’s not possible to build applications that align with today’s customers’ exact needs and expectations. Test data ensures greater software security,...
PreProd Environment Done Right: The Definitive Guide
Before you deploy your code to production, it has to undergo several steps. We often refer to these steps as preproduction. Although you might expect these additional steps to slow down your development process, they help speed up the time to production. When you set...
Introduction to Application Dependency Mapping
In today's complex IT environments, understanding how applications interact with each other and the underlying infrastructure is crucial. Application Dependency Mapping (ADM) provides this insight, making it an essential tool for IT professionals. This guide explores...
What is Smoke Testing? A Detailed Explanation
In the realm of software development, ensuring the reliability and functionality of applications is of paramount importance. Central to this process is software testing, which helps identify bugs, glitches, and other issues that could mar the user experience. A...
What is a QA Environment? A Beginners Guide
Software development is a complex process that involves multiple stages and teams working together to create high-quality software products. One critical aspect of software development is testing, which helps ensure that the software functions correctly and meets the...