Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bringing the engineering to Platform Engineerin...

Bringing the engineering to Platform Engineering: A look at how software development patterns apply to platform building

At Platform Engineering Day 2024 it was said that “platform engineering is an exercise in software development not operations". This is a simple statement on the surface, but has deep implications.

The gang of four structural designs such as the facade pattern and architectural evolutions from layered to microservice components are examples of a well documented history of software engineering. Over the decades, not only have the patterns and techniques been captured, but so have the tradeoffs and contexts in which to consider them.

Software development has a much longer and better documented history than platform building and if we can tap into those experiences we as platform engineers can accelerate our learning and impact. This talk will focus on the key software engineering patterns that appear to be most useful in this new platform building wave so that you too can build not only useful, but also maintainable and extensible platforms.

Avatar for Syntasso

Syntasso

June 16, 2025
Tweet

More Decks by Syntasso

Other Decks in Technology

Transcript

  1. Bringing the engineering to Platform Engineering A look at how

    software development patterns apply to platform building Abby Bangser (she/her) [email protected] @a_bangser
  2. Platform engineering… …is a practice built up from DevOps principles…

    It's both product-based mindset shift and a set of tools and systems to support it . - https://learn.microsoft.com/en-us/platform-engineering/what-is-platform-engineering …builds products for other teams inside the company - the end users of the platform team's product are other teams within the company. - https://martinfowler.com/articles/platform-teams-stuff-done.html …is a discipline within software development… - https://www.redhat.com/en/topics/devops/platform-engineering
  3. Instead of engineering, we discuss platform tools • Observability /

    Networking / Security • CD (GitOps) • Provisioning infrastructure • Portals for service discovery and scaffolding
  4. And if not tools, then platform "realities" • “Build for

    the 80%” • “Templates enable self service” • “Platforms provide only central services” • “Kubernetes is your platform”
  5. I am here to collaborate and dream a better reality.

    To be clear, I am not here to preach from a pedestal. https://www.deviantart.com/deniseesposito/art/Imagine-John-Lennon-403599550
  6. • “Build for the 80%” • “Templates enable self service”

    • “Platforms provide only central services” • “Kubernetes is your platform” ◦ How do you still enable the 20% to be compliant and efficient? ◦ Who manages upgrades, updates, and running software? ◦ sure, but what about high value “inner-loop” tooling e.g. local environments? ◦ Few orgs are 100% k8s, how do you support non-k8s services & experience? Some questions we could be asking ourselves
  7. Some problem statements platform engineering should probably address • Simple

    and consistent local environments • A sharing ecosystem across the organisation • Push changes for high priority updates • Retiring home grown tools as they become widely available
  8. Key engineering principles to apply to platforms 1. Choose architectures

    intentionally ◦ Think about rate of change, coupling, and resiliency requirements 2. Deliver small, fast, and safe changes ◦ Build trust through CI/CD testing and rollout/rollback plans ◦ Even “offline” apps can have CD, look at mobile/desktop app patterns 3. Prioritise cross functional requirements ◦ User experience including onboarding, maintenance onus, and overall cognitive load ◦ Speed to market to capture opportunity and reduce risk
  9. Build services as domain objects • Foundational requirements • Interface

    for requests • Custom delivery per request Features (and changes) should be: • Atomic • Versioned • Testable • Independent
  10. Deliver small, fast, and safe changes: And that means all

    the way to users https://thenewstack.io/deployment-strategies/
  11. Build in cross functional requirements: Build with day 2 in

    mind from the start https://www.puppet.com/blog/day-0-day-1-day-2-operations Day 2 is true for year 2 as well
  12. Our responsibility as platform engineers • Build sustainable, testable, operable,

    and usable systems • Leverage experiences from relevant peers and industries • Don't allow current technology to limit the scope of impact