Using containers such as Linux Docker to build a microservices application architecture in AWS is the hip development thing today. But do containers truly help dev teams become more nimble and agile, or is this yet another development fad that will quietly fade away?
Microservices application architecture and containers resulted from dramatic pressure on the development community to very quickly iterate and evolve a code base. With containers, agility is baked into the fabric of development; if you can deploy your applications and not be tethered to the underlying OS, you can focus on building a better customer experience. You do so by decomposing your application architecture into bite-sized pieces and running each of those pieces in a container. Your application is isolated from the underlying operating system so you can modify it in whatever direction you desire.
Docker was introduced as cloud computing became popularized, which begged the question: why not combine the two technologies? That is exactly what Amazon Web Services (AWS) has done with its Elastic Container Service (ECS). AWS wanted to take the customer experience to the next level by taking advantage of its massive scale to create an elastic service around Docker. As a result, developers have more agility in deploying their application stacks with the AWS infrastructure underneath for support.
The AWS ECS was designed from the ground up to integrate tightly with the entire AWS ecosystem. The core components of ECS are:
- Agent Communication Service
- Rest APIs
- Cluster Management Engine
- Key/Value Store
- Container Scheduler
The customer benefits automatically from an all-AWS resiliency and agility when using ECS. AWS allows scaling across availability zones (AZs) with Docker containers. In addition to the advantage of scale, Amazon also architected a platform with predictable, very low latency across containers. This is important for consistency in the platform.
You can still run your own Docker infrastructure today on the AWS EC2 compute services if you wish. Or you can choose to run Docker in your own data center or a private cloud. As with everything in life, you have choices. And the use of containers is one worth exploring.
Sirius provides cloud solutions across all deployment models, as well as full consulting services. Contact Sirius to speak with one of our cloud solution specialists, and learn even more by visiting the Sirius Cloud Solutions page at siriuscom.com.