Amazon ECS workloads are now supported in Spotinst Ocean!

Reading Time: 5 minutes

Intro

For the past 4 years, Spotinst has transformed the way thousands of businesses manage and consume the public cloud providers’ excess capacity. Automating cloud workloads is an endless journey for Spotinst. Therefore, we are constantly developing new capabilities that are solely intended to ease and simplify our customers’ day-to-day operations. 

The cloud-compute sphere is constantly evolving, and the most trending topic that is keeping the industry busy is transitioning to a micro-serviced container architecture. 

Nowadays, when talking about containers, the leading technologies which will always come up during the conversation are Kubernetes and Amazon ECS. 

Spotinst Ocean has been steadily establishing its position as the leading compute engine for running containers on Kubernetes in the public cloud. Spotinst Ocean Abstracts containers from VMs by dynamically selecting compute instances that fit the container resource requirements and therefore allowing users to shift their focus from infrastructure to application.

The popularity of the open-source Kubernetes as the solution for container management is unquestionable, however, many AWS users still opt for the provider-specific solution, Amazon Elastic Container Service (ECS). 

Amazon ECS is well integrated with other Amazon services such as Route 53, ALB\ELB, IAM, and EBS. This tight integration allows users of AWS to have their applications deployed and running in a quick and easy manner. On top of that, having all resources and services under the same roof eases deployments and dramatically improves management and monitoring. 

Currently, ECS users wishing to reduce their cloud-compute costs are using Spotinst Elastigroup to manage and scale their ECS clusters. 

While Spotinst Elastigroup has remarkable built-in features such as Auto Scaling technology proper resource utilization of instances, and cost show-back for cost visibility, we have decided to bring the feature-rich serverless experience that Ocean provides for Kubernetes, also to Amazon ECS users.

Today, we are happy to announce that Spotinst Ocean for Amazon ECS is available to all Spotinst customers!

Why Ocean?

The existing options for Amazon ECS Task Definition launch types are Fargate and EC2. Fargate is the managed solution by AWS, which provides its users with the benefit of no longer worrying about instance provisioning and scaling. However, having no access to the actual infrastructure the cluster is running on comes with its own limitations:

  • Cost – the price of running workloads on Fargate can be as high as triple the cost of running the same workloads with On-Demand instances.
  • No ability to SSH into an instance for debugging purposes.
  • No ability to run Daemons.
  • Network mode for task definitions is limited to “awsvpc”.

With Spotinst Ocean, customers can benefit from a service that manages the infrastructure on one hand but allows them to dive in and provides deeper visibility on the other, all while reducing costs by leveraging EC2 Spot instances and a wide range of additional features and capabilities.

“We use Spotinst Elastigroup to help manage our global ECS footprint, and after seeing what they can do, we’re really excited to try Spotinst Ocean and increase our value even more”

Steve Dorazio, Principal Engineer, Red Spark 

 

Maximum utilization at minimum cost

As services and tasks are deployed, Spotinst Ocean utilizes Spotinst’s Autoscaler to scale the cluster and meet the application demands during routine and peak traffic. The autoscaler takes into account the resource requirements of each task, Labels, and Constraints, as well as pricing and availability data to match the optimal machine type for each workload type.
Spotinst Ocean is empowered with additional features such as headroom configuration (reserved idle capacity for immediate task scaling), smart cluster rolls for replacing instances, and our latest reinforcement, Right-Sizing. With Right-Sizing, Spotinst Ocean provides suggestions based on the actual resource consumption of services which is gathered by cloudwatch metrics. Right-Sizing helps the user optimize the service resource requirements in order to increase utilization and lower operational costs even further. 

With all of the above, Spotinst Ocean runs the ECS cluster on the correct and elastic blend of EC2 Spot, Reserved and On-Demand Instances, ensuring cost optimization and high availability with enterprise-grade SLA.

For a more detailed review on Spotinst Ocean’s benefits, please check out our latest Blog post on the subject: 

https://spot.io/blog/oceans-eleven-11-reasons-to-adopt-spotinst-ocean/

System Process Flow

As Tasks and Services are deployed via the Amazon CLI, API or Console UI, the Spotinst Ocean platform scans the cluster and identifies tasks that have no place to be scheduled. Once a  scale-up is triggered during peak traffic, the Spotinst Auto-Scaler will locate the most optimal instance type and lifecycle for cost and utilization. As new instances register to the ECS cluster via their User Data scripts, the ECS task scheduler will be able to place the pending tasks.
Furthermore, with appropriate headroom configured, a buffer of spare capacity will be maintained, based on the cluster’s most common tasks. The headroom allows for Incoming tasks to be scheduled immediately, eliminating the wait-time until new instances spin up and register to the cluster. 
Simultaneously, the Auto-Scaler is constantly running simulations of the cluster, utilizing bin packing algorithms to locate an optimal allocation of tasks across container instances. When it identifies an instance whose tasks may be otherwise distributed across the cluster, a scale-down will be triggered, and the instance will be terminated after a draining timeout, thus promoting a more utilized cluster.

This way the system provides high availability while ensuring optimal resource utilization and lowering costs.

Getting Started

Migrating the ECS Container Instances to Spotinst Ocean is just a few clicks away:

  • Have your ECS cluster ready with at least one container instance up and running.

  • Make sure your Spotinst account is connected to your AWS account.

  • Create a new Ocean Cluster, selecting your existing ECS cluster in the creation wizard.

  • Gradually scale down the ECS cluster’s original ASG.

  • Watch Ocean start working it’s magic and scaling your infrastructure!

         

You can also get started with Ocean ECS by following the video tutorial provided below:

Alternatively, you can find more information and tutorials in our documentation.