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.