Exploring some of the most common use cases for IBM Cloud App Configuration.
IBM Cloud App Configuration is a centralized feature-management and configuration service on IBM Cloud. App Configuration helps developers progressively deliver features in order to ship the code faster and reduce the risk of potential failures. It also offers SDKs for programming languages like Go, Node.js, Java, Python and Kotlin that can be integrated with the applications.
Examples of IBM Cloud App Configuration use cases
IBM Cloud App Configuration supports various use-cases for feature management and configuration management. This blog post provides a list of supported use cases.
Progressive delivery of features
Progressive delivery rolls out new features gradually to limit the potential negative impact. Progressive delivery combines software development and release practices to deliver with control. App Configuration helps roll out features in a regulated way by controlling the application behavior via toggling on-off the features. See here for details.
Dark launch and Beta testing
Dark launch releases features to a subset of users. Deploy the code to production and dark launch your features to a subset of users using Segmentation in App Configuration.
Test in your production systems by allowing the feature to be available only to the quality engineers. Once feedback on usability and functionality is satisfactory, release it to all your customers. See here for details.
Kill switches
Kill switch is a mechanism to stop something in the event of a failure to avoid wider negative impact. In the context of feature flags, the kill switch is used to disable a feature because of critical bugs raised by customers (or any other type of feedback received). Instead of having to rollback the code deployment, just disable the feature using the toggle functionality in App Configuration. See here for details.
Canary/ring deployments
Canary or ring deployments are a strategy to release features incrementally to a subset of users. App Configuration supports phased rollout to enable incremental release of features to a subset of users or devices. See here for details.
Offline support
Enabling offline mode lets you evaluate feature flags or properties when the application is running in an air-gapped environment. The App Configuration SDK supports Bootstrap file for use in highly secure environments like FedRAMP compliant systems. See here for details.
Centralized configuration control
Configuration management represents a single source for configuration items. Configuration management needs an effective way of managing changes, access control and auditability. Create and manage properties in App Configuration to use it in your infrastructure or in your code, and access them using Razee plugin or CLI. See here for details.
Configuration as Code
Configuration as Code (CaC) separates the configuration from the code and maintains the configuration in files in a repository. App Configuration helps to export the configuration and store it into configuration files. See here for details.
Faster incident management
Feature flags help prevent issues using kill switches and also help to reduce the Mean Time to Respond (MTTR). Dynamically enable diagnostic traces across your applications or microservices using a feature flag to quickly debug any customer incident. See here for details.
Toolchain integration
Integrate App Configuration to your pipelines to apply specific feature flags or properties to the environment or trigger properties of the pipeline. See here for details.
Release features across clusters in multicloud deployments
Keeping the features and properties up to date across all clusters in real-time is key to multicloud management. App Configuration supports the Razee plugin, which helps templatize and control the deployment of Kubernetes clusters across clusters. See here for details.
Automate feature flag deployments
Terraform is an open-source project that lets you specify your cloud infrastructure resources and services by using the high-level scripting HashiCorp Configuration Language (HCL). App Configuration helps automate your feature flags in a multicloud deployment. See here for details.
Infrastructure as Code
Infrastructure as Code (IaC) is the process of managing and provisioning computer data centres through machine-readable definition files. IaC tools have conditional logic to turn on/off parts of the infrastructure. Using feature flags in IaC allows you to configure and build infrastructure dynamically based on environments. See here for details.