Fortunately, the vast majority of existing and even new line-of-business applications are
fairly straightforward and do not rely on new or advanced features in the provider plat-
forms. By confining these workloads to standard compute, network and storage capa-
bilities, moving between providers can be relatively achievable. Using common monitor-
ing and event management, security and even data manipulation features reduces the
amount of variance between platform operations. While this does result in a “lowest
common denominator” effect and may stifle some innovation, this is an acceptable
trade-off for many organizations.
Use Virtualized Environments
Many industry observers consider the use of IaaS services, such as virtual machines,
outdated and undesirable. In reality, using these virtualized environments can make
moving workloads between providers easy, especially if coupled with appropriate auto-
mation capabilities. A key factor in the effective use of virtualized environments for por-
tability is how resources are treated. The focus should be on recreating the required
resources in the specific provider platform, rather than attempting to move virtualized
environments en masse between platforms.
Consider a tiered environment consisting of multiple web, application and database
servers. Rather than treating these servers as static resources that must be copied or
transformed to other platforms, consider automating the creation of the servers in
every platform in which you may want to operate. While it is possible to create the envi-
ronments in each provider platform and leave them in place, this eliminates the ability
to take advantage of immutable infrastructure.
Even if you have a continuous integration/continuous delivery (CI/CD) pipeline in place
to deploy applications to static server environments, consider retooling that pipeline to
actually deploy the servers along with the application components. This approach
enables nimble deployment while still maintaining control over the application compo-
nents, such as a specific database version or other custom requirements at the infra-
structure level.
Rethink Application Architectures
As you assess your application portfolio, it is important to analyze how each application
is currently deployed and operated. Monolithic applications can make portability more
challenging by requiring all aspects of the application to be moved at the same time,
rather than being able to rely on discrete component movement to achieve portability.
Although the term “microservices” is frequently overused and abused, the concepts it
represents are still valid and absolutely essential to achieve complete portability.
Technologies such as containerization and serverless computing play an important role
in this space. Being able to move smaller atomic units of a workload provides the ulti-
mate in portability and flexibility. Networking costs and complexities aside, the ability to
66 | THE DOPPLER |
WINTER 2019