Search code examples
microservicesbackend

Monolithic + MicroServices


Right now I need to know exactly how can I instantly deploy a micro service based backend when needed? I can manage all the integration of technologies by myself but when it comes to hosting on AWS its just impossible for me to get those many instances and it is just impossible to afford right now.

Im contemplating on the idea of starting with a monolithic backend while having the possibility of deploying micro services backend instantly when the business kicks off.

But Im not sure how to achieve this idea if ever it is possible.

Is it possible or am I wrong?

Please help, thanks.


Solution

  • This is common issue if planing to use Aws EBS, I had same issue and solved using following approch

    1) Think design as monolithic and then decide further into bounded context and each bounded context will be a microservicea.

    2) Now design your database and try to keep.each microservice db into separate schema.

    3) Now in maven module create parent child module .

    4) In parents module keep your spring boot main method, swagger,and common module like security etc

    5) Disable spring boot nature in child module .

    6) Add all child module microservice into parent module and maven build install.

    7) Deploy on AWS EBS .

    8 ) Expose all microservice using Aws Api getway.

    Benefits: in future whenever you will be able to support infrastructure cost just move module and db schema and no other changes required.

    Disagreed with statement that "wrong perception that deploying monolithic is cheaper than micro-services" plz check Aws cost estimations monolythic is cheaper then microservice ,microservice need polygot persistence and independent hosting.