Iteration 1:

  • By considering the given few requirements I have started with converting functional requirements into monolithic application.
  • As a non functional requirement I have created dockerfile to deploy the application.

Iteration 2:

  • Dividing the monolithic into independent microservices. We can use Netflix OSS to solve the microservices challenges and the other solution is to use istod operator in k8s.
  • We can add some pub/sub services to make the system decoupled and fault toulerant.
  • Deploying application in cloud with high scalability and availabilty.