Skip to main content

Scale back-end service on AWS from Slack

Demo

Problem

One of our customer aimed to scale their application on AWS in response to various business conditions and events. Additionally, they wanted the flexibility to manually schedule the application scaling as needed. Importantly, the scaling process should be user-friendly enough for team members who are experts in the business domain but unfamiliar with AWS or the technical aspects the engineering team manages.

Solution

The customer created a private plugin with multiple actions:

ActionDescription
Schedule service scalingScales the service on AWS Fargate based on the provided schedule.
Get service scaling informationReturns the current scaling information for the service.
Scale service to standard capacityScales the service to the standard capacity so you don't need to guess what is the right standard capacity for each service.
Remove scheduled service scalingRemoves the scheduled scaling for the service.

The plugin uses AWS SDK for JavaScript to communicate with AWS. After creating the plugin, the customer hosted it on AWS. This setup enabled the customer to use the plugin from multiple platforms using clients and supporting a range of use cases:

  • Manual scaling directly from Slack channel using natural language (see the demo above);
  • Make scenarios for automatic scaling based on the input from other services connected to Make, like Google Sheets with the related data;
  • Make scenarios for scheduled scaling based on the time of the day and day of the week.

The most beautiful thing is that once the plugin is implemented and histed, non-technical people can easily use it from any platform that covers their needs.