New feature: Elastic Beanstalk Monitoring

May 10, 2017

New feature: Elastic Beanstalk Monitoring

Pipelines in Buddy are flexible enough to reproduce almost every type of workflow. Here are the three most popular use cases:

  1. Delivery – used to upload repository files or compiled app to the server on every push to branch, recurrently at a given time, or manually on click.
  2. Continuous Integration Server – used to run unit and integration tests on every push to repository and send notifications if the tests have failed
  3. Monitoring – used to check the status of website or server on given intervals and send a message in case it goes down.

In this article we'll cover practical use of the new EB monitoring action in the context of existing delivery pipelines.

Elastic Beanstalk in Pipelines

Delivery and CI Server

Delivery to Elastic Beanstalk has been available in BuddyWorks since the very beginning, a popular action used on daily basis by many users. All you need to do is select which application you want to upgrade:

Setting up Elastic Beanstalk actionSetting up Elastic Beanstalk action

If you covered your application with tests, you'll need a CI server to run them. Testing is hardly an issue directly connected with Elastic Beanstalk: it's more about the application type, its specification, and the person behind development. However, testing is crucial if you want to make sure the application deployed to your EB instance is working properly and free of errors.

Elastic Beanstalk Monitoring

This week we've released a new action allowing you to monitor the health of your EB application. Just choose the region, application and environment to check:

Adding Elastic Beanstalk actionAdding Elastic Beanstalk action

How EB Monitoring Works

When checking the status of your application, Buddy asks AWS for the color of your application:

ColorDescription
GREYYour environment is being updated.
GREENYour environment has passed the most recent health check. At least one instance in your environment is available and taking requests.
YELLOWYour environment has failed one or more health checks. Some requests to your environment are failing.
REDYour environment has failed three or more health checks, or an environment resource has become unavailable. Requests are consistently failing.

If the color is different than GREEN, the execution will be marked as failed. Theoretically, the YELLOW color is acceptable as well, since it indicates the application is up and running. However, it means it requires attention (eg. scaling).

Use Case #1 – Monitoring pipeline

You can add a pipeline that will check the status of your application every 5 minutes. If something's wrong, you'll receive a notification to your inbox, Slack channel, or mobile:

Monitoring pipeline exampleMonitoring pipeline example

Use Case #2 – Delivery pipeline

A delivery pipeline will consist of a delivery action and a subsequent monitoring action. In this case you'll have to wait until the application has finished updating, or the monitoring output will be unreliable. You can do that by setting Wait for ready in More options, so that Buddy will check the environment status first.

Wait timerWait timer

Share:

Alexander Kus

Alexander Kus

Customer Success Manager

A story-teller and conversation-lover, Alexander decided to invest his skills to help his friends at Buddy transform the cold language of patch notes into exciting narratives. Also: an avid gamer, hip-hop DJ, Liverpool FC fan, absentminded husband, and the father of two.