Platform engineering is generating some of the biggest buzz in the IT world. As the
2023 State of Platform Engineering Report notes, “Platform engineering is one of the hottest trends in DevOps and infrastructure.”
Why all the hubbub around platform engineering?
Platform engineering is the practice of creating a reusable set of standardized tools, components and automated processes, often referred to as an
internal developer platform (IDP). IDPs, and the teams that build them, are important because they ease development by providing “golden paths” for developers to self-serve and self-manage their code.
In the platform-centric model, enterprises that successfully deliver industrial-strength cloud-native applications are doing so with a platform strategy that eases Kubernetes development and management for DevOps teams.
Rather than struggle to create IDE’s by trial and error, DevOps teams “should instead lean on an expert platform team that can readily package approved ‘golden state’ environments of Kubernetes clusters for them–with scaling, networking and security settings optimized for the target application and infrastructure,” says English.
To further reduce complexity, these types of platforms are being made available from D2iQ as full-featured turnkey solutions, essentially providing “instant platform engineering.”
Platform Engineering vs. DevOps
The responsibilities of a
platform engineering team should not be confused with those of a site reliability engineering (SRE) team or DevOps team. Although there are similarities between all three roles, understanding the differences can help to explain why platform engineering has become such a significant emerging trend.
Between the late 1990s and early 2000s, most setups had a single system administrator (sysadmin) or operator through whom developers had to go to get anything done. However, the rise of the cloud created the need to accelerate the development and delivery of software to production. The traditional “throw it over the wall” workflow began to create a lot of bottlenecks for both developers and operations.
This all changed in 2006 when Amazon’s developers began to deploy and run their services and applications end-to-end. This is how DevOps became the gold standard for agile software development.
Although DevOps resulted in faster and better software delivery, scalability and stability for advanced enterprises like Amazon and Google, adoption fell short for most other organizations and led to a series of organizational anti-patterns. In response to this shift, senior developers took responsibility for this setup, either by doing the work themselves or by assisting their junior colleagues. This approach leads to a “shadow operations” anti-pattern where an organization misallocates their most expensive and talented resources (developers) and still cannot ship code to production as quickly and efficiently as before.
This anti-pattern appears in several other studies, like Humanitec’s
DevOps Setups Benchmarking Report, which reveals that 44% of low-performing organizations have shadow operations, with some developers doing DevOps on their own while helping less experienced colleagues. This is in sharp contrast to top-performing organizations in which 100% of all developers are completely self-serving and operating a “you build it, you run it” approach.
When organizations underestimate the complexity and importance of operational skills and activities, it causes huge waste and frustration. This in turn, via
Conway’s Law, increases cognitive load on developers and creates an environment that is difficult to support.
Platform Engineering vs. SRE
The rise of cloud-native created the need for engineers to work in production and on operations. Established and popularized by Google in 2003, site reliability engineering is a concept that applies software engineering principles to solve infrastructure and operations problems. Site reliability engineers (SREs) are responsible for ensuring systems are scalable, stable and highly reliable.
While there is nothing wrong with SRE as a concept, problems arise when it’s adopted incorrectly, especially among organizations that don’t have access to the same talent pool and resources as a company like Google. When organizations hire SREs who don’t have enough experience to meet the needs of their setup, operations engineers take on SRE responsibilities and the resulting “fake SRE” becomes a restrictive role.
Platform Engineering Solves the Problem
DevOps Topologies research proves that having a dedicated platform team that provides an IDP as a product to developers is the best way to overcome DevOps and fake SRE anti-patterns. When there is too much cognitive load on developers, platform engineering alleviates it by binding complex workflows into a golden path and paved road. When fake SREs create bottlenecks for developers, platform engineering prioritizes developer self-service and automation by offering a consistent and flexible developer experience.
According to Puppet’s
2021 State of DevOps Report, the common thread across all organizations that are “good at DevOps” is that they have adopted the platform team model, where they found “a high degree of correlation between DevOps evolution and use of internal platforms.” As the report notes, “Not every platform team is automatically successful, but the successful ones treat their platform as a product. They strive to create a compelling value proposition for application teams that is easier and more cost-effective than building their own solutions.”
Gartner identified platform engineering as one of the
Top Strategic Technology Trends of 2023, and Gartner analysts predict that by 2026 80% of software engineering organizations will establish platform teams; 75% of those include developer self-service portals.
The Rise of the Platform-Centric Model for Kubernetes
As the cloud, Kubernetes and infrastructure-as-code (IaC) increase in popularity and extensibility, organizations must manage a complex network of systems without the necessary technical knowledge and skill set. To reduce the friction and mental load on developers, many forward-thinking companies have formed dedicated teams that build and maintain internal platforms and establish best practices to accelerate enterprise software production.
While every development team will have different needs and paths to production, the overall goal of platform engineering remains the same: To accelerate software delivery with as little overhead as possible. Rather than having to understand the inner workings of the IT infrastructure, developers can focus on writing and shipping code in an efficient and reliable manner.
Fortunately, organizations can obtain ready-made “instant platform engineering” solutions from Kubernetes vendors. At D2iQ, we have done just that by creating an automated platform that provides a golden state for DevOps teams by packaging all the components needed for a production-ready Kubernetes environment in a complete, fully integrated, fully automated, fully-tested, easy-to-deploy, turnkey solution.
All platform applications for Day-2 readiness–such as logging, monitoring, networking, security, observability, cost monitoring, policy services, and more–are deployed and managed through a single, central management panel. Platform engineers can bind everything into a golden path and paved road for developers to accelerate and simplify the delivery of software at scale with as little overhead as possible.
DKP automation includes a top-to-bottom declarative approach to Kubernetes through Cluster API (CAPI) and integrated FluxCD. With cloud-native GitOps for application and infrastructure management, platform engineers can enable developer self-service and automation by offering a consistent and flexible developer experience.
Extending the Data Center Boundaries
The
State of the Edge 2022 report describes a new platform paradigm that is coming together for the hyperconnected era in which the cloud, data center, and edge are one, including “ubiquitous network connectivity, new key compute and interconnection hubs, and orchestration tools that work across a diverse set of infrastructure, abstracting it and presenting it as a single platform for developers to build on.”
Through the DKP Edge/IoT solution, organizations can deploy instant platform engineering that will extend its boundaries to the edge, easing the management of Kubernetes across all environments while accommodating future innovation.