Introduction to Deploying APIs
Just like Frends processes and subprocesses, Frends APIs and their linked processes are first created and developed in the Development environment. To be able to use an API in other environment, you need to deploy it to the target environment.
When deploying an API, the user can choose to deploy a previously Published version, or create a new Published version from the current Development version. The Deployment dialog allows the user to see which processes will be deployed as well as the Swagger Specification. If a Published version is no longer valid, for example due to a used process being deleted, then it can no longer be Deployed.
API version control
Before going into API deployment, let's go through how API versioning works in Frends.
API versions exists in two different states. The version that is seen in the Development environment is always the current Development version of an API. In all other environments, published versions are shown.
In Frends, a API version always consists of the OpenAPI Specification and the Frends processes linked to API operations defined in the OpenAPI Specification.
Development version
The development version of an API is a version where the linked processes do not have locked down versions. That means that the user can update any process that is a part of the API without taking any additional actions. The development version can also have it's OpenAPI Specification modified. When an API is ready for deployment, a Published version will be created.
In other words, API's OpenAPI Specification and linked processes can be modified only in the Development environment.
Published versions
When an API's OpenAPI Specification and linked processes are ready for testing in the Test Enironment or for deployment to the Production environment, it is published from the Development environment to the target environment.
A published version contains everything a development version does, but it no longer allows any changes. Publishing a development version of API locks down the linked process versions which are in use, and the OpenAPI Specification can no longer be changed. A published version can be deployed as a unit to Test or Production environment, and it can also be used to rollback the Development version to a previous version.
The next article is Example on Deploying the current Development version of an API.