2. ا
Microservices developed in the market just a few years ago but they
have already revolutionised the IT field. All the big worldwide
successes like Facebook, Google or Netflix use microservices as their
new architecture.
What are Microservices ?
The microservice application architecture represents a new approach to
software developmentwhere developers build the application as a set of
modular components or services,each with a specifictask or business
objective.Each of these modular components is known as a microservice,
and microservices caninterface with each other using Application
Programming Interfaces (APIs).
3. ا
If microservices is a new approach, what is the traditional
way ?!!
Microservices architecture vs Monolithic architecture.
Monolithic architecture is a software developmentmethod used to create a
single-tiered application where the user interface and data access code are
combined into a single program on a single platform. A monolithic software
application is a single executable that can perform every task needed to
deliver a specificfunction.
-
4. ا
Monolithic architecture pros
- Easy developmentand deployment.
Numerous tools facilitate easy developmentand deploymentstrategies.
Developers needto perform a single chunk of deployable code instead of
making updates in separate entities.
- Performance.
Better performance is a crucial advantage of monolith applications over
microservices.A microservice-basedapplication may have to make 100
differentAPI calls to 100 other microservices to load one UI screen.
Whereas in the monolith, one API call can serve the same purpose
because it has a centralized code and memory.
Microservice architecture pros
- Better Organization
Since the entire code base is broken down into smaller services, it is
relatively better organized. The microservices have a particular job and are
not dependent on other components.
- Increased Agility
With microservices, individuals of a team can work on individual modules.
Each individual can build a module and deploy a module independently,
thereby reducing the team’s operational friction and increasing the software
delivery’s agility.
5. ا
Microservices communication
In general, communication between microservicesshould be
asynchronous, in the sense that code threads aren’t blocked waiting for
responses.(It’s still fine to use synchronous communications protocols
such as HTTP, though asynchronous protocols such as AMQP (Advanced
Message Queuing Protocol)are also commonin microservices
architectures.) This kind of loose coupling makes a microservices
architecture more flexible in the face of the failure of individual components
or parts of the network, which is a key benefit.
6. ا
Microservices: Use cases
Microservices are widely adopted across multiple tech giants. The
implementation of microservices varies from a case-to-case basis.But
some of the significant applications which run on microservicesand are
used on a day-to-day basis include:
Should You Use Monolith or Microservices for Your
Business's App?
Choosing between the two forms of architecture is mostly a matter of
looking ahead and evaluating the kinds of features and functionality you
want to implement in your software.
Finally, that depends onyour case and your assessmentof what is best for
the software.
7. ا
Conclusion : There are two major types of software architecture:
monolithic and microservices.The latter has becomeextremelypopular in
recent years. At the same time monoliths are still there and programmers
work with them as well. It means that for many the question “monolithic vs.
microservicesarchitecture” is still topical when it comes to app
development.