Micro-services Platform

CategoryArchitecture Component

The primary component of a Micro-services Platform is a programming framework that helps developers create micro-services. Other components address the entire lifecycle of micro-services, including deployment, metadata management, documentation, security and analytics.


Component Overview


Speed and Safety at Scale

Micro-services Platform is a runtime environment that supports the development, deployment, management and production operations of micro-services and their application components. Such environment typically provides a number of application-independent capabilities, including web container, distributed cache, message-oriented middleware and persistent data store. Multiple micro-services may use these application-independent capabilities, but each maintains its own, completely separate metadata and configuration.

The platform allows to create independent application components that share the following characteristics:

  • Small in Size — has everything to perform one function, and does it really well.
  • Messaging-enabled — has an interface (API) for exchanging messages over the wire.
  • Bounded by Context — operates within its own context not shared across components.
  • Autonomously Developed — designed and implemented to function as a closed system.
  • Automatically Released — uses tooling for packaging and validating a component release.
  • Independently Deployed — bundles dependencies to produce a self-contained deployment unit.
  • Decentralized — managed and controlled independent of each other, not by a central body.

Typical service-oriented middleware, such as Enterprise Service Bus or Application Server with a Web Servces Stack, already supports the concept of modularity and message-based communication. Micro-services Platform extends it further, by allowing to assemble middleware modules and dependency libraries together with micro-service business logic, and manage the release bundle as autonomous, portable application unit.

Some examples of Java-based Micro-services Platforms are Spring Boot, Thorntail, Helidon and Open Liberty.

micro

Micro-services Architecture is a style of engineering highly automated, evolvable software systems comprised of isolated, capability-aligned business logic components.

A micro-service is an independently deployable component of bounded scope that supports interoperability through message-based communication.

The real value of micro-services is achieved with the right balance between speed and safety of change, and with scalability in mind.