Pattern: Build-Run Teams (“CN DevOps”)

Dev teams have full authority over the services they build, not only creating but also deploying and supporting them

Build-Run Teams (“CN DevOps”)

The company has cross-functional teams (Agile) or teams siloed by technical specialty(Waterfall) and needs to move to a structure compatible with cloud native. Development teams rely on the Ops team to deploy artifacts to production. The company is looking for the right balance between independence and standardization for their dev teams.

In This Context

When development teams are responsible for building an application and supporting it in production, if they also try to build the build the platform to run it,the organization can end up with multiple irreconcilable platforms. This is unnecessary,expensive to operate (if even possible), and takes time away from teams that should be focusing on delivering features, not the platform they run on.


Create teams that each have their own capability to build a distributed system with microservices managed by dynamic scheduling.Build-Run teams will be responsible for building distributed applications, deploying them, and then supporting the applications once running. Build-Run teams all use the same standardized set of platform services and deploy to a single unified platform that runs all applications for the entire company. This platform is the responsibility of the Platform Team, which implements and supports it.


There is strong separation of defined responsibilities: Build-Run teams handle the applications. The Platform Team is responsible for building and maintaining the operating platform.The Platform Team doesn’t have to be part of the company—public clouds like Google/AWS/Azure, etc., with their automated platforms, could make an internal Platform Team unnecessary. If a Platform Team is designated, they are typically global,supporting all services/applications; Build-Run teams are separate and rely on standardized platform delivered by the Platform Team.