The Doppler Quarterly Winter 2019 | Page 68

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