Amazon EC2 Container Service vs Kubernetes

Need advice about which tool to choose?Ask the StackShare community!

Amazon EC2 Container Service

9.9K
6.7K
+ 1
322
Kubernetes

39.2K
33.2K
+ 1
628
Add tool

Amazon EC2 Container Service vs Kubernetes: What are the differences?

Developers describe Amazon EC2 Container Service as "Container management service that supports Docker containers". Amazon EC2 Container Service lets you launch and stop container-enabled applications with simple API calls, allows you to query the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features like security groups, EBS volumes and IAM roles. On the other hand, Kubernetes is detailed as "Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops". Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.

Amazon EC2 Container Service belongs to "Containers as a Service" category of the tech stack, while Kubernetes can be primarily classified under "Container Tools".

Some of the features offered by Amazon EC2 Container Service are:

  • Docker Compatibility
  • Managed Clusters
  • Programmatic Control

On the other hand, Kubernetes provides the following key features:

  • Lightweight, simple and accessible
  • Built for a multi-cloud world, public, private or hybrid
  • Highly modular, designed so that all of its components are easily swappable

"Backed by amazon", "Familiar to ec2" and "Cluster based" are the key factors why developers consider Amazon EC2 Container Service; whereas "Leading docker container management solution", "Simple and powerful" and "Open source" are the primary reasons why Kubernetes is favored.

Kubernetes is an open source tool with 54.2K GitHub stars and 18.8K GitHub forks. Here's a link to Kubernetes's open source repository on GitHub.

According to the StackShare community, Kubernetes has a broader approval, being mentioned in 1018 company stacks & 1060 developers stacks; compared to Amazon EC2 Container Service, which is listed in 784 company stacks and 374 developer stacks.

Decisions about Amazon EC2 Container Service and Kubernetes
Andres Paredes
Lead Senior Software Engineer at InTouch Technology · | 3 upvotes · 49.2K views

If you want to integrate your cluster and control end to end your pipeline with AWS tools like ECR and Code Pipeline your best option is ECS using a EC2 instance. There are pros and cons but it's easier to integrate using cloud formation templates and visual UI for approvals, etc. ECS is free, you need to pay only for the EC2 instance but unfortunately, it is not standard then you cannot use standard tools to see and manage your Kubernetes. EKS in the other hand uses standard Kubernates definitions but you need to pay for the service and also for the EC2 instance(s) you have in your cluster.

See more
Simon Reymann
Senior Fullstack Developer at QUANTUSflow Software GmbH · | 28 upvotes · 3.3M views

Our whole DevOps stack consists of the following tools:

  • GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
  • Respectively Git as revision control system
  • SourceTree as Git GUI
  • Visual Studio Code as IDE
  • CircleCI for continuous integration (automatize development process)
  • Prettier / TSLint / ESLint as code linter
  • SonarQube as quality gate
  • Docker as container management (incl. Docker Compose for multi-container application management)
  • VirtualBox for operating system simulation tests
  • Kubernetes as cluster management for docker containers
  • Heroku for deploying in test environments
  • nginx as web server (preferably used as facade server in production environment)
  • SSLMate (using OpenSSL) for certificate management
  • Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
  • PostgreSQL as preferred database system
  • Redis as preferred in-memory database/store (great for caching)

The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:

  • Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
  • Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
  • Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
  • Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
  • Scalability: All-in-one framework for distributed systems.
  • Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
See more
Benoit Larroque
Principal Engineer at Sqreen · | 1 upvote · 1.6K views

I chose Amazon EC2 Container Service to power our production cluster. It's mostly all managed, you just have to provide a few EC2 (for examples through an autoscaling group) to set it up. Configuration is super easy and it work really well to get a few simple http services to production.

It's no Kubernetes but is much easier to understand.

Also when we started Sqreen, it was the only managed tool available in AWS.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Amazon EC2 Container Service
Pros of Kubernetes
  • 99
    Backed by amazon
  • 71
    Familiar to ec2
  • 53
    Cluster based
  • 42
    Simple API
  • 26
    Iam roles
  • 7
    Cluster management
  • 7
    Programmatic Control
  • 7
    Scheduler
  • 4
    Socker support
  • 4
    Container-enabled applications
  • 1
    No additional cost
  • 1
    Easy to use and cheap
  • 159
    Leading docker container management solution
  • 124
    Simple and powerful
  • 101
    Open source
  • 75
    Backed by google
  • 56
    The right abstractions
  • 24
    Scale services
  • 18
    Replication controller
  • 9
    Permission managment
  • 7
    Simple
  • 7
    Supports autoscaling
  • 6
    Cheap
  • 4
    Self-healing
  • 4
    Reliable
  • 4
    No cloud platform lock-in
  • 3
    Open, powerful, stable
  • 3
    Scalable
  • 3
    Quick cloud setup
  • 3
    Promotes modern/good infrascture practice
  • 2
    Backed by Red Hat
  • 2
    Runs on azure
  • 2
    Cloud Agnostic
  • 2
    Custom and extensibility
  • 2
    Captain of Container Ship
  • 2
    A self healing environment with rich metadata
  • 1
    Golang
  • 1
    Easy setup
  • 1
    Everything of CaaS
  • 1
    Sfg
  • 1
    Expandable
  • 1
    Gke

Sign up to add or upvote prosMake informed product decisions

Cons of Amazon EC2 Container Service
Cons of Kubernetes
    Be the first to leave a con
    • 13
      Poor workflow for development
    • 11
      Steep learning curve
    • 5
      Orchestrates only infrastructure
    • 2
      High resource requirements for on-prem clusters

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Amazon EC2 Container Service?

    Amazon EC2 Container Service lets you launch and stop container-enabled applications with simple API calls, allows you to query the state of your cluster from a centralized service, and gives you access to many familiar Amazon EC2 features like security groups, EBS volumes and IAM roles.

    What is Kubernetes?

    Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use Amazon EC2 Container Service?
    What companies use Kubernetes?
    See which teams inside your own company are using Amazon EC2 Container Service or Kubernetes.
    Sign up for Private StackShareLearn More

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with Amazon EC2 Container Service?
    What tools integrate with Kubernetes?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Kubernetesetcd+2
    2
    1024
    Dec 8 2020 at 5:50PM

    DigitalOcean

    GitHubMySQLMongoDB+11
    2
    1863
    PythonDockerKubernetes+7
    3
    696
    May 21 2020 at 12:02AM

    Rancher Labs

    KubernetesAmazon EC2Grafana+12
    3
    1230
    Apr 16 2020 at 5:34AM

    Rancher Labs

    KubernetesRancher+2
    2
    782
    PythonDockerKubernetes+14
    11
    2110
    What are some alternatives to Amazon EC2 Container Service and Kubernetes?
    Google Kubernetes Engine
    Container Engine takes care of provisioning and maintaining the underlying virtual machine cluster, scaling your application, and operational logistics like logging, monitoring, and health management.
    Amazon EKS
    Amazon Elastic Container Service for Kubernetes (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS without needing to install and operate your own Kubernetes clusters.
    AWS Fargate
    AWS Fargate is a technology for Amazon ECS and EKS* that allows you to run containers without having to manage servers or clusters. With AWS Fargate, you no longer have to provision, configure, and scale clusters of virtual machines to run containers.
    Azure Kubernetes Service
    Deploy and manage containerized applications more easily with a fully managed Kubernetes service. It offers serverless Kubernetes, an integrated continuous integration and continuous delivery (CI/CD) experience, and enterprise-grade security and governance. Unite your development and operations teams on a single platform to rapidly build, deliver, and scale applications with confidence.
    Docker for AWS
    An integrated, easy-to-deploy environment for building, assembling, and shipping applications on AWS, Docker for AWS is a native AWS application optimized to take optimal advantage of the underlying AWS IaaS services while giving you a modern Docker platform that you can use to deploy portable apps.
    See all alternatives