Know All The Facts About Amazon Web Services

amazon web services

Amazon Web Services can be a bit daunting at first, but it’s quite easy to set up and use! Right now, they’re offering two choices of container services: Amazon Elastic Container Service (EKS) and Amazon Elastic Container Service (ECS). Which one is right for you? This article will clear things up.

Amazon Elastic Kubernetes Service (EKS)

Amazon Elastic Kubernetes Service (EKS) is a fully managed container service designed to be easy to set up and use. EKS uses the Linux kernel container technology that CoreOS developed. It includes all the features of Amazon ECS (more on that soon) and adds additional features such as built-in GCE images, asynchronous deploy options, and a flexible plugin system.

Amazon Elastic Container Service (ECS)

Amazon Elastic Container Service (ECS) is a fully managed container service. ECS uses the Docker container technology that CoreOS also developed. It includes all the features of Amazon EKS (more on that soon) and adds additional features such as built-in GCE images, dynamic network interfaces, and a flexible plugin system.

EKS vs. ECS

Compatibility

Amazon ECS and Amazon EKS are both compatible with each other. You can use containers directly between ECS and EKS, deploy your containers in either service, and deploy your applications using the Amazon Container Registry (ACR) between them.

Network Interfaces

Amazon ECS supports shared networks. This means that multiple deployment units can use the same network interface to communicate with each other. Amazon EKS, however, is incompatible with shared networks. Each deployment unit’s network interfaces are isolated from each other. This design choice was made to keep the network interfaces isolated and secure. This implementation in EKS differs from how it’s implemented in ECS, which will get covered later.

Images

Amazon EKS has a growing list of built-in GCE images that are compatible with Kubernetes. Amazon ECS does not have any default container images except for the official Docker Hub repository. You must use the official Docker image repository for images that are compatible with Kubernetes.

Deployment

Amazon EKS supports both manual and automated deployments. Amazon ECS only supports automated manual deployments. This means that Amazon EKS is compatible with the Kubernetes Federation feature, but Amazon ECS is not. Another difference is that EKS supports additional deployment customization options, such as choosing the node type on which your deployment runs.

Volume Management

Amazon EKS supports dynamic volume access. Amazon ECS does not. This means that you can only use block storage volumes with Amazon ECS, and you must manually create them ahead of time. Amazon EKS, on the other hand, dynamically manages the block storage volumes attached to each deployment unit.

Network Configurations

Amazon ECS works with GCE’s cloud-init system. This means you can use cloud-init files to configure the container instances on which your deployments run. Amazon EKS does not support cloud-init, so you must manually configure each deployment unit. This means that EKS does not support container auto-registration, which means it is incompatible with the Kubernetes CoreDNS feature.

Monitoring

Amazon EKS uses Cloudwatch for monitoring, and Amazon ECS does not. Instead, Amazon ECS uses a combination of system logging and metrics from Docker’s remote API. If you’re new to monitoring in Kubernetes, don’t worry! I’ve created guides for both Amazon EKS and Amazon ECS — check them out here and here.

Configuration

Amazon EKS uses a project to manage resources such as clusters and namespaces. An account may have multiple projects. This means that you can manage multiple EKS clusters from one account. Amazon ECS does not support projects for managing resources such as clusters, namespaces, or deployments. Each deployment unit must have an account that can manage its resources.

Plugins

Amazon web services elastic Kubernetes service, or AWS EKS, has a flexible plugin system for extending its functionality. Amazon ECS does not have any plugins. Amazon ECS has a built-in plugin system for GCE. This means that you can extend your container services beyond what Kubernetes offers out of the box. You can extend AWS EKS functionality to implement custom features, such as autoscaling and networking.

Operating System Support

Amazon EKS supports multiple versions of Linux. Amazon ECS supports only one kernel version at a time. You have to manually configure your deployment units’ operating systems to support different Linux kernels. Amazon EKS supports multiple versions of Linux, but you must use the GCE images that are available instead of using the official Docker images.

Bottom Line

EKS and ECS are both great choices to create your container services on. If compatibility with the GCE plugin is important to you, ECS is the best choice. Otherwise, EKS is the better choice. You can use both in conjunction with each other.

Leave a Reply

Your email address will not be published. Required fields are marked *