How Platform Engineering Utilizing Golden Bricks Can Allow Quick and Clean Supply


Platform engineering ought to have a product focus, as builders are clients, Daniel Bryant stated in his discuss Platform Engineering for Software Developers, Architects, and the Rest of Us at GOTO Copenhagen. They need to present composable, self-service capabilities, golden bricks fairly than inflexible golden paths, so groups can transfer shortly whereas sustaining consistency. Success is measured by means of adoption, developer expertise, and enterprise outcomes resembling deployment frequency and alter failure fee.

Bryant recalled how he went from basic Java improvement into extra service-oriented architectures. Having to study extra issues, his cognitive load went up. Then microservices occurred, which introduced a variety of baggage for him:

My cognitive load shot by means of the roof. It was a variety of stuff to study to get code shipped. I needed a bunch of instruments I might combine and match, however I used to be caught on methods to construct an interface for these instruments to code, ship, and run.

A platform is a sociotechnical factor, Bryant stated. They’re constructing self-service APIs, instruments, and repair data right into a compelling inner product, the place the purpose is to ship product options at a better tempo with diminished coordination.

Bryant talked about three targets that platforms intention for:

  • Go quicker: platform groups want to supply “all the things as a service” to assist quickly and sustainably ship worth to finish customers
  • Lower threat: groups must automate handbook processes in reusable parts
  • Improve effectivity: you could handle and scale your digital platform and assets as a fleet

You need to deal with the platform as an inner product, not an inner challenge, Bryant talked about. Which means understanding developer workflows, figuring out friction, and measuring adoption and satisfaction:

If builders keep away from the platform, that’s suggestions in itself!

If the platform makes the precise factor simple to do, builders will select to make use of it. Platforms enhance effectivity by having the precise abstractions. The purpose is to scale back cognitive load and allow quick movement. Every crew should personal their movement of worth, Bryant stated. That is true for builders as for the platform crew. It breaks down once you, as a developer, have to lift a ticket:

You’re ready for somebody to provide you a database or open a port. Your movement of worth is disrupted.

Platforms can facilitate collaboration by offering providers. The important thing issues with “x as a service” are low value, clear boundaries, and give attention to the supplier’s service adoption and the buyer satisfaction, Bryant stated.

Bryant inspired interested by golden bricks fairly than golden paths. A path as a single solution to do issues can change into a golden cage. You construct your personal golden path, the precise solution to do one thing, by assembling the bricks. Composable capabilities let groups transfer shortly whereas sustaining security and consistency.

To border platforms for the C-level, you additionally wish to have metrics, Bryant stated. He focuses on adoption, expertise, and outcomes, drawing closely on the work of Camille Fournier and Ian Nowland:

Adoption reveals whether or not groups are literally utilizing the platform. Expertise contains elements resembling provisioning time and developer satisfaction (that are a part of the SPACE and DX Core 4 frameworks). Outcomes are linked to enterprise affect by means of (DORA-like) metrics resembling lead time, deployment frequency, and alter failure fee.

These metrics assist establish friction and information enchancment, Bryant stated. The purpose is to assist groups ship worth quicker, extra safely, and extra effectively (and, the place acceptable, at scale).

Bryant warned to be careful for leaky abstractions. Builders come to depend upon leaky abstractions, and once you wish to change the implementation of the platform, you’ll be able to’t.

We now have to construct platforms as a product that serve inner clients, the builders, Bryant stated. Make sure that they’re user-friendly and genuinely remedy the crew’s issues. If you’re a developer, demand that product focus, he concluded.

InfoQ interviewed Daniel Bryant concerning the relationship between platforms and software program structure.

InfoQ: How does your platform structure look?

Daniel Bryant: As I began my profession as a software program architect, I wish to assume when it comes to layers with clear boundaries.


Infrastructure orchestration manages compute, storage, networking, and different lower-level providers. Platform orchestration coordinates higher-level (and sometimes business-specific) capabilities, together with DBaaS, CD pipelines, utility buildpack providers, and nested parts resembling environments-as-a-service. On prime of that, utility groups devour these capabilities by way of self-service APIs, CLIs, or UIs.


The crucial precept is the separation of issues. When platforms combine infrastructure, platform logic, and utility issues with out respecting boundaries, they change into fragile and onerous to evolve. Clear interfaces permit every layer to evolve independently because the organisation grows.

InfoQ: You talked about that platforms and software program structure are symbiotic. What do you imply by that?

Bryant: Platforms form how software program is constructed, and software program necessities form how platforms evolve.


If a platform offers dependable abstractions, groups can give attention to enterprise logic. If it doesn’t, groups work round it, creating fragmentation.


This relationship means platform groups should keep intently aligned with builders. Good platforms present secure interfaces that permit implementation to vary with out disrupting functions. This permits each the platform and the software program constructed on it to evolve safely over time.