IT Focus Area: infrastructure operations
March 4, 2014
Application Mapping for a Smooth Migration
Editor's Note: Sirius and Forsythe are now one company. Sirius acquired Forsythe in October 2017 and we are pleased to share their exceptional thought leadership with you.
You may have recently evaluated the state of your computing environment and overall information technology (IT) operations and decided that the best course of action for your business is to migrate a portion or your entire IT environment. While migrations are common in enterprises today—whether as part of data center consolidation, virtualization efforts, cloud initiatives, mergers and/or divestitures—the process to achieve a successful migration is anything but common.
Now that the decision has been made to migrate, what is next? In this article, we will address one of the key areas of an overall migration planning process that will play a vital part in the success or failure of your migration initiative: Application mapping.
What is application mapping?
Application mapping is a process used to discover and map all components and interdependencies of an organization’s business processes and applications, including software, servers, storage, security, networking infrastructure and data flow.
Business processes run on a number of enterprise applications and devices that provide services to support internal employee operations and the external customers they in turn provide services to. It is important for every business to understand how these applications and devices work together and how they depend on each other to provide the expected output. The interaction of systems such as web servers, application servers and database servers might make up one application. However the interdependencies of many applications often combine to form core services that both internal and external clients depend upon. It is the interdependence between these systems that are at the heart of application mapping.
Why is application mapping important to data center migration?
In order to migrate an application and/or an entire data center, you should have a solid baseline assessment of the environment. This includes finding out how many applications you have, how many systems make up your infrastructure, and how systems/applications communicate with each other and the world. You should also understand how these applications and systems provide services to internal and external clients and how the systems are supported.
During a migration everyone is a client. Internal users rely on the systems and applications to perform their work duties. Clients rely on the systems and applications for the services they provide to them. The process of putting these puzzle pieces together is the basis of application mapping.
Since a data center migration is rarely a single event, businesses that fail to complete proper application mapping processes are at risk for sudden – and possibly lengthy – service interruptions during migration activities. If an outage does occur, it is unlikely that the company will have the application knowledge they need to trace the outage back to its root cause and quickly restore the service if they have not taken the time to document these interdependencies. Was the outage caused because they moved a portion of their web farm? Or was it caused by an unrelated event, such as a downed server in the data center?
To successfully map an environment, concentrate on four primary areas.
As previously mentioned, you should start with a validated baseline of your IT environment. Once you have a baseline of your applications, systems, data, and connections, you should understand the relationship and interdependencies between these assets. These may include interdependencies among application/database components, as well as the underlying infrastructure that support them (physical/virtual servers, storage, network infrastructure, etc.).
You may want to begin by reviewing your existing configuration management database (CMDB), service level agreements (SLAs), or any other reports and information produced by manual information gathering. In some cases, application design documentation created when the application was first deployed, may still be available. Although the documentation may not have been kept up-to-date, you can use the information to begin mapping the application. You can map it not only to its supporting infrastructure, but also to applications which may feed data into or expect data outputs from the application being mapped.
We often learn the most about our environments when we encounter an issue or an outage during the course of day-to-day operations. Your operations support team's incident documentation can be a wealth of information. For example, you might find that one of your key production services experiences an outage when a small test database server is rebooted. This should be an immediate red flag which warrants further investigation. At this point we could also turn to various network monitoring tools to help explore the issue further and solve this mystery.
Manual mapping, reviewing existing documents, and interviewing staff can help you understand the interrelationships of your applications. If you couple this information with the inclusion of tools, you can enhance your ability to validate manual information. There are tools on the market that can monitor your environment from an automated perspective. When utilized in conjunction with non-automated information, they provide the ability to do validation checks of the data.
For example, network traffic monitoring tools can be very useful for capturing and displaying communications between various applications or infrastructure elements. Several products are available that can map these flows at a Transmission Control Protocol (TCP) port level. You can see the various types of communications, such as: database, web, server to server, user access, and other calls that can help you understand which applications are "talking" and what types of conversations they are having. Examining these calls can help you weed out flows related to network and system management applications that are common to all inter/intra system communication. For example Active Directory calls and actual application data flow over a database port.
Many of these tools, combined with application developers and owners, can be used to build maps of system flows that can be used as a reference to help you fill gaps in knowledge. It’s also important to map out these flows at several different times in the day, week, and month to ensure that any time or date dependent applications are accounted for. Some dependencies might only present themselves at quarter-end, when finance is closing out the quarter. It is important to gather network data as long as possible. If time is not a luxury you have and you cannot monitor the environment for 90 days, look to your users and support engineers to tell you when the most critical peak or freeze periods occur.
While inventories and tools are essential for providing a pragmatic baseline of your environment, you should also spend time speaking with the people who support and manage the systems in your IT infrastructure. It is important to incorporate information provided by systems administrators, architects, managers and users into the analysis of your application mapping. Interview these individuals to discuss their understanding of how the systems work and how they are maintained and supported.
To validate captured tool data, use your interviews to collect the following information:
What is the application and how is it maintained?
How critical is the application to the business?
Who are the users?
How many systems make up the environment?
How do they interact with each other?
This first-hand knowledge can be invaluable in pulling out dependencies that may not be obvious. It may also uncover nonstandard dependencies which were put in place as a temporary fix due to a constraint which could put your migration in jeopardy if not addressed. You can combine the information from these interviews with the baseline information to develop dependency maps. These will be key in creating migration groups.
4. Migration Grouping
Now that you have validated the baseline information, reviewed the tool data that was captured, and incorporated information obtained from your team, you should be able to use the created application dependency maps to begin crafting your migration groups.
If gathered carefully, all of the information you collected will give you the ability to identify timings, schedules, business effecting events and much more. Since the application dependencies are mapped out, you can create physical and logical application and infrastructure groups. These groups can be utilized to migrate environments in stages. You will have the ability to control and minimize business disruption or take actions to completely eliminate them.
A data center migration process should start with application mapping.
As companies depend more and more on their business applications for their mission critical business processes, unplanned or extended outages have a greater impact on productivity. As a result of this stringent up-time requirement, every migration becomes a complex undertaking that can have considerable business ramifications. Whether it’s migrating a single application or system, or migrating an entire environment, application mapping is one of the most important steps in the planning and execution of a successful migration.
By harnessing your existing documentation, your team's experience supporting the environment and validating it with actual network data to plan your migration groups, you can have a smooth migration experience while mitigating any obstacles. In addition to migration activities, application mapping can be a very useful exercise for other IT functions such as: mapping out business processes, understanding application placement (such as which groups of applications could be moved to the cloud together successfully), analyzing application workloads, rationalizing applications and infrastructure, troubleshooting application performance issues and creating the basis for a disaster recovery or high availability project.
Whatever your desired next step is, application mapping will give you a better understanding of, and more control over, your environment. It will prepare you for whatever the future may bring to your IT infrastructure.