For many developers, using the cloud to design and test apps makes sense when they must develop a business application that reaches many via the internet. They need to host it somewhere. The cloud is a utility. If a developer finds that, today, Azure is the most useful, they will deploy with them. If AWS offers something they need or has better terms, they will switch over to them. If the cloud is a utility, then we all want that ability to switch between systems.
Containers offer that. With the benefits of agility, elasticity, and automation of container technology will provide new capabilities to developers supporting web and mobile apps. Containers enable developers to craft environments to spin up new instances, free of constraints and tool conflicts. Keeping web services in containers means developers can also collaborate with system administrators by sharing updates for changes, linking, and testing.
The nexus of container implementation is a cloud orchestration layer for provisioning the infrastructure required to support containers. This enables live migration and monitoring of service resources after the migration. Because containers reduce complexity via abstractions, they remove the underlying infrastructure dependencies. This ability to standardize service architecture with managed distribution and service orientation ensures that containers will lead the way to the uptake of SOA principles.
Read more here...