I have a question for people who implemented microservices in large enterprises.
There are obviously huge amount of benefits to microservices (comparatively to monolith architecture).
However, there is one thing which is problematic. It's harder to do Ops job.
In the case of monolith. There is a group of Ops engineers who make sure that production is up and running. And what is more important there are enough people to create 24/7 on call rotation. As example, if you have 15 Ops then you can create a schedule in which you have couple of persons (for redundancy) on call for a week and everybody will be scheduled only once in two month.
Now, let say a company implemented microservices and each team is responsible for it's own microservice. A team which has 4-5 engineers will still need somebody on call. And if you try to have the same couple of persons on call then they will be schedule each other week (which would be quite stressfull).
On other hand, you can't centralize Ops with microservices, because each microservice may have different technological stack, different way of troubleshooting and monitoring. So, central Ops team will be just drowning in amount of info to handle all microservices.
I heard an argument that microservices will be more stable and easily manageable. I believe it's the case. However, even increase in stability doesn't remove a need of a person to fix problems if the service went down at 3am and your company business heavily depends on it.
I am curious. How, it's handled in large enterprises?
One more suggestion was that microservices should use the same stack to allow centralized Ops. Interesting idea. However, I feel that it decrement a value (you can't choose best technologies for your microservices and have to use standard set).