Platform Engineering
Platform engineering is a new discipline that emerged in response to the growing complexity of modern cloud-native architectures. It describes the practice of building and maintaining an integrated product, called an "Internal Developer Platform," which acts as a flexible and supported abstraction layer between developers and the underlying technologies of their applications.
The goal of platform engineering is to improve developer productivity through improving the developer experience ( DevEx).
Internal developer platforms improve the velocity and happiness of teams by enabling developer self-service and reducing cognitive load on developers.
Core benefits of Platform Engineering and Internal Developer Platforms:
- Faster innovation: Faster time to launch, frequent updates, focus on business problems
- Higher quality: Fewer environment issues, more deterministic test results, faster rollback
- Increased reliability: Observable services, graceful degradation, improved business continuity, optimisation for a fluctuating load
- Improved security: Reduced security engineering overhead, Improved security operations and governance
- Improved ways of working: Define policy via experimentation and simpler processes, apply enabling constraints, zero downtime updates
- Reduced costs: Economies of scale, easier cost management
- Better productivity: Lower cognitive load, easier to identify talent needs
Platform Engineering and the Internal Developer Platform is:
- Not a commodity: It cannot be bought off the shelf, as it must satisfy the specific needs of your organisation. It’s built by weaving together open-source and bespoke commodity tools to create a technology accelerator.
- Not a project: It isn’t a one-off development with a fixed end date. It will keep changing, as the needs of your teams will change based on their customers’ demands.
- Not a universal infrastructure platform: It cannot run all cloud services for all possible consumers. It needs to focus on a subset of cloud services to support specific workloads.
It’s important to remember that an Internal Developer Platform isn’t a silver bullet. It’s a long-term commitment to providing Services at scale. It’s not appropriate for all workloads, teams, or organizations.