PLATFORM ENGINEERING

Platform engineering is an emerging and trending technology approach that can accelerate the delivery of applications and the pace at which they produce business value.

We improve developer experience and productivity by providing self-service capabilities with automated infrastructure operations. We promise to optimize the developer experience and accelerate product teams’ delivery of customer value.

We implement reusable tools and self-service capabilities with automated infrastructure operations, improving the developer experience and productivity. This technology approach utilises reusable configurable application components and services. The benefit to users is in standardised tools, components and automated processes.

What platform engineering is used for?

Our goal is to improve developer productivity through improving the developer experience (DevEx). For a lot of organisations in the cloud-native era, the main obstacle to good DevEx is cognitive load.

Cognitive load is the amount of information an individual must process to complete a task. When cognitive load exceeds an individual’s working memory capacity, they will struggle to complete their tasks.

The rapidly growing landscape of tools and frameworks to learn and apply has created cognitive overload for many developers. Working with microservice architectures in a cloud-native setup often requires end-to-end knowledge of Kubernetes, infrastructure provisioning, deployment pipelines, and configuration management, just to name a few. This interferes with developers’ most important task: shipping features.

We alleviate cognitive load by providing different layers of abstraction based on the engineering organisation’s needs, also known as a golden path, that provides developers a path of least resistance for day-to-day tasks.

Why platform engineering is important?

Internal developer platforms improve the velocity and happiness of teams by enabling developer self-service and reducing cognitive load on developers. IDFs enforce standardisation by design, increase developer productivity, and improve developer experience. They also improve the organisation’s productivity and performance across key DevOps metrics like mean time to recovery (MTTR) and Change Failure Rate.

The quantitative impact of us depends on an organisation’s setup and size. The larger your team and toolbox are, the more an organisation will benefit from an Internal Developer Platform. You can use this table to approximate how much time your organisation would save by building a platform.

However, some of the most important impacts of an Internal Developer Platform – self-service and responsibility – are also the hardest to quantify. Internal Developer Platforms allow developers to achieve the “you build it, you run it” DevOps culture organisations have long aspired to. Developers can take more ownership over configuration, deployment, and roll-back processes without needing to involve operations. Internal Developer Platforms also increase visibility, improving collaboration within teams. Developers gain the freedom to be creative without the fear of breaking everything and are happier as a result.

Platform Engineering Tools

The work of our teams shows up in four key areas:

  • Building Internal Developer Platforms
  • Standardising and securing key delivery processes
  • Setting and maintaining internal service level agreements
  • Monitoring team performance metrics

Let’s take a closer look at these features of platform engineering and the value they bring to the development process.

Internal Developer Platforms (IDPs)

One of the most important roles of our team is to build and maintain an Internal Developer Platform (IDP), which is a central collection of tools, services, and automated workflows that support rapid development and delivery of software products across the organisation. IDPs provide a service layer that abstracts the complexities of application configuration and infrastructure management.

Importantly, IDPs allow developers to self-serve the resources they need to rapidly build, test, deploy, and monitor applications with minimal friction. Instead of having to wait for operational teams to provision infrastructure or resolve tickets, developers can easily spin up cloud environments, trigger CI/CD pipelines for automated tests and deployments, implement rollbacks, access logs and build artefacts, and more from a single API or GUI.

Paved roads to standardize processes and reduce cognitive load

We give organisations a unified system to manage, standardize, and scale typical DevOps processes and workflows. By vetting and curating a catalog of resources, platform teams create “paved roads” that simplify and accelerate development while also giving developers autonomy to use their own preferred tools when necessary.

In large organisations with hundreds or even thousands of developers, too much autonomy can result in tool sprawl, knowledge silos, runaway costs, and burnout. Paved roads offer a proven, reliable pathway to delivery that reduces the burden of operation complexity on development teams while allowing the organisation to enforce stronger security, compliance, and budget controls.

Setting internal service level agreements (SLAs)

Our Platform Engineer teams treat IDPs as their product and developers as their customers. To increase adoption of the IDP, they set high expectations for the reliability and performance of the IDP and hold themselves accountable through service level agreements.

Maintaining a stable and secure internal platform is a critical part of our platform engineer’s job. A failure of internal systems not only makes it less likely that developers will follow the paved road to production, but it can also cause interruptions in the flow of value to external customers. Our platform engineer teams actively monitor the health and performance of the IDP to ensure developers stay productive and the organisation’s customers stay happy.

Monitoring key performance metrics

Our platform engineer teams track important engineering performance metrics like throughput, workflow durations, and incident recovery times to eliminate bottlenecks and tailor the platform to the needs of developers. If recovery times start to exceed the baseline, for example, platform teams may look to increase the number of automated tests in the pipeline or to improve the monitoring and alerting capabilities offered in the IDP.

By tracking data around developer productivity and performance, platform teams can ensure that the internal platform properly supports the organisation’s development patterns and business goals.