Setting up a deployment plan

Last modified by Erik Bakker on 2024/02/20 08:24

In this microlearning, we will focus on setting up a deployment plan and learn about the considerations when setting up such a deployment plan.

Should you have any questions, please contact academy@emagiz.com.

1. Prerequisites

  • Basic knowledge of the eMagiz platform
  • Understand eMagiz releases in basics
  • Have an environment where you can add releases that is operational to try out the deployment plan

2. Key concepts

This microlearning centers around the Deployment plan. The deployment plan is a series of steps that must be executed on a TAP environment to deploy the (active) release. Active in that all changes made to the release compared to the running environment are applied effectively before executing the deployment.

The Deployment plan is defined in the Deployment Plan section under Deploy. Each Test, Acceptance, and Production environment has its plan, which may vary across the environments. The Deployment plan is executed from the release itself, using a Release's options.

crashcourse-platform-deploy-setup-deployment-plan-pic1.png

3. Defining the Deployment plan

Below is a screenshot of an elementary Deployment plan. In the next section, we'll look at the options available for configuration. These steps can be added with the button New, as seen below.

crashcourse-platform-deploy-setup-deployment-plan--default-deployment-plan-gen3.png

Running a deployment plan means machines are stopped, and new images are deployed. eMagiz does this by comparing your currently running release and the recent release you have activated. Note that a new release tag also constitutes a difference, so your whole environment is updated when you deploy a new release. This means that for seconds the runtimes are not accessible.

3.1 Enable or disable triggers

One of the steps available to you is to disable all triggers defined in the Manage phase. Depending on the alerting approach, specific alerts will be triggered during execution, regarded as false-positive alerts. Making this step the first one of any deployment plan would prevent this from happening.
At the same time, you can enable these triggers as the last step in any deployment plan. This is the default behavior when eMagiz generates your deployment plan for you.

Note that when you disable triggers, no alerting will be triggered; consequently, no notifications will be sent.

3.2 Deploy Machine

In Architecture, you can deploy the machine for every separate machine defined in your Deploy Architecture. On top of that, you have the option to start, stop or restart machines that run in the AWS Cloud.

  • Deploy Machine
  • Start Machine (only AWS)
  • Stop Machine (only AWS)
  • Restart Machine (only AWS)

crashcourse-platform-deploy-setup-deployment-plan--deploy-machine-options.png

Note that when you deploy a new image to a machine, all runtimes on that machine will be restarted. Downtime depends on the runtime size and necessary changes for that runtime.

3.4 Manual steps

All the above options are automated steps. In case a specific action needs to be taken before any next automated step needs to be taken, a manual step can be added. The description helps to describe it, and the deployment steps will halt at this part. It is, however, often used for pre-deployment and post-deployment reminders.

3.5 Keep the deployment plan up to date

The following ways will help to keep the plan up to date:

  • Use the Default plan option to handle 90% of all cases so that every new runtime is automatically added
  • Copy the plan to the following environment to align all plans similarly.
  • Ensure to have a Prepare deployment step in your work definition (sprint) and improve the deployment at each iteration.

4. Key takeaways

  • The deployment plan is part of the Release Management feature set of eMagiz
  • Using the deployment plan, you are always sure that the release defined is the release that runs on any environment (notably the production environment)
  • The deployment plan is a must-have to deploy all the changes in an active release on an environment
  • Keeping the plan up to date is easy and takes away the manual effort to deploy flows on the different runtimes.

5. Suggested Additional Readings

If you are interested in this topic and want more information on it, please read the help text provided by eMagiz when executing these actions.

Tags:
eMagiz
1.0.0