How I Automated Deployments

And Saved 200 Hours of Work per Year.

Return to Home Page

Context

In 2020, while working in the eForms and eSignature Center Of Excellence (EECOE), we began to work remotely due to the COVID-19 pandemic. Soon afterwards, I noticed that it not only took a long time to deploy large Quadient Inspire Content Manager (ICM) code packages - think over 200MB - it also would cause significant performance degradation on my work laptops due to the significant bandwidth usage. To export or deploy a 200MB ICM package, it would take about 10 minutes.

In the EECOE, there are multiple in-flight projects at any given time - which means dozens of ICM packages are exported and deployed each week. Therefore, the time developers would spend deploying ICM packages would amount to a few hours per week.

The Build

I thought: instead of using our own laptops to deploy ICM packages, is there a way to deploy these packages in the backend? There was.

Using Quadient Inspire Scaler (a backend workflow orchestration platform), I developed two core backend APIs:

  1. ICM package export - which exports files and folders recursively from a specified ICM path to an ICM package on the filesystem
  2. ICM package import - which imports an ICM package from the filesystem

The above workflows were deployed to all environments so they could be called on each server.

Next, I developed a Scaler orchestration workflow that took in a set of instructions (i.e. what to export - if anything - and from which environment; and where to deploy). This deployment orchestration workflow handled everything from determining the naming convention to transferring the package to other servers.

Finally, after all the core backend APIs and workflows were in place, I developed a web app and backend API that tied it all together. The web app allowed users to select which environment to deploy from, what to deploy, where to deploy, package settings, and import settings. As with the rest of the EECOE Web Apps, the deployment app came complete with an authentication system and roles which determined who could deploy ICM packages.

The Result

Now that deployments could be done through a web app with a few clicks, the time required to deploy ICM packages was cut back dramatically. The new deployment process provides key benefits:

On average, the new process saves 5 minutes per package export, 5 minutes per package import, and 1 minute per deployment for updating documentation. In the 2022 fiscal year, there was:

As a result of the new deployment process, I saved my team 200 hours per year and enhanced our deployment documentation.

Return to Home Page