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.
This is a list of the Canvas operators (including status of whether this has been tested in the Canvas referernce implementation).
Operator | Description |
---|---|
Component Management | The Component operator manages the de-composition of an ODA component into APIs and Events (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 Management | Configures an Identity Management Service based on requirements defined in ODA Components. |
Observability Management | 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 Management | 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 Management | Configures services for cost control for both cloud consumption and license costs. |
Other | Additional operators will be added over time. |
The use-cases are named based on the use case naming conventions
ID | use-case | Description |
---|---|---|
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. |
UC004 | 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