Skip to content

Latest commit

 

History

History
35 lines (27 loc) · 1.84 KB

SolutionOverview.md

File metadata and controls

35 lines (27 loc) · 1.84 KB

Solution Overview

Principles

  1. Adding value to the customer.
  2. Self service / Automation where possible.
  3. Use Open source component, reuse before a buy or a build.
  4. Technology Independent. Avoid a vendor lock-in.
  5. Easy to use and maintain.

Summary

After analysing the problem statement and current application architecture of Penultimate Electronics, its identified that the current system is a monolith, and some key functionalities do not work reliably.

As-Is Architecture

AsIsAppArchitecture

To-Be Architecture

The Purposed Architecture is to break the current monolith into microservices architecture.

Key Architectural Points

  1. Current application will be divided into multiple microservices.
  2. Reuse the services where possible. The existing component to microservice mapping can be found here
  3. Ticket assignment service is re-designed as Expert Selection microservice based on UBER model, details can be found here
  4. Message Broker queues and guaranteed delivery will be used for inter-service communication.
  5. Migration would be done via a series of MVPs which will gradually migrate the entire application to the new microservice-based architecture.
  6. Create robust regression test suite to have confidence in moved, changed and newly created services.
  7. On demand scaling of microservices to achieve high availability.
  8. Disaster recovery of the system will be handled by Active-Passive deployment. Details are here.
  9. Purposed business process changes
    1. Purposed responsibilities addition to the manager role for some corner case scenario's
    2. Expert will commit to the customer visit himself, rather than assigned.

ToBeArchitecture