“Platform engineering is a process organizations can use to leverage their cloud platform as efficiently as possible so that engineers can deliver value to production quickly and reliably. It consists of removing obstacles between developers and production.”
The Challenge of Every Platform Company: The Orchestration Complexity
As business needs, platform capabilities, and user traffic increase, the complexity of the systems and the platform itself inevitably increases. Thus, it becomes critical to be able to manage and orchestrate this complexity by adopting the right technologies and planning forward‑looking strategic choices. Here are some aspects and critical issues to keep in mind:
- Choose open source and certified technologies from the CNCF landscape: in particular, adopt the de facto standards, such as Docker for cointainerization and Kubernetes for orchestration;
- Enhance ease of integration with partners and customers: use the API as a communication tool, create a Service Catalog, enrich it, and keep it up to date;
- Avoid technological or business lock‑in: identify solutions that make it easy for you to switch providers and retain full ownership of your artifacts;
- Invest in a successful Developer Experience Strategy: make the experience of your development teams frictionless and deliver high‑quality software.
1. Why DevOps Success Requires Platform Teams
2. The Solution? Start Viewing and Managing Infrastructure as a Set of Internal Platform Products
Major cloud service providers may have moved away from providing simple and intuitive infrastructure options that anyone can provision themselves. But, that doesn’t mean that you can’t create internal platforms and processes to do it yourself.
That’s the essence of a Platform Engineering approach. Rather than having your cloud infrastructure team spend all of their time constantly configuring and deploying new instances, environments, and services as developers need them, instead you have the team create a platform that offers self-service components that developers can easily choose and deploy themselves.
It’s an approach that’s started to see widespread adoption in 2020, featuring significantly in Puppet’s State of DevOps report. According to the report, 63 percent of organizations have at least one internal self service platform in place.
With re-usable, self-service solutions available on a platform that’s easy to understand and engage with, cloud infrastructure teams can spend less time configuring individual solutions, and give the business a rapid path to market for new digital services and capabilities.
3. We Need a Self-Service Developer Platform
Gartner’s How to Scale DevOps Workflows in Multicluster Kubernetes Environments says the solution is “to streamline DevOps workflows, I&O leaders must build platform teams, automate cluster life cycle management, enhance developer self-service and adopt GitOps practices.” Interestingly, this approach is consistent with findings in last year’s CNCF Kubernetes Benchmarking Study.
When Gartner says “Automate” that’s just another way of saying “developer self-service.” Enabling developer self-service in Kubernetes boosts developer productivity. Paired with a logical cloud-native architecture, engineers can self-provision, test, secure and deploy their apps without having to wait on ops to provision resources for them. Developer self-service means developers needn’t be experts in the entire deployment toolchain. When it comes to repetitive tasks like spinning up new features or preview environments, enabling developer self-service saves teams time. Without it, you face slowing down the development lifecycle, with increases in change failure rates, bottlenecks, and key person dependencies.
A Real Life Case Study: Improving the Developers Experience for a Highly Regulated Financial Organization
The following case study describes the approach that was taken by a highly regulated financial organization to solve their developer and DevOps experience.
The approach is based on the following steps:
Step 1: Take an Opinionated Approach to the Development Environment
Step 2: Establish a Dedicated Platform Engineering Team
Step 3: Take a Best-of-Breed Approach to Deliver a Self-Service Development Platform (IDP)
You can find the full story in this case study: What We Learned from Enabling Developer Self-Service.
- What is platform engineering (Gartner)
- What Is Platform Engineering? The Concept Behind the Term
- What We Learned from Enabling Developer Self-Service
- DevOps Is Dead. Embrace Platform Engineering
- How to Scale DevOps Workflows in Multicluster Kubernetes Environments
- Infrastructure as Product: Accelerating time to market through platform engineering
- Platform Engineering 101: all you need to know to get started
- Complexity is killing software developers
- Devs don’t want to do ops