Understanding the best way to develop and deploy applications is an important consideration for any data-driven organization today. Options such as service-oriented architecture (SOA) and microservices offer valuable flexibility for building and running applications that traditional monolithic approaches don’t. However, it can be difficult to understand the differences between the two in order to identify which is best for your business.
This will guides developers and architects to correct approaches for refactoring enterprise systems in order to take advantage of modern architectural approaches.
Here’s an outline of this slides-
~ Problems with monolith applications
~cMicroservices Architecture style
~ What is Reactive Microservices
~ Principles of Isolation
~ Isolation Techniques
2. About Knoldus
Knoldus is a technology consulting firm with focus on modernizing the digital systems
at the pace your business demands.
Functional. Reactive. Cloud Native
5. Software Spectrum
In this session, we will cover the transition of an application from
Monoliths to Service Oriented Architecture to Microservices and finally
to Reactive Microservices by applying isolation techniques to the
application.
8. What is Monolithic Ball of Mud?
● No clear isolation
● Complex dependencies
● Application is harder to understand and
modify
9. What are Monoliths?
● Deployed as a single unit
● Have a single shared database
● Communicate with synchronous method
calls where a message is sent and
response is expected immediately.
12. What is Service-Oriented Architecture?
● Architectural style that structures an application as a
collection of smaller independent services
● Each service has its own logic and database as well
as performs specific function
● Synchronous or asynchronous communication
between services.
● Services can be physically separated, independently
deployed and scaled
13. What are the pros of Service-Oriented
Architecture?
14. What are the cons of Service-Oriented
Architecture?
15.
16. What are Microservices?
● Subset of Service Oriented Architecture(SOA)
● Different from SOA in terms of deployment
● In Microservices, services have to be deployed
independently unlike SOA
● Apart from this, Microservices follow all rules
provided by SOA.
19. What are Reactive Microservices?
● The core of Reactive
Microservices is to find ways to
create more isolation between
microservices.
● Reactive microservices follow
principles of isolation using
various isolation techniques.
22. What is Isolation of State?
● Reactive microservices are accessible through its API only
● It allows microservices to evolve internally without affecting outside
What is Isolation in Space?
● Reactive microservices are independently deployed
● The location of a microservice does not impact other microservices
● It allows microservices to be scaled up/down to meet demand
23. What is Isolation in Time?
● Reactive microservices are asynchronous and non-blocking
● Eventual consistency is expected between microservices
What is Isolation of Failure?
● Reactive microservices also isolate failures
● A failure in one microservice does not cause another to fail
● It allows the system to remain operational in spite of failure
26. What is Bulkheading?
● Failure zones are created
● Failure in one microservice not propagated to
others
● Thus overall system remain operational
27. What is Circuit Breaker?
● When a microservice is calling another microservice that
is overloaded and that may fail
● The caller microservice may not realize that the called
microservice is under heavy load and it may retry
● Results in more load on the called microservice
● Caller microservice needs to be careful to avoid this
● Quarantine the failing service so it can fail fast
28. What is Message Driven Architecture?
● Usage of asynchronous non-blocking messaging
● Allows isolation in both time and failure
● If a request to a microservice fails the failure won’t propagate
● Microservices are not dependent on the response from each other
29. What is Autonomous Microservice?
● Microservices can guarantee their behaviour using API calls
● Isolation allows a service to operate independently of other services
● Autonomy allows for stronger scalability and availability
● Autonomy can be achieved through asynchronous messages
● Use eventual consistency
30. What is API Gateway Service?
● API gateway service receives requests from
client and send them further to microservices
● Aggregates the responses from microservices
● Handles failures from each service
● Client has to deal with only gateway service
failure.