What Is Platform Engineering?
Gartner defines platform engineering as “an emerging technology approach that can accelerate the delivery of applications and the pace at which they produce business value” by “providing self-service capabilities with automated infrastructure operations.”
To implement platform engineering, an organization must assign a dedicated team of platform engineers who, as Splunk describes, work to understand the needs of an organization’s development team. From there, platform engineers work on building a platform for software development that improves efficiency. They might develop such things as build tools, version control systems, automated testing frameworks, alerting and deployment workflows.
Essentially, platform engineering supports developers by providing them with a centralized suite of tools and workflows. The practice doesn’t replace DevOps, but aims to enhance it. Platform engineering teams take the design, implementation and maintenance of tools and workflows out of developers’ hands to make their lives easier.
As TechTarget explains, successful platform engineering teams become a resource for DevOps teams, and the two should work together. As a result, “developers using the platform can enjoy benefits such as greater consistency and productivity without needing to have granular knowledge of how the platform operates.”
Why Is Platform Engineering Growing in Popularity?
In essence, “teams adopt DevOps culture, practices, and tools to increase confidence in the applications they build, respond better to customer needs, and achieve business goals faster,” according to Microsoft. DevOps clearly has its benefits, and has been lauded as a revolution of sorts in the world of software development. So, why are organizations now jumping on platform engineering?
DevOps was born out of efforts to improve upon more traditional approaches to software development, such as waterfalling. In a waterfall approach, one stage of software development can only proceed when the previous stage is complete, which — compared with a DevOps approach — slows the development process, doesn’t leave room for teams to pivot and pushes the testing stage to later in development.
Organizations currently find themselves in a similar situation, only now they’re at the next step of the software development evolution, where platform engineering is being implemented to manage the increasing complexity of DevOps in a cloud-native world. To address this complexity, “platform engineers build upon the foundational practices of DevOps but go beyond by embracing a holistic view of the technology stack,” according to DevOps.com.
Adds Red Hat: “Platform engineering is emerging to streamline developers' lives by providing and standardizing reusable tools and capabilities as an abstraction to the complex infrastructure.”
Plus, according to Gartner Research Vice President Paul Delory, “platform engineering emerged in response to the increasing complexity of modern software architectures. Today, non-expert end users are often asked to operate an assembly of complicated arcane services.”