The elusive clear picture of the business environment supported by interdependent applications rarely emerges without a deep dive into those applications. Frameworks and methodologies can only take the practitioner so far. Eventually, subject matter experts will need to do the heavy lifting to understand every application that must be moved.
In some cases applications can be readily bundled to move together. However, in many cases, intermediate steps are required to break existing dependencies in tightly coupled environments. An example is when all of your applications share the same underlying storage infrastructure.
What is Application Bundling?
An application bundle is the set of applications that can move together. An application both accesses data and changes data. Either natively without interaction or through end user interaction. In many cases data changes using both methods. Solving for data change per application is an important, first task.
By diving in the deep end of the data change problem, you have already begun to solve for the dependencies of your application. What are some other dependencies to investigate?
- How does the application authenticate users?
- Does the application require licensing? Locally or through a license server?
- Is there a specific host environment required to run the application? The number of CPUs, memory quantity, and operating system level are a few items to inspect.
- How is the application configured and reconfigured?
- Are there external entry points to the application?
- Do multiple network connections exist on the host for this application?
- What security exists on the machine that hosts your application? Is the local host firewall on, are there port lockdowns in place, and are there port redirections that are set?
- What security zone rules apply to your application at the physical firewall level?
- What components does the application share with other applications? Hosts, storage, databases, network zones, and security zones are some of the items to inspect.
- Are there groups of applications specific to business owners that can be bundled?
The answers to these questions inform the initial formation of an application bundle. It’s not uncommon to have many shared dependencies making application segmenting challenging. Often, intermediate steps are necessary. Application bundling is a complicated process to balance trade-offs of downtime, size of each move event, and overall complexity of each move event.