Platform engineering is evolving the principles of DevOps, a methodology that breaks down the silos of IT operations and software development so organizations can deliver applications more quickly. In fact, 68 percent of organizations that have used platform engineering report that it improved their development velocity, according to a January report from configuration software maker Puppet.
“DevOps is a methodology for delivering applications and code, and platform engineering is like a strategy to help you do that,” says Jim Mercer, research vice president for DevOps and DevSecOps at IDC.
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.” Gartner predicts that by 2026, 80 percent of large software engineering organizations will form platform engineering teams.
Platform engineering frameworks can comprise self-service catalogs or internal development portals. For example, developers may use a self-service catalog to provision a database without waiting for a database administrator. “Platform engineering is about combining the right tools with the right qualities into a tool chain to facilitate the needs of a company,” says Neil Wylie, chief architect for platform engineering at CDW.
While DevOps is more of a business approach to software development, platform engineering is a natural evolution of it.
Click the banner below to improve your workflows with platform engineering.
How Does Infrastructure as Code Fit into DevOps?
Platform engineering is the next step in the evolution of DevOps because of the benefits that Infrastructure as Code provides. IaC lets organizations manage infrastructure through code rather than manually. It allows software developers to reuse configuration files and version storage.
IaC goes beyond traditional infrastructure such as servers, storage and networks to include technology that business applications use. Among these are load balancers, databases, content delivery networks and infrastructure monitoring services, says Naveen Chhabra, principal analyst at Forrester.
IaC could include an operating system environment, a database or system memory. IaC helps evolve a DevOps platform because it allows organizations to manage infrastructure more quickly and at greater scale. A software-defined infrastructure in the cloud also brings more efficiency when provisioning tasks, Mercer says.
“I don’t have to go to the data center and see if the lights are blinking,” he says. “By adopting IaC, you can have people spending more time on higher-value tasks rather than mundane infrastructure provisioning tasks.”
IaC automation enables more efficient software development. As a key part of platform engineering, it removes the friction from DevOps pipelines, Mercer says: “IaC provides the mechanism that ensures the infrastructure that developers need to do their job will be provisioned automatically and correctly for testing and development of the software, as well as ensuring smooth production deployments.”
Popular IaC applications include HashiCorp’s Terraform, a cloud-based tool for provisioning infrastructure in an automated fashion. Other IaC platforms include Amazon Web Services’ CloudFormation and Google Cloud’s Deployment Manager.
Although IaC is an automation framework that lets developers write specifications, it does not automate all tasks, Forrester’s Chhabra explains. “Its primary focus is provisioning, a little bit of configuration and maintaining a desired state.”
How IaC Helps with Infrastructure Configurations
The configuration source files that IaC creates include infrastructure specifications, which enable developers to edit and distribute infrastructure configurations, Mercer says. IaC also allows organizations to provision the same environment repeatedly.
“By codifying and documenting your configuration specifications, IaC aids in configuration management and helps you avoid undocumented, ad hoc configuration changes,” Mercer says.
Within platform engineering, IaC helps organizations avoid configuration drift, which is a potential security risk. Developers can use specialized tools to compare the differences in a configuration and correct any errors.
Source: gartner.com, “What Is Platform Engineering?” Oct. 26, 2023
Although IaC is an important technology, it’s not a “magic pill,” Chhabra notes. He explains that along with automation technologies, software developers will also need governance, security and compliance.
The key to making developers’ lives easier is having an automated DevOps pipeline, and that’s how IaC and platform engineering can help.