API Gateway 10.15 | Staging and Promotion | Asset Promotion | Asset Promotion
 
Asset Promotion
API Gateway supports staging and promotion of assets. In a typical enterprise-level, solutions are separated according to the different stages of Software Development Lifecycle (SDLC) such as development, quality assurance (QA), and production stages. As each organization builds APIs for easy consumption and monetization, continuous integration (CI) and continuous delivery (CD) is an integral part of the solution. CI is a development practice that requires developers to integrate code into a shared repository several times a day and CD is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. Development of assets starts at the development stage and once the assets are developed, they are promoted to the QA stage for testing, after testing of the assets is complete, the assets are promoted to the deployment stage.
API Gateway provides tools and features to automate your CI and CD practices. Modifications made to the APIs, policies, and other assets can be efficiently delivered to the application developers with speed and agility. For example, When you publish new applications, the API definitions change. These changes are to be propagated to application developers. The API provider has to update the associated documentation for the API or application. In most cases this process is a tedious manual exercise. You can use API Gateway staging and promotion to address such cases to automate API and policy management that makes deployment faster, introduces continuous innovation with speed and agility. This ensures that new updates and capabilities are automatically, efficiently, and securely delivered to their developers and partners, in a timely fashion and without manual intervention.
API Gateway provides the staging and promotion feature to automate the CI and CD practices. Modifications made to the APIs, policies, and other assets can be efficiently delivered to the application developers with speed and agility.
Staging and promotion allows you to:
*Promote all the run time assets such as API Gateway APIs, aliases, applications, policies, or admin configurations across different stages.
*Select and promote a subset of assets from one stage to another stage. For example, you can promote a single API and its dependencies from one stage to another.
*select dependencies involved while promoting an asset. For example, while selecting a service for promotion, you must also select the dependent policies, applications, and so on.
*modify values of attributes of selected aliases during promotion.
*roll back assets in case of failures.
When you have three stages namely Dev, QA, and Prod, you can promote assets in the given sequence. That is, you can promote assets from stage 1 to stage 2, and from there to stage 3.
To promote assets from first stage, you create aliases of those assets that you want to promote to the second stage and promote them. Similarly, from the second stage you create aliases of assets that you want to promote to the third stage and promote them. The following illustration shows the flow:
Assets can have aliases that are associated to a target stage and aliases without a target stage. When you promote to a target stage, the aliases associated to the particular target stage are promoted to the target stage. If an asset has no alias that is created for the target stage, then aliases that are not associated are included in the promotion.
Note:
During the promotion process ensure that both the source and the target system have the same master password. For more information on promoting assets using the API Gateway, see Promoting Assets from API Gateway User Interface.
Stages
The fundamental phases of assets starts with requirements or needs at the development stage and once the assets are developed, they are promoted to the QA stage for testing, after testing of the assets is complete, the assets are promoted to the production stage.
An asset's overall lifecycle can be split across two or more API Gateway instances. For example, assets that are in the development and test phases of their lifecycle can be maintained in one instance and assets that are deployed (that is, in production) can be maintained in a separate instance.
When the asset's lifecycle is split across multiple API Gateway instances, each participating instance is referred to as a stage. A stage definition in API Gateway describes an API Gateway instance by its name and configuration information.
Note:
Software AG recommends you to have API Gateway instances across stages to be completely independent. For example, the API Gateway instances from the Development stage and the API Gateway instances from the QA stage must not share any resources in common such as databases.
Promotions
Promotion refers to moving API Gateway assets from the source stage to one or more target stages. For example, you might want to promote assets you have developed on servers in a Development stage (the source API Gateway instance) to servers in a QA or Production stage (the target API Gateway instance). When you promote an asset from one stage to another, the asset's metadata is copied from the source instance to the target instance. For the list of assets and configuration settings that can be promoted, see Assets that can be exported and imported section in Export and Import Assets and Configurations.
Note:
During the promotion process ensure that both the source and the target system have the same master password.
Assets that are dependencies for the asset are also promoted. The required dependencies of an asset are always promoted with the asset. However, you can choose which optional dependencies are promoted at the time of promoting the asset. For example, at the time of promoting an API, the policies and aliases used by the API are always promoted. However, you can choose which dependent applications are promoted as applications an optional dependency for APIs. You can choose to promote all or no application, or select specific applications that you want to included with the API in the promotion.
When you promote extended settings, the watt settings are not promoted. You have to reconfigure the watt settings in each node.
The following table lists the required and optional dependencies of assets that are supported by promotion management.
Asset
Dependencies (Required)
Dependencies (Optional)
APIs
Policies, Aliases
Applications
Applications
APIs
---
Packages
APIs, Plans, Policies, Subscriptions
---
Plans
Policies
---
Subscriptions
Packages, Plans
Applications
Teams
---
Group
Approval configurations
Teams
---
Configuration > Keystore
Keystore, Truststore
---
Email destination
---
Truststore
Group
---
User
JMS Connection alias
JNDI provider alias
---
LDAP configuration
Group
---
Password expiry settings
---
User
Port (https)
Keystore, Truststore
---
Service Registry
Keystore, Truststore
---
Web service endpoint alias
Teams, JMS, JNDI, JMS trigger, Keystore, Truststore
---
Custom destinations
Keystore, Truststore, Aliases
---
Note:
Till API Gateway version 10.3, promotion management supported only the simple and endpoint types of aliases. Starting from API Gateway version 10.4, all types of aliases are supported.