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:

eb-monitoring
eb-monitoring

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:

eb-monitoring
eb-monitoring

How EB Monitoring Works

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

Color Description
GREY Your environment is being updated.
GREEN Your environment has passed the most recent health check. At least one instance in your environment is available and taking requests.
YELLOW Your environment has failed one or more health checks. Some requests to your environment are failing.
RED Your 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:

eb-monitoring
eb-monitoring

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.

eb-monitoring
eb-monitoring