Overview of Elastigroup for Google Cloud

Amiram Shachar
4 min readJan 18, 2019

--

I had the honor to take a call with a customer today. It was so refreshing and fun to remember how just 3 years ago I was the only “sales” guy in the company.

The demo today was focused on Google Cloud, so I decided to take the opportunity and write a quick note about how Elastigroup works with Google Cloud.

As you can read in our Google Cloud product page, Elastigroup is basically a cluster software that replaces Google’s Instance Group with a smarter orchestration software which can choose servers more intelligently and maneuver VMs across Preemptible & Regular pricing model while providing high-availability.

Getting Started

Here, you’ll be launching the Elastigroup creation wizard

Today, we offer 2 main use cases

  • Web Services behind a Backend Service (Google Load Balancer)
  • Containers — Including GKE (Kubernetes) and Docker Swarm

The creation wizard is composed out of 3 steps

  1. General
  2. Compute
  3. Scaling

General

In this section, you’ll be providing basic parameters like Name, Description and also Strategy settings of Preemptible VMs percentage, and capacity boundaries.

Compute

In this section, you’ll be providing compute, network and storage configurations.

Network Settings

Choose Region & Network config and tags
Add Instance Types to your Elastigroup

Elastigroup is well-known for its heterogenous compute selection, meaning that you can use multiple compute hardware and sizes and Elastigroup will choose the best mix of instances that suites the workload.

Launch Specification & Load Balancing

In this section, you should specify your base OS Image and provide a startup script. In addition, you may want to add any Backend Services (Google Load Balancers), every instance launched by Elastigroup will be registered to these Backend Services and will be gracefully drained and deregistered upon scaledown/termination.

Scaling

After adding your desired scaling policies, continue to the review part

After reviewing our configuration, Let’s hit Create.

Once created, you’ll be able to access the Elastigroup dashboard

Elastigroup’s Dashboard for Google Cloud

You’ll be able to observe the running Instances over time, their distribution across Regions, Zones and Instance Types.

Zoom in into Elastigroup’s Prediction

Cluster with a target capacity of 100 VMs

This cluster is configured to run a minimum of 100 nodes. As you can tell from the chart above, the nodes are running as Preemptible VMs, which are 80% cheaper than regular ones. However, the nodes may be terminated at any single moment by Google (and obviously no node will run more than 24 hours according to Google’s Preemptible VMs limitations).

In order to maintain High Availability in this cluster, Elastigroup predicts instances that are about to be terminated ahead of time and gracefully replaces Instances prior to getting the Preemption notification from Google.

Predicted Replacement of Google Preemptible VM

Some final words. It is so great to see Elastigroup expanding to more cloud platforms and helping DevOps & Software engineers to get better access to infrastructure with much fewer costs and greater confidence.

Back to building.

--

--