When it comes to platform engineering and DevOps, it’s not an either/or situation.
To be clear, platform engineering and DevOps are not the same thing. There’s a bit of confusion about the two practices. Does one replace the other? No. Can they work well together? Definitely.
Let’s look at what platform engineering is and how it can work hand-in-hand with a DevOps platform.
DevOps and platform engineering: Differences and benefits
You’re likely pretty familiar with DevOps. It’s a methodology, along with a set of processes and tools, that integrates software developers with operations teams to increase efficiency, speed, and security. DevOps works most effectively on a single end-to-end platform, allowing teams to consolidate an often complex and confusing multitude of tools into a single, complete software development ecosystem.
Platform engineering, on the other hand, is an emerging approach to software development that accelerates production and deployment velocity by providing DevOps teams with a single self-service portal for tools and workflows. By making the day-to-day developer experience more efficient, platform engineering improves team performance, eases the cognitive load on developers, and makes software delivery scalable, faster, and repeatable.
DevOps and platform engineering sound similar. They have similar goals. But think of it this way: DevOps, or a DevOps platform, acts as the framework for platform engineering. And platform engineering is a way to optimize, or turbocharge, a DevOps platform.
Why DevOps and platform engineering work well together
Organizations often adopt platform engineering after their software development teams have already migrated to DevOps. That’s because by using a DevOps platform, with tools and automation already built in, platform engineers don’t have to integrate tools and build their own platform for their processes and methodologies to work on top of. They simply can optimize the single, end-to-end platform already set up for them, saving them a lot of time and labor.
As DevOps grows, there is an increasing call for platform engineers, a bleeding-edge role, in various job listings. A platform engineer, or team, is an extension of the DevOps team, tailoring the DevOps platform for the specific development, security, and compliance needs of specific organizations. Companies are looking for platform engineers with a myriad of skills — from experience with automation to infrastructure as code, cloud deployments, Kubernetes, and secure coding practices.
“Using a DevOps platform is the perfect starting point for platform engineering,” says Cailey Pawlowski, solutions architect at GitLab. “Both are focused on improving the development process and a developer’s experience. They work together.”
How platform engineers can optimize DevOps platforms
Platform engineering is focused on creating efficiencies and optimizations. That means platform teams help the business better serve its customers, stay ahead of competitors, and avoid costly and damaging security incidents.
To help their organizations get the most out of their DevOps platform, platform engineers can:
- use and customize monitoring tools in the DevOps platform to find out when and why bottlenecks are happening, and then fix those problems
- ensure teams aren’t missing out on tools, like vulnerability scanning and access management, in the platform that will help their workflows
- customize tools in the platform, such as finely tuned automation scripts for CI, to fit the organization’s specific needs
- create a list of best practices and then ensure they’re being followed
- set up and customize platform templates to standardize pipelines so developers don’t have to create new pipelines from scratch every time
- build in pipeline efficiencies, such as custom code related to the organization’s infrastructure or a specific app
- configure security and compliance policies to ensure that scans are run at specific times or points in the development process, or are triggered by certain events, such as a pipeline running against a branch
- set up checks and balances for regulation enforcement
- set up regular security audits
How platform engineering helps DevOps teams
By setting up clear steps and guidelines, and by creating efficiencies throughout the software development lifecycle, platform engineers can have a great effect on the DevOps process, as well as on the team.
Here are a few benefits:
- increase development velocity by streamlining workflows
- improve collaboration by giving team members more time and energy to work together
- make building secure software more efficient and consistent
- ease regulatory compliance by setting up training, policies, and checks and balances
- reduce team members’ cognitive load by using automated tools to reduce repetitive, hands-on work
- minimize human error with automation
- make developers happier by easing manual tasks, giving them time and energy to do the creative, challenging work they enjoy
“Platform engineering is about empowering developers,” says Ayoub Fandi, staff field security engineer at GitLab. “It’s about enhancing what a DevOps platform already provides by making sure teams are using all of the tools available and by making the most of them. It’s literally having people dedicated to making developers’ jobs easier.”
Check out this video demo on how platform engineering works.
Download our new eBook to learn more about platform engineering and other ways to create high-performing teams that build secure software, faster.