SOA Organizational aspects - who is responsible for the runtimes?

I was thinking about the Ops part of the DevOps culture while doing SOA. In the ADSD course Udi presented to us the organizational structure where we have branding on one side of the spectrum, IT Ops on the other side and services orthogonal in between - bound to both.

Now, this seems like an obvious thing - to have say a team for each of those, but how about some details? :slight_smile: Regardless of the mapping between Services and Deployments (Udi insists they are decoupled) in a distributed architecture we will have multiple runtimes to deploy, monitor and maintain. Is it realistic for one team to take care of all of it? In daily business there will be bugs, and the team responsible for the bug should be quick to respond.

Now, even though the logical and physical architecture are not 1-1, wouldn’t it be more practical and scalable to have runtimes owned by the service (domain) teams? IT Ops is indeed responsible for the wire-up of the autonomous components into runtimes, but that is abstract. In reality, we can always assign a runtime to one service/team, which will be the owner and the first responder.

Under a runtime deployment I consider all deployment units - regardless frontend of backend.

Any thoughts?

Hi Boško,

I think it depends on how big the company is or to be more specific how many IT stuff is required to run a business. When the company is small it’s possible for one team to take care of all of it. When the company is big then probably there should be more IT/OPS sub-teams to take care of all of it to have the same quality level.

The service (domain) team could have many roles: developers, testers, administrators, devOps, … so yes the team could have some people that represents IT/OPS responsible for whole IT/OPS things to run business capabilities owned by this service (domain) team but like as previously it depends on the size of the organization.

For me one of the “aha” moments from the Udi’s course was strong understanding that logical != physical. Even in scenario from this topic, you could have logical IT/OPS Team but physical people from this team could be assigned to each specific service (domain) team.

Hope this help.