Hot deployment for ephemeral bundle
search cancel

Hot deployment for ephemeral bundle

book

Article ID: 403454

calendar_today

Updated On:

Products

CA API Gateway

Issue/Introduction

We are actully looking forward to isolate ephemeral bundle import during image build phase and instead able to have deployment post build phase (post gateway startup).

So Can you assist us on, is there a hotdeployment capability available in ephemeral gateway? or how could this isloation be achieved ?

Environment

11.1

Resolution

Connecting the gateway directly to a S3 bucket to pull the bundles would have a couple of significant drawbacks:

  • S3 would become the Single Point of Failure - if not available, your gateway won’t start
  • Whenever you restart your gateways, each gateway would connect to S3 and potentially download a large amount of data, for which you would be billed. It could become quite expensive.
  • For the gateway to connect to S3 and download the bundles, you would have to install a CLI (and potentially its dependencies such as Python) on the gateway itself, thus overloading the gateway custom image.
  • Last, managing the various versions and the rollbacks would be more cumbersome.

We would advise you use an init container, who could (potentially) connect to S3 to get the needed bundles. Thus, it would be the init container that is loaded with all the plumbing required to connect to S3.

The CI/CD pipeline would include the steps to connect to S3 and load the bundles. Thereafter, it would (if successful), restart the running gateway. The benefits of this approach do mirror the drawbacks outlined above for a direct S3 connection:

  • If S3 is not available, your gateway keeps running
  • There is only a single download from S3 - less network overhead, reduced costs
  • If you want to roll-back, you just need to restart the gateway with a previous version of the init container.