In many organizations there is a separate team for operations. The teams responsible for the microservices should also take care of the operations of their microservices following the principle of DevOps. However, as discussed in section 12.5, it is not a strict requirement for microservices to introduce DevOps. If the separation between operations and development is supposed to be maintained, operations has to define the necessary standards for the microservices in the macro architecture to ensure a smooth operations of the system.
Often architecture and development are likewise kept separated. In a microservices environment there is the area of macro architecture where architects make global decisions for all teams. Alternatively, the architects can be distributed to the different teams and work together with the teams. In addition, they can found an overarching committee that defines topics for macro architecture. In that case it has to be ensured that the architects really have time for this task and are not completely busy with work in their team.
Try and Experiment
- • What does the organization of a project you know look like?
- • Is there a special organizational unit that takes care of architecture? How would they fit into a microservices-based architecture?
- • How is operations organized? How can the organization of operations best support microservices?
- • How well does the domain-based division fit to the departments? How could it be optimized?
- • Can a product owner with fitting task area be assigned to each team?