In short, the micro service architectural style is an approach to developing a single application as aย suite of small services, each running in its own process and communicating withย lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
We also look at common questions such as “how big is a micro service” and “what’s the difference between micro services and Service-Oriented Architecture”.
Micro services pros:
–ย Strong Module Boundaries: Micro services reinforce modular structure, which is particularly important for larger teams.
–ย Independent Deployment: Simple services are easier to deploy, and since they are autonomous, are less likely to cause system failures when they go wrong.
–ย Technology Diversity: With micro services you can mix multiple languages, development frameworks and data-storage technologies.
Micro services cons:
–ย Distribution: Distributed systems are harder to program, since remote calls are slow and are always at risk of failure.
–ย Eventual Consistency: Maintaining strong consistency is extremely difficult for a distributed system, which means everyone has to manage eventual consistency.
–ย Operational Complexity: You need a mature operations team to manage lots of services, which are being redeployed regularly.
An important characteristicย of micro services is that they are organized around business capabilities. Software architecture is generally a human construction and most wise architects understand the power of Conway’s Law.
Important words about micro services:
Service-oriented architecture (SOA): an architectural pattern in computer software design in which application components provide services to other components via a communications protocol, typically over a network.
Micro services:ย a software architecture style in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs
“Micro services are the kind of SOA we have been talking about for the last decade. Micro services must be independently deployable, whereas SOA services are often implemented in deployment monoliths. Classic SOA is more platform driven, so micro services offer more choices in all dimensions.”
ย
So,ย
contact usย now to improve your development architecture and quicker development.