In some ways, platform engineering — which provides prebuilt toolchains and workflows for use by a company's own employees — is exactly what DevOps teams need to thrive. The easier it is for DevOps teams to access the tools and environments they need to deliver software, the more efficiently they can build and update applications.
But just because platform engineering has the potential to supercharge DevOps doesn't mean this always happens. Platform engineering can pose challenges that undercut the ability of DevOps engineers to do their jobs.
If you want to ensure that platform engineering actually enhances DevOps, understanding the potential drawbacks of platform engineering strategies, in addition to their advantages, is critical. Let's explore by discussing what platform engineering means, and how it can — and can't — benefit DevOps.
What Is Platform Engineering?
Platform engineering is the practice of making preconfigured IT tools and services available to a company's internal users on a self-service basis.
The goal behind platform engineering is to help employees access the resources they need to be productive, without having to build them themselves or ask the IT department to do it for them. Instead, employees simply select from a catalog of prebuilt toolchains and workflows and deploy the ones they want.
As an example of platform engineering in practice, imagine that a software developer wants to create a Kubernetes cluster to test a new application. If the developer's organization offers a preconfigured Kubernetes cluster through platform engineering, the developer can spin it up quickly and easily. That's a lot faster and simpler than building a cluster from the ground up.
Just as important, this process also ensures that the environment the developer uses is configured in a way that aligns with the company's security and governance policies — which may not be the case if the developer were to create a cluster using whichever tools and configurations he or she chooses.
How Platform Engineering Benefits DevOps
In many respects, platform engineering and DevOps go hand-in-hand. That's not because you strictly need platform engineering to implement DevOps. You don't, because DevOps simply means collaboration between IT operations engineers and software developers. You can achieve that without platform engineering.
However, platform engineering helps achieve the goals behind DevOps in several ways:
By providing access to preconfigured resources that conform to a company's standards, it helps avoid friction between software developers and IT.
It allows developers to request resources automatically, without bothering the IT team with manual requests. This also facilitates smoother collaboration between IT and development.
It speeds software delivery, allowing DevOps teams to pursue the goal of implementing CI/CD.
In short, platform engineering helps DevOps teams "do" DevOps more efficiently and reliably.
Source: Alamy
The Potential Downsides of Platform Engineering for DevOps
That said, when implemented poorly, platform engineering can create more problems for DevOps teams than it solves.
One common pitfall is offering solutions that aren't actually useful. For instance, if you use platform engineering to create a preconfigured Kubernetes cluster that runs on AWS, but your developers are building and testing applications in Azure, they're not likely to find the solution very useful. Problems like this occur when the engineers responsible for platform engineering lack clear insight into what their "customers" — meaning developers and other DevOps stakeholders — need to be productive.
Platform engineering can also go awry when the solutions an organization offers are difficult to deploy. In theory, deploying a solution should be as simple as clicking a button or deploying a script. But buggy deployment tools, as well as issues related to inconsistent software environments, might mean that DevOps engineers have to spend time debugging and fixing flawed platform engineering offerings — or ask the IT team to do it. In that case, a solution that was supposed to save time and simplify collaboration ends up doing the opposite.
Along similar lines, platform engineering delivers little value when the solutions don't consistently align with the organization's governance and security policies. This tends to be an issue in cases where different teams implement different solutions and each team follows its own policies, instead of adhering to organization-wide rules. (It can also happen because the organization simply lacks clear and consistent security policies.) If the environments and toolchains that DevOps teams launch through platform engineering are insecure or inconsistently configured, they hamper collaboration and fail to streamline software delivery processes.
How DevOps Teams Can Improve Platform Engineering
You may have noticed a common theme in the platform engineering challenges described above: They all result from situations where platform engineering solutions are poorly designed or implemented.
Thus, from the perspective of DevOps, platform engineering itself isn't the issue. Bad platform engineering is.
This means that delivering actual value and enhancing DevOps through platform engineering is simple: Businesses must ensure that the solutions they build are high in quality, relevant to users, and configured in a consistent way that aligns with organization-wide goals. That's simple enough to do, but it requires a systematic approach to platform engineering — as well as clear rules governing which types of solutions the organization implements and how they work.
The bottom line: By all means, consider taking advantage of platform engineering to increase the efficiency of DevOps and minimize friction between stakeholders. But make sure you implement platform engineering in a way that delivers real value, rather than letting your pre-engineered platforms become merely another source of headache for IT teams and developers.
About the Author
Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.