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

Platform Orchestrators: The Missing Middle of Internal Developer Platforms?

Platform Orchestrators: The Missing Middle of Internal Developer Platforms?

At KubeCon EU 2022, I argued that developers building applications on Kubernetes today are being asked not just to code. They are also responsible for shipping and running their applications. We often talk about needing a Kubernetes “platform” to handle these responsibilities, but do we really need to build our own PaaS?

- Many organisations start their platform build with a developer portal, which provides success on day 1 but struggles with day 2 challenges
- There appears to be a “missing middle” that manages the platform lifecycle in many implementations, which a “platform orchestrator” can address
- Most organisations are not as unique as they think they are, but they do need a way of codifying their business processes into the platform

Syntasso

June 07, 2024
Tweet

More Decks by Syntasso

Other Decks in Technology

Transcript

  1. @danielbryantuk Platform Orchestrators: The Missing Middle of Internal Developer Platforms?

    Daniel Bryant | Platform Engineer | Head of Product Marketing @ Syntasso @danielbryantuk
  2. @danielbryantuk How do you build a platform? • Top-down, application

    developer-focused ◦ “The Backstage service catalog is fantastic, but the support for day 2 ops… not so much” • Bottom-up, operations/infrastructure-focused ◦ “The Terraform workflow is fantastic, but infrastructure abstractions leak through to developers (HCL, K8s, etc)” • Middle-out, platform engineering-focused ◦ X-as-a-service, process automation, fleet management ◦ “Platform as a product” approach
  3. @danielbryantuk You keep using that word… [platform] A platform for

    cloud-native computing is an integrated collection of capabilities defined and presented according to the needs of the platform’s users. It is a cross-cutting layer that ensures a consistent experience for acquiring and integrating typical capabilities and services for a broad set of applications and use cases. A good platform provides consistent user experiences for using and managing its capabilities and services, such as Web portals, project templates, and self-service APIs. tag-app-delivery.cncf.io/whitepapers/platforms/#what-is-a-platform
  4. @danielbryantuk You keep using that word… [platform] A platform for

    cloud-native computing is an integrated collection of capabilities defined and presented according to the needs of the platform’s users. It is a cross-cutting layer that ensures a consistent experience for acquiring and integrating typical capabilities and services for a broad set of applications and use cases. A good platform provides consistent user experiences for using and managing its capabilities and services, such as Web portals, project templates, and self-service APIs. tag-app-delivery.cncf.io/whitepapers/platforms/#what-is-a-platform
  5. @danielbryantuk Gartner: What is platform engineering? “Platform engineering improves developer

    experience and productivity by providing self-service capabilities with automated infrastructure operations. It is trending because of its promise to optimise the developer experience and accelerate product teams’ delivery of customer value.” https://www.gartner.com/en/articles/what-is-platform-engineering
  6. @danielbryantuk Gartner: What is platform engineering? “Platform engineering improves developer

    experience and productivity by providing self-service capabilities with automated infrastructure operations. It is trending because of its promise to optimise the developer experience and accelerate product teams’ delivery of customer value.” https://www.gartner.com/en/articles/what-is-platform-engineering
  7. @danielbryantuk Current software engineering challenges You want to overcome the

    following challenges: • Slow: Developers are blocked, waiting on tickets and other teams • Risky: Critical business processes are inconsistently applied • Inefficient: Tech sprawl leads to tech debt and operational overhead
  8. @danielbryantuk Current software engineering challenges You want to overcome the

    following challenges: • Slow: Developers are blocked, waiting on tickets and other teams • Risky: Critical business processes are inconsistently applied • Inefficient: Tech sprawl leads to tech debt and operational overhead 50% of respondents are capable of deploying less than “between once per week and once per month” Accelerate State of DevOps 2023 42% of developers say they can’t release code to production without risking failures Harness State of the DecEx 2024 Overall, 59% of IT pros are frustrated by the time spent on routine infrastructure activities and 84% agreed that they “could bring more value to their organization if they spent less time on routine tasks” HorizonIQ Report 2020
  9. @danielbryantuk What are the goals of your platform? • Go

    faster: Platform teams need to provide “everything as a service” to help rapidly and sustainably deliver value to end-users • Decrease risk: Teams need to automate manual processes in reusable components • Increase efficiency: You need to manage and scale your digital platform and resources as a fleet
  10. @danielbryantuk Top down, app developer-focused rollout “Backstage is my platform.

    Developers go here to spin up a new application, deploy it, and view metrics” ✅ Fantastic developer experience (and service catalog) ✅ Highly customisable ❌ Often a facade that calls a series of infrastructure APIs ❌ Day 2 aspects of the portal and plugins can be challenging
  11. @danielbryantuk “Terraform is my platform. I can orchestrate all of

    my infrastructure via HCL and cron jobs, and the GitOps pipelines automatically deploy applications” ✅ Everything-as-code ✅ Highly automatable ❌ Infrastructure abstractions leak outwards towards developers ❌ At scale, the diversity of tech can become challenging to orchestrate Bottom up, operations-focused rollout
  12. @danielbryantuk “An abstraction provides a higher-level vocabulary that shields the

    user from the underlying complexity.” “Abstractions that omit essential details become dangerous illusions.” Gregor Hohpe
  13. @danielbryantuk Gartner: What is platform engineering? “Platform engineering improves developer

    experience and productivity by providing self-service capabilities with automated infrastructure operations. It is trending because of its promise to optimise the developer experience and accelerate product teams’ delivery of customer value.” https://www.gartner.com/en/articles/what-is-platform-engineering
  14. @danielbryantuk What are the goals of your platform? • Go

    faster: Platform teams need to provide “everything as a service” to help rapidly and sustainably deliver value to end-users • Decrease risk: Teams need to automate manual processes in reusable components • Increase efficiency: You need to manage and scale your digital platform and resources as a fleet
  15. @danielbryantuk Emerging platform tech stacks • Upbound, Humanitec, Syntasso Kratix

    Enterprise, Massdriver, Qovery, Port, Cortex, etc • The “BACK” stack: Backstage, Argo, Crossplane, Kyverno • CNOE Framework: Cloud Native Operation Excellence • KubeVela and Open Application Model (OAM) • Kratix and Promises • Argo CD and Rollouts • DIY: All the other CNCF tech++ • … More opinionated Less opinionated
  16. @danielbryantuk Conclusion • 🏗 Build your platform intentionally • 🚉

    Watch out for the missing middle: “platform orchestrators” • 👀 Struggling with scaling day 2 operations with your portal? • 👀 Infrastructure abstractions leaking to developers? • 🎯 Focus on “platform as a product”