ODA Canvas - use-case library
This use-case library defines the interactions between a generic ODA Component and the ODA Canvas. The ODA Canvas provides access to a range of common services (for identity management, authentication, observability etc) and has a set of Software Operators that automatically configure these services based on requirements defined in the ODA Component YAML specification.
Software Operators are a key concept in the ODA Canvas. For more information, see the 2016 CoreOS blog post that introduced the concept: Introducing Operators: Putting Operational Knowledge into Software. There is a good definition of software operators at: operatorhub.io/what-is-an-operator.
The ODA canvas is itself a modular and extensible platform. The list below shows the operators that appear in the Canvas use-case inventory. The ODA-Component Accelerator is building a reference implementation of an ODA Canvas with a range of operators that are open-source and freely available for organizations to re-use, extend or replace with their own implementations. We expect a typical production implementation will use a combination of standard operators and custom operators that can implement that organizations specific operational policies.
ODA Software Operators
This is a list of the Canvas operators (including status of whether this has been tested in the Canvas referernce implementation).
Operator | Description |
---|---|
Component Lifecycle Management | The Component Lifecycle Management operator manages the de-composition of an ODA component into APIs, Events and other resources (that are processed by their corresponding operators). |
API Management | Configures the API Gateway and/or Service Mesh to provide security, throttling and other non-functional services to allow API endpoints to be exposed |
Event Management | Configures event based integration to allow components to use asynchronous events (in addition to Rest based API integration). |
Identity Config | Configures an Identity Management Service based on requirements defined in ODA Components. |
Observability Config | Configures observabiliy services for both technical and business metrics and events. Enables alarming, tracing and root-cause analysis of issues. |
Secrets Management | Configures a secrets vault to enable ODA Components to store secrets in a secure way |
Carbon Control | Configures a services to analyze carbon (and energy) usage of ODA Components and to provide API services to enable components to make intelligent decisions to minimise Carbon usage. |
Cost Control | Configures services for cost control for both cloud consumption and license costs. |
Other | Additional operators will be added over time. |
Use-case list
The use-cases are named based on the use case naming conventions
UC001: Install Canvas - Install, upgrade and uninstall the ODA Canvas.
UC002: Manage Components - When an ODA Component is Installed, Updated or Uninstalled, create the sub-resources and update the status of the component.
UC003: Configure Exposed APIs - Integrate with the Service Mesh and/or API Gateway to configure and expose the API Endpoints for a Component.
UC004: Configure Published Events - Integrate with the Eventing Service to configure and publish the Events for an ODA Component.
UC005: Configure Users and Roles - Integrate with the Identity Management System to configure users and roles.
UC006: Configure Observability - Integrate with the Observability solution to configure technical and business observability.
UC007: Configure Dependent APIs - Configure components to be able to call APIs (on other ODA Components or external APIs).
UC008: Configure Subscribed Events - Configure components to be able to subscribe to events.
UC009: Internal Authentication - Authenticate API calls within the Canvas.
UC010: External Authentication - Authenticate API calls originating outside the Canvas.
UC011: View Technical Observability - Run-time view of technical observability data.
UC012: View Business Observability - Run-time view of business observability data.
UC013: Upgrade Canvas - Seamless in-life upgrade of the ODA Canvas.
The corresponding Behavour Driven Design (BDD) features and scenarious can be found here: BDD Features and Scenarios