ECS vs. Kubernetes are similar and different

Source: Internet
Author: User
Tags k8s value store

Both C2container Service (ECS) and Kubernetes (k8s) solve the same problem: spanning the host cluster Management container . The battle between ECS and Kubernetes reminds me of the battle between the editor of VI and Emacs: The intense discussion focused on technical issues and personal beliefs. The next question will help you choose wisely. Considering the question and the answer contains my claim to the difference between--ecs and k8s, based on my recent project experience.

Does it fit?

A container is an isolated element. But launching containers across host clusters is only a small part of the challenge. Your container exists in a world of infrastructure and services: to name a few, storage systems, databases, domain name services.

Where are you going to run your container?

    • Amazon Web Services (AWS)
    • Google Cloud Platform (GCP)
    • Other IaaS Providers

Local deployment

The ability to integrate container management solutions into infrastructure is critical.

ECS provides the most seamless integration between containers and other AWS services. Here are a few examples:

    • Assign an IAM role to each container, allowing fine-grained access to control other services.
    • Register the container (app load balancer) in the external load balancer.
    • Set-based use of extended EC2 instances (auto scaling).
    • Collect logs (monitoring logs).

Achieving a similar level of integration between K8S and AWS is a lot of work. For example, building a production-ready key value store with ETCD requires k8s, high availability, encryption, and a few weeks of rolling updates. Integrating k8s with a load balancer and domain Name System is another major hurdle.

On the other hand, k8s provides free integration with GCP. Google Container Engine provides the following:

    • Distribute clusters between multiple high-availability zones.
    • Extend the cluster based on usage.
    • Provides a durable disk for the container.

K8s offers the greatest value when using Google Container Engine (Gke) because it integrates with GCP.

If you are using other IaaS vendors, rather than Amazon and Google, or running on-premises deployments, then k8s is the only option because ECS runs only on AWS. Comparable ECS on AWS or k8s on GCP, in which case building a similar infrastructure would be a lot of work.

Does it match your architecture?

ECS and k8s follow different policies in service discovery.

ECS uses a load balancer for service discovery. external and internal services can be accessed through a load balancer. The application Load Balancer (ALB) provides path and host-based routing as well as internal or external connections.

K8s use a different strategy. Only requests from outside the cluster pass through the load balancer. Virtual IP provides access to internal services without the need for a load balancer.

If your microservices architecture relies heavily on service-to-service communication, K8S provides less communication costs. In addition to this, ECS provides a simple and straightforward way to provide a micro-service architecture. In particular, if most of the services need to be accessed from the Internet.

Who runs it?

I strongly oppose you to run a container cluster, whenever possible. Or does a DIY container infrastructure add value to your business?

Cluster management via ECS is a complete management service that provides high availability, scalability, and security. There is no additional cost for using ECS, and it is also covered by the AWS Support Program. However, you are still responsible for the underlying infrastructure that is comprised of EC2 and vpcs.

Google Container Engine (Gke) also provides management services. Gke provides management k8s clusters including the underlying infrastructure. If your cluster consists of more than 5 nodes, Google's administration costs $100 a month.

Did it succeed?

K8S is licensed under Apache License 2.0, but ECS is a proprietary service provided by AWS. Nonetheless, AWS has released Blox, a collection of open source projects for container management and orchestration on ECS.

The k8s community is vibrant and produces many innovative solutions. The open source ecosystem provides flexibility. But do not expect production solutions other than the k8s core.

Vendor lock a popular controversy in ECS discussions with k8s. I think that both ECS and k8s will lock you in their solution. Although k8s is open source, Google is a major contributor to technology evolution and commercialization of its cloud platform.

Summarize

Are you using AWS as an infrastructure provider? Use ECS to manage and dispatch containers and benefit from highly integrated and fully managed services.

Do you use GCP as an infrastructure provider? Use the Google Container Engine (Gke) to provide a fully managed k8s cluster and integrate it into the GCP infrastructure.

Are you running on-premises or using another IaaS provider? Operating the k8s cluster may be your only option. When you integrate your existing infrastructure and build a highly available and scalable k8s cluster, you expect a lot of eff.

ECS vs. Kubernetes are similar and different

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.