Promoting assets
webMethods API Gateway assets are critical to keep a business operational. To facilitate the migration of assets smoothly across different webMethods API Gateway instances and stages, webMethods API Gateway supports the movement of various assets. For example, webMethods API Gateway supports assets like APIs, policies, applications, packages, plans, approval configurations on through staging and promotion, and export and import capabilities.
webMethods API Gateway supports staging and promotion of assets. In a typical enterprise-level, solutions are separated according to the different stages of the 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) are integral for the solution. CI is a development practice that requires developers to integrate code into a shared repository several times a day. 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. After 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.
webMethods API Gateway provides tools and features to automate your CI and CD practices. Modifications that are 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 must update the associated documentation for the API or application. This process is a tedious manual exercise. You can use webMethods 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 introduction 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.
webMethods API Gateway provides the staging and promotion feature to automate the CI and CD practices. Modifications that are made to the APIs, policies, and other assets can be efficiently delivered to the application developers with speed and agility.
Staging and promotion allow you to perform the following operations.
- Promote all the runtime assets such as webMethods API Gateway APIs, aliases, applications, policies, or admin configurations across different stages. For the list of assets and configuration settings that can be promoted, see Promotions.
- 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 during asset promotion. For example, when you select a service for promotion, you must also select the dependent policies, applications.
- Modify values of attributes of selected aliases during promotion.
- Roll back assets during failure.
- Repromote assets, if any recent changes, to the already promoted stages.
When you have three stages, that is, Dev, QA, and production, you can promote assets in the set 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 that are 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.
Stages
The fundamental phases of assets start with requirements or needs at the development stage. After the assets are developed, they are promoted to the QA stage for testing. When the 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 webMethods API Gateway instances. For example, assets that are in the development and test phases of their lifecycle can be maintained in one instance. Assets that are deployed (that is, in production) can be maintained in a separate instance. When the asset's lifecycle is split across multiple webMethods API Gateway instances, each participating instance is referred to as a stage. A stage definition in webMethods API Gateway describes an API Gateway instance by its name and configuration information.
It is recommended to have webMethods API Gateway instances across stages to be fully independent. For example, the webMethods API Gateway instances from the Development stage and the webMethods API Gateway instances from the QA stage must not share any common resources such as databases.
Promotions
Promotion means moving webMethods API Gateway assets from the source stage to one or more target stages. For example, you can move assets from a Development server to a QA or Production server. 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 Exporting and importing assets and configurations.
Assets that are dependencies for the asset are also promoted. The dependencies of an asset are promoted with the asset. However, you can choose which dependencies are promoted at the time of promoting the asset. For example, at the time of promoting an API, the policies and aliases that are used by the API is promoted. However, you can choose which dependent applications are promoted as an optional dependency for APIs. You can choose to promote all or no applications, or select specific applications that you want to include with the API in the promotion.
The following table shows the required and optional dependencies for assets that promotion management supports.
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 | Access profiles | - |
Configuration > Keystore | Keystore, Truststore | - |
Email destination | - | Truststore |
Service Registry | Keystore, Truststore | - |
Custom destinations | Keystore, Truststore, Aliases | - |