Platform Engineering
DevOps culture: evolved
Platform Engineering/Engineering Platforms can be viewed as the next step in the evolution of DevOps culture.
Ops Teams → DevOps → Engineering Platforms
Under the Ops Team model, developers would write the code. Ops would then provision infrastructure, deploy the code, and support both in production. The friction here is that Ops would be seen as a bottleneck in getting things to production, but once the code was in production developers wouldn’t sufficiently care about things breaking.
The DevOps model attempted to address this friction. Developers would write the code but would also be responsible for deploy, provisioning the required infrastructure, and supporting this in production. By being close to their actual running software and its production housing, developers were able to unblock themselves and better understand runtime characteristics. Development should be faster and more informed. However, this can result in overburdened development teams. As well as being code specialists, they were now also expected to be infrastructure experts. Cognitive load increased and uncoordinated delivery teams within an organisation may find themselves solving the same problems multiple different ways, leading to platform fragmentation.
The Platform Engineering model merges these philosophies. While development teams continue to write code, specify their required infrastructure, and support both in production, they are now supported in these efforts by a dedicated Platform Team. This team is responsible for building and maintaining reusable self-service tools and capabilities that developers across the organisation use to bootstrap or streamline their various tasks. Starter kits, infrastructure and CI/CD pipeline templates, developer portals, and API catalogues are some possible examples. The Platform Engineering team takes a internal product approach, with the delivery teams being their customers, to meet the organisation’s evolving needs.
Elsewhere