The Doppler Quarterly Special Edition 2019 | Page 71
Containers have become an effective tool to facilitate rapid migration of applications,
often to streamline the movement from on-premises to cloud infrastructure. Containers
offer many benefits to increase the speed of migration by decoupling application depen-
dencies from underlying hardware, operating systems, network connectivity and sys-
tems management tools. However, while containers have become a common tool for
facilitating migration, they demand architectural changes to ensure proper data integ-
rity, application scalability and recoverability.
Many organizations use containers as a lifeboat to accelerate the migration of applica-
tions to the cloud, creating a base architecture that can then evolve over time to become
more and more cloud-native. The challenge is that for applications to function properly,
they need changes from the architectural principles used 10, 15 and 20 years ago when
many enterprise applications were first developed.
Let’s take a look at some lessons learned about data handling patterns when moving
containers to cloud:
Lesson 1: One of the design choices that many organizations use is to “just add a vol-
ume” to containers and trick them into acting like persistent data stores. This is an
anti-pattern and treats containers almost as if they were virtual machines. This runs
counter to the container model of being lightweight, easy to move around and replace-
able as containers fail, are removed and upgraded in flight.
Users
User Logic
User Logic
User Logic
User Logic Independently
Scalable
Container Group
Business
Logic Independently
Scalable
Container Group
PaaS Publish/Subscribe Service
Business
Logic
Business
Logic
Business
Logic
PaaS Data Store
Figure 1: Functionality in a Containerized Application Stack
SPECIAL EDITION 2019 | THE DOPPLER | 69