What Do We Mean When We Say: Platform Engineering

What do you need to know about platform engineering?

While certainly not a "new" technology, the concept of platform engineering has recently become widely popular in enterprise organizations. Platform engineering is so popular that, according to the Puppet 2023 State of DevOps, there's been a 27 percent increase in enterprises adding platform engineering teams to their organizations in the past three years alone.

This increase in adoption makes platform engineering one of the hottest trends in software development. With so much emphasis on the addition of platform engineering teams, one has to ask the question: What is platform engineering and why is it becoming so popular?  

Why All the Buzz?

As a project manager, I hate to waste time and especially dislike reinventing the wheel. One of the activities I do when preparing to launch a new project is conduct an in-depth analysis of the scope of the project. Specifically, I'm looking for ways to leverage existing relationships, knowledge bases, tools, resources, subject matter experts, and the like.

I also review previous projects and look for similarities or parallels to the present project. Are there likely to be common roadblocks and risks? What were the "gotchas," and how did we deal with them? Are there processes, tools, systems or approaches we previously used that worked well?

The net is that I'm looking for anything that can be leveraged that will improve efficiency and productivity while enabling us to deliver a high-quality product with less time to market. It only makes sense to leverage and build on existing knowledge and resources gleaned from past projects to create a smoother path forward that frees up team members to be productive earlier in the development cycle.

In many respects, platform engineers and the platforms they create, provide the same general type of review, analysis, and service in the form of integrated platforms to software engineers and developers as project managers do for the projects they support. Platform engineers research and analyze organizational needs of applications from inception through the entire application lifecycle.

Once needs are identified, platform engineers custom design and then build an integrated product platform complete with appropriate workflows and toolchains. Because they see the "big picture" and identify similar workflows and problem (or solution) sets from other projects and then repurpose and incorporate toolchains and workflows from other projects into customized platform solutions.

Often referred to as Internal Developer Platforms (IDPs), these integrated product platforms enable software engineers and developers to do what they do best without the necessity of first developing the mechanisms, tools, resources, platforms, necessary to ensure swift project implementation with maximum quality productivity. Integrated platforms reduce the learning curve and enables software engineers and developers to quickly get up to speed and make forward progress on new projects.  

Staying Ahead of the Competition

What do you need to know about platform engineering?

We live in a world of ever-changing technology. Many of the technologies and products rolling off the factory floor today as science-fact were science-fiction only a few short years ago. To compete in the marketplace, enterprises need to be prepared to respond quickly to emerging technologies in real-time.

Many businesses look to technologies such as automation, robotics, or artificial intelligence (AI) to improve their workstreams. While helpful, these resources only focus on particular aspects of an organization's requirements. Enterprises that incorporate platform teams into their organization structure are already one step above the competition.

Platform engineering teams are all about providing consistency, speed, and scalability. As a result, many mature enterprises have already incorporated platform engineering teams into their DevOps organizations. Because platform engineers provide custom integrated development platforms, they leverage knowledge related to common problems and their solutions, enabling them to identify and plan for potential risks or issues which might negatively impact productivity.

As with project management, feedback is solicited so improvements to the integrated platform are iterative and measurable against key performance indicators resulting in faster times to market, higher efficiencies and improved quality.

Who Benefits?

What do you need to know about platform engineering?

The concept of platform engineering is universal and beneficial to all enterprises. Small and mid-size businesses can glean as much benefit from the adoption of platform teams as large organizations. Platform engineers incorporate all identified use cases (debugging, services, resource additions, configuration changes, and role based access control, for example) into the IDP providing a common self-service foundation of tools, support, APIs, knowledge and resources in a one-stop shopping forum.

As projects become more complex due to changing and emerging technologies, IDPs enable software engineers and developer teams to quickly move forward with their area of responsibility without having to reinvent the wheel and learn and understand the overall project toolchain. Such IDPs simplify workflows, promote autonomy, efficiency and improved delivery times. IDPs also improve security by providing a smaller footprint to secure.

The platform team is in a unique position to facilitate a shift in how DevOps teams function. By providing the infrastructure needed to do the job, platform teams streamline the development process enabling software engineers developers to focus on applications rather than creating toolchains, workflows and infrastructure.

Qualities of platform infrastructures

A good platform team provides the infrastructure upon which DevOps teams can build. Platform teams are not a replacement for DevOps teams but rather a service provider where the DevOps team is the client and the deliverable is the customized IDP.  Successful platform teams should (at a minimum) provide the following services:

Identify, design and build reliable IDPs that meet the workflow and toolchain needs of the software engineer and developer teams they support.

Adopt a mindset of continuous improvement by soliciting feedback from the DevOps team and measuring success against defined performance indicators.

Provide a productize IDP to the client. The success of the integrated platform is in the real world value it provides to the DevOps team.  

Reuse content where possible to solve common problems and promote efficiency and ease of use and a seamless workflow and toolchain.

Provide ongoing monitoring of the IDP performance.

Automate tasks such as configuration management and testing where possible to improve efficiencies.

Troubleshoot and Debug IDP issues.

What's next?

No one can predict the future but it's likely that we'll see numerous advances in platform engineering and integrated platforms as platform teams respond to advances in technologies such as machine learning, artificial intelligence, blockchain and cloud computing.

As existing technologies continue to evolve and new technologies emerge, integrated platforms will evolve to incorporate the changing technologies in IDPs. Whatever the future face of platform engineering, it promises to continue to drive improvements and efficiencies into DevOps.

MORE HISTORIC HACKS
Would you like more insight into the history of hacking? Check out Calvin's other articles about historical hackery:
About the Author
Mary Kyle is a freelance technology writer based in Texas.

Mary Kyle is a full-time freelance writer, editor, and project manager based in Austin, Texas. Formerly employed in various positions at IBM, Mary has more than 10 years of project management experience in IT, software development and IT-related legal issues.