Simplify GitHub Actions scaling with Spot Connect and Elastigroup

Spot Connect and Elastigroup with Github Actions scalingReading Time: 3 minutes

GitHub Actions is a CI/CD platform that allows you to define custom workflows and automate various tasks within your software development projects.

With GitHub Actions, you can set up continuous integration and deployment pipelines, run tests, perform code analysis, and execute other actions whenever specific events occur, such as pushing code to a repository or creating a pull request. These workflows are defined in YAML files and can be easily customized to meet your project’s specific requirements.

The workflows steps are defined as Jobs that are executed inside virtual machine runners like EC2 instances. They either run a script that you define or run an action to simplify your workflow.

The runner is the application that runs a job from a GitHub Actions workflow. It is used by GitHub Actions in the hosted virtual environments, or you can self-host the runner in your own environment.

In the case of autoscaling self-hosted runners, you’ll need automation based on the configured webhook events. A self-hosted runner is added as soon a workflow_job webhook event with the queued activity is received. The runner added must match the label requested by the Workflow Job. Once the Job is complete, the runner must be removed.

 

So where is the catch?

High and unpredictable cost: Github Actions workflows can run on GitHub hosted runners, but the pricing and management can become significantly higher as your usage increases. To maximize your compute savings, you may be forced to use and manage self-hosted runners.

Complex to set up and maintain: In the case of self-hosted runners, auto-scaling and management has a lot of moving parts. Also, there are only open-source solutions available that would require a lot of setup and management. In the end, you not only end up paying for the Compute resources in AWS but also for scaling and management resources like API Gateway, SQS, and Lambda, which can be avoided using this integration.

 

Spot Connect and Elastigroup to the rescue!

You can now easily scale and manage your Github workflow jobs by hosting your Github runners in Elastigroup with auto-scaling by Spot Connect.

Using this integration, DevOps engineers can avoid any tedious and cumbersome processes involved in the setup and management of GitHub runners. Instead, they would only pay for the compute resources that they use.

Additionally, Elastigroup makes sure the savings of your compute resources are always optimized by utilizing all the available Spot and Reserved markets. Spot Connect acts as a “connective tissue,” providing a single pane of glass to orchestrate and automate the GitHub workflows.

 

Architecture

Elastigroup manages the EC2 GitHub runners, and Spot Connect makes sure the runners autoscale based on the job requirements. As soon as a Workflow is submitted to your repository, it triggers a webhook in Spot Connect, which scales up the Elastigroup EC2 instance to serve the runner job based on the workflow label. Any idle runners are then scaled down by Spot Connect based on your scheduled trigger.

Github Spot Connect Elastigroup Workflow
View the documentation for a step-by-step process on how to set up this integration.

 

Try the Elastigroup GitHub Actions integration today

Elastigroup with Spot Connect makes sure the GitHub runners are run with more EC2 compute savings and no management overhead of EC2 autoscaling. Elastigroup reliably uses all the available Spot markets and any unused Savings Plans and/or reservations in your AWS account. Spot Connect then manages all the autoscaling of the EC2 runners by automatically increasing or decreasing the number of self-hosted runners in your GitHub repository based on the workflow job demand.

The Elastigroup GitHub Actions Integration eliminates all complexities involved in auto-scaling the GitHub runners and managing your EC2 instance in a cost-efficient and reliable way. See our documentation site for details on setting up this integration.

Simplify, save, optimize, and automate your GitHub workloads with Elastigroup and Spot Connect. Reach out to your Spot contact person for more details.