Platform engineering principles

Modern organizations at any scale - startups to large enterprises - all have the same time-to-market sensitivity. And all share the same goals of getting their developers started quickly, enabling them to deploy code fast, and decreasing their time to value. As organizations grow, a general pattern is to establish more governance to ensure quality and security, control costs through increased standardization, and scale effortlessly through improved standardization. However, many of these governance processes start out as manual controls. For example, creating a cloud computing environment in a new region might be managed through a manual request process to ensure proper controls.

Whether driven through service desk requests, review meetings, or periodic manual audits, manual steps introduce friction into the software delivery lifecycle. Introducing friction decreases team velocity, and worse, increases developer and operations team frustration.

Here's a set of principles that can guide the design and implementation of your platform engineering practice to resolve these problems: