Amazon Elastic Container Service (Amazon ECS) is a scalable, high performance container management service that supports Docker containers.
$0
per hour per GB
Mirantis Kubernetes Engine
Score 8.0 out of 10
N/A
The Mirantis Kubernetes Engine (formerly Docker Enterprise, acquired by Mirantis in November 2019)aims to let users ship code faster. Mirantis Kubernetes Engine gives users one set of APIs and tools to deploy, manage, and observe secure-by-default, certified, batteries-included Kubernetes clusters on any infrastructure: public cloud, private cloud, or bare metal.
There is no additional charge for Amazon ECS. You pay for AWS resources (e.g., Amazon EC2 instances or Amazon EBS volumes) you create to store and run your application. You only pay for what you use, as you use it; there are no minimum fees and no upfront commitments.
These pricing options are compatible with Linux or Windows Server and are per year, per node. The basic version requires maximum online purchase not to exceed 50 nodes. Support/professional services are not included.
More Pricing Information
Community Pulse
Amazon Elastic Container Service (Amazon ECS)
Mirantis Kubernetes Engine
Features
Amazon Elastic Container Service (Amazon ECS)
Mirantis Kubernetes Engine
Container Management
Comparison of Container Management features of Product A and Product B
Amazon ECS is well suited for the scenarios where you want to deploy a microservice to a cloud and instead of manually specifying instance size, number of instances and then specifying the configurations and connecting it with other cloud services like database service, secret manager service etc., you just want to specify these configurations as a file and using that file, the ECS would deploy the service and keep it healthy. It might be less suited for a scenario when you don't want to stick to AWS specific solution for your microservice deployment. The ECS configuration file is specific to AWS ECS and may not be useful for other cloud providers like Azure etc.
[Mirantis Cloud Native Suite (Docker Enterprise)] is the most advanced tool till now, which works as a VMs and separates any single application from the dependencies. Also, this tool is helping me in the agile development of the processes. It is strongly recommended to almost all major organizations.
One of the biggest advantages is the flexibility to change underlying EC2 instances. As the traffic or demand increases, we can easily change EC2 instances without any issues.
Amazon ECS APIs are extremely robust and one can start and stop containers by firing one post request only. So, it is not mandatory to keep the demo solutions up for every time. Just at the time of demo fire the command - make the container up and running - do the demo - down the container with API. A simple portal can control every container which helps non-technical (sales, marketing) to do the demo without keeping the solutions up for the entire time frame.
Another AWS Service - While AWS has a service for just about everything, that is also a negative point. There is no service that does 4 out of 4 things you need. This service does 3 out of 4, another service does the fourth thing you need and another two things that the other service does.
With AWS things in general, it's really hard to remain cloud agnostic. Keep that in mind.
Aside from some ECS-specific terms to learn at first, learning & starting to use ECS is relatively straightforward. AWS docs on the topic are also of high quality, with sound & relevant examples to follow. Troubleshooting container issues is also a breeze thanks to CloudWatch integration & helpful error messages on the AWS console.
Docker's CLI has a lot of options, and they aren't all intuitive. And there are so many tools in the space (Docker Compose, Docker Swarm, etc) that have their own configuration as well. So while there is a lot to learn, most concepts transfer easily and can be learned once and applied across everything.
Support is relatively good, although the documentation sometimes is lacking, as well as outdated in our experience, especially when we initiated the process of using this service. But once we found how to assemble things, we haven't really required support from anyone at AWS, the service works without problems so we haven't had the need to contact support, which speaks well of how ECS is built.
The community support for Docker is fantastic. There is almost always an answer for any issue I might encounter day-to-day, either on Stack Overflow, a helpful blog post, or the community Slack workspace. I've never come across a problem that I was unable to solve via some searching around in the community.
I chose Amazon ECS over Amazon EKS and other products because the whole infrastructure was decided to be designed on AWS cloud and Amazon ECS made it easier to make the clusters live in just a few minutes. Amazon ECS has better integration with other AWS services and we don't have to look for plugins to do the things, everything is available and can be configured from the AWS console.
We've used XAMPP, PHPmyAdmin and similar local environments (our app is on PHP). Because of how easy you can change the configuration of libraries on PHP and versions (which is SO painful on XAMPP or other friendly LAMP local servers) we are using Docker right now. Also, being sure that the environment is exactly the same makes things easier for developing.
Docker has made it possible for us to deploy code faster, increasing the productivity of our development teams.
Docker has made it possible for us to decentralize our build and release system. This means that teams can deploy on their own schedule and our dev ops team can concentrate on building better tools rather than deploying for the teams
Docker has allowed us to virtualize our entire development process and made it much simpler to build out new data centers. This, in turn, is significantly increasing our ROI by providing a path forward for internationalization.