I am new to the world of microservice and I have tried to learn about it and how it could be apply to my needs. I need to design a cloud plaform easily maintenable and scalable with the following (as far as I see them) :
- Rails API + PostgreSQL (microservice 1)
- Frontend framework (microservice 2)
- Some Python script (microservice 3)
- Some other Python script (microservice 4)
Inspired by this question & answer, each microservice is a separate Heroku app. What about the security between them when they talk to each other and the response time?
Also, since the service is meant to grow, it would be expensive sooner or later, how to optimize cost in this situation ? I just discovered CaptainDuckDuck but I'm afraid of the "lack" of experience from its user base since it's quite new and not as much popular as other PaaS. Is the only solution is to go to something like DigitalOcean or AWS EC2 and manage by ourselves the job that Heroku does ?
Because doing microservice like this, is not really a microservice design since all the services are not hosted on the same machine, am I right ? A more microservice-friendly approach would be to use Heroku Private Spaces (even if that doesn't answer the cost issue) ?
For information, I have this design already up and running. So it's not a matter of "will it work?", but more "is it the right way?".
Thanks for your feedbacks