Platform engineering is the discipline of designing, constructing, and maintaining workflows and tools that streamline tasks and promote consistency within software engineering organizations, especially amidst the increasing complexity of distributed software development. Platform teams are the owners of the Internal Developer Platform (IDP) and their customers are the developers in their organization.
Platform engineering stands apart from DevOps, primarily in its role of developing tools designed to assist engineers and DevOps professionals in their duties. Unlike DevOps, where tool creation isn't a central concern or is performed as needed, platform engineering specifically concentrates on this aspect.
Site reliability engineering (SRE) shares similarities with platform engineering, especially in prioritizing the uptime and efficiency of software systems. SRE professionals typically oversee incident monitoring and response, collaborating with developers to preemptively tackle potential system outages. In contrast, platform engineers tend to lean more towards the development side, whereas those in SRE are more operationally oriented.
For organization looking to create a platform team, it is important not to simply rename an existing team without reconfiguring their structure or providing a new mandate. Practically, platform team members often come from Ops/DevOps or SRE roles, but they should be brought together to form a new team with the dedicated mission of building and improving an IDP.
Platform engineers should have an firm grasp of the intricacies of software engineering and the behavior and preferences of software engineers. A good platform engineering is attuned to the organization's delivery objectives and are knowledgeable about the essential tools and workflows to achieve these aims. Moreover, their skillset includes familiarity with an array of DevOps methodologies and tools.
Platform Orchestrators (opens in a new tab) · Developer Portals (opens in a new tab) · CD Operators (opens in a new tab) · CI Tools (opens in a new tab) · Databases (opens in a new tab) · Image Registries (opens in a new tab) · In-Cluster Resources (opens in a new tab) · Infrastructure as Code (opens in a new tab) · Infrastructure Control Planes (opens in a new tab) · Kubernetes (opens in a new tab) · Kubernetes Control Planes (opens in a new tab) · Monitoring (opens in a new tab) · Security (opens in a new tab)