What is the difference between Amazon ECS and Kubernetes implementation architecture?
I need to decide to pick a technology for container management in cloud. What is the deciding factor while picking any of these technology?
I am using Docker for container creation and execution.
I had a huge experience working with containers and different container solutions, including Amazon ECS and Kubernetes, and I have found, that Kubernetes as one of the most useful solutions for managing containers in the different environments.
The main benefit of Kubernetes - that it is a mature solution, originally developed by Google, but it is completely open-source! That means that anyone may look under the hood and (if necessary), modify and update the source code up to his purposes.
Another huge benefit of Kubernetes - it is completely free. That mean that you may install it and run on your own infrastructure, without paying any additional costs for Kubernetes itself.
You may run Kubernetes on the huge amount of different providers. It doesn't matter on what environment do you run the Kubernetes cluster - you should only take care of the Kubernetes cluster itself. That allows you to run, for example, the development cluster locally on Vagrant, as make the distributed production environment on the public cloud like AWS or GCE and the private cloud like OpenStack or simply using some libvirt solutions (using CoreOS for example). Again, from the point of view of Kubernetes - it doesn't matter what infrastructure solution do you use - the only one requirement for it - to be Kubernetes-enabled.
Speaking about the Amazon ECS - that is a proprietary and vendor-locked solution. It also may give you the same performance as Kubernetes, but it won't give you the same flexibility.
So, globally one may compare both Amazon ECS and Kubernetes, but Kubernetes is much more flexible and ready-to-customize solution.
I'm sorry, your question makes no sense. It's like asking
What is better? A rental car or a Ford?
AWS provides IaaS, Kubernetes is system to manage distributed containers. You can run Kubernetes on various platforms, including AWS-provided infrastructure.
Do you want to pay Amazon to host your Docker containers? You can do that.
Or do you want to create your own "cloud" where you run your Docker containers? Then get yourself some bare metal and use (for example) CoreOS and Kubernetes on top.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With