OPEN MICROSERVICE GUIDE

The open standard for reusable microservices

THE TWELVE-FACTOR MICROSERVICE

Inspired by The Twelve-Factor App.

Domain Specific

Specialized to the domain and encapsulating the full API of the domain.

Containerized

For portability and re-usability (ex. Docker, rkt or FaaS).

Language-Agnostic

Written in any programming language.

Vendor-neutral

Not be tied to one platform.
Platforms designed to interface with OMG Compliant services can interact with all services.

Any Interface

Free to choose any communication interface.

Documentation

Automatically generated and actionable through the microservice.yml.

Declarative

List all actions the service can perform, including the arguments and the output.

Stateless

Services must be stateless.

Cloud Events

Use a common specification for describing event data.

Meta

Include health, metrics, resources, and logs.

Isolated

Not depend on any other service (aka container coupling).

Config

All service configuration must be documented.

WHY OMG ?

Microservices, by design, are intended to be highly reusable, operational-specific and language-agnostic. This guide defines the standard that defines how to interface with microservices to provide a blueprint for consistency and reusability. By following this documentation, developers will be able to create a platform that is well-documented and portable while not compromising flexibility.

The old way of communicating software architecture and design through whiteboards and diagrams is immediately out of date and often becomes difficult to read and understand. By mapping your microservice architecture using pre-defined yaml by OMG, developers are given a way to describe architecture and operational requirements as human-readable structured data.

Having these models in plain text files gives developers a framework to effectively communicate architecture, service to service communication, and operational complexities to many different audiences.

Reusability

Focus is stressed on services being highly reusable between applications and platforms.

Management

Define how to interface with the service, lifecycle management, scaling, among other requirements.

Documentation

Services inherit documentation through a well defined configuration of commands, arguments and output.

GET INVOLVED

Do you have feedback, questions
or an inquiry to support the OMG standard? Reach out to us.