I'm surveying the google cloud tools that could be used to: deploy and update a micro-service shaped application. So far I focused my attention on two solutions: (a) Container clusters; (b) Managed Instance groups plus autoscaler. Could you please help me to decide which way I should go. You'll find below some details and requirements:
- The application PULLs tasks from a pubsub topics and write results to a another pubsub topic;
- Tasks are independent from each other;
- The number of worker should autoscale wrt. the CPU usage level;
- Each worker uses up to 10GiB of RAM.
- At startup time a worker needs several minutes (<=5mn) to be ready to process tasks;
- Out of the box rolling update is a plus;
- Workers share a memcache sever, except that, there is strictly none communication of whatsoever kind between workers;
- I suspect there is no need for load balancing, since a worker will process a new task as soon as it can;
- Logs are pushed to a collection API (google cloud logging or third party).
I did a MWE for solution (a) and solution (b). So far I have the sentiment that I won't use the kubernetes features. Hence I'm more inclined towards solution (b).
What do you think ?
Bests, François.