What is platform engineering?

Two people working on laptops are partially visible behind a green overlay featuring a white gear and circuit design, symbolizing how platform engineering improves operations.
ACF Image Blog

Learn how platform engineering practices lead to software stability and quick issue resolution

Ajay Chankramath, wearing glasses, a light blue shirt, and a dark blazer, stands poised against a light gray wall.
Ajay Chankramath | Chief Technology Officer & Managing Director, Platform & Products, at Brillio

Ajay Chankramath is the Chief Technology Officer & Managing Director, Platform & Products, at Brillio. With over 30 years of industry experience, he is a proven technology visionary known for leading transformational initiatives in platform engineering. A recognized thought leader, Ajay frequently speaks at global technology conferences and has authored influential pieces on platform engineering strategies. Additionally, he co-holds a foundational patent in platform engineering, solidifying his role as an innovator in the field from its early development stages.

Bryan Oliver, a person with glasses, a beard, and short hair, smiles warmly while wearing a dark suit jacket and a light shirt.
Bryan Oliver | Platform Engineering Team at Thoughtworks

Bryan Oliver is an experienced engineer and leader who designs and builds distributed systems. He currently resides on the Platform Engineering team at Thoughtworks, where he focuses on cloud native platforms. He enjoys contributing to open source and speaking at technical conferences internationally.

Sean Alvarez, a distinguished man with glasses and gray hair, dons a dark suit and tie. He offers a warm smile against a plain background.
Sean Alvarez | Principal consultant at Thoughtworks where he is the Head of Business

Sean Alvarez is a principal consultant at Thoughtworks where he is the Head of Business Platforms in North America. Using skills learned while getting an M.S. in computer science and an MBA he has led multiple enterprise scale transformations using the principles of Platform Engineering across all cloud vendors, and can be recognized from his industry presentations and roundtables in the practice.

Nic Cheneweth, a smiling man with short dark hair and glasses, dons a dark suit with a white shirt as he stands outdoors before a fountain and stone building.
Nic Cheneweth | Principal Consultant at ThoughtWorks and founding infrastructure contributor to ThoughWorks Digital Platform Strategy

Nic Cheneweth is a Principal Consultant at ThoughtWorks, and is the founding infrastructure contributor to ThoughWorks Digital Platform Strategy. His undergraduate studies are in computer science and software engineering, and he holds an MBA as well as doctorate and post-doctorate degrees. With 30 years of executive leadership, consulting, and engineering experience in roles ranging from the courtroom to the boardroom, as a former CEO, VP, Chief Counsel, Director, or entrepreneur in startup, private, and publicly traded companies, Nic brings a unique perspective to technology strategy and implementation.

9 MINS READ

This blog discusses:

  • What platform engineering is 
  • When using these practices will provide the most significant benefit
  • What the core platform engineering principles are
  • How best to start using platform engineering principles to deliver an effective engineering platform

Why we need platform engineering

Platform engineering is an exciting evolution of DevOps culture and practices that is revolutionizing the ability of many organizations to quickly and reliably deliver software to production. Though there is an internal cultural aspect to DevOps, far too often it just becomes a “team.” Product developers tell DevOps what they need, and DevOps creates it — frequently with a complex combination of manual and automated infrastructure-as-code practices. 

Over time and at scale, the general pace and complexity of IT work ends up being unsustainable. Improvements in quality are often used to justify the effort. While the boost in quality is valuable, it’s important to remember that DevOps originally emerged to keep up with the faster development cycles that the market demands. This remains a challenge for most organizations. 

Instead, if we start thinking of DevOps as a product team that builds and delivers an infrastructure product, and we design and engineer with this goal in mind, we open the door to a completely different outcome. It allows teams to operate in a more autonomous way during the development process, leading to faster delivery of features. 

As teams start to operate their own software in production, platform engineering practices provide a way to do so with less cognitive load and complexity leading to software stability and quick issue resolution.

A platform engineering case study

Editor’s note: This blog series is excerpted from the Manning MEAP (Manning Early Access Program) book, Effective Platform Engineering. In MEAP, you read a book chapter-by-chapter while it’s being written and get the final eBook as soon as it’s finished. In the book, the authors imagine working for a company called PETech that is facing problems with efficiency around practices deploying and operating software to production. These challenges are similar to situations seen in many real companies and serve as a great way to illustrate the platform engineering discussion. You can click into this blog to get more details about PETech’s profile and how it relates to lessons in platform engineering.

Now let’s dive in!

To begin our journey, let’s imagine an end state for our profile company explained above — PETech: Setting up for success was like opening a portal to a realm of efficiency. 

It took half a year to roll out a change in the previous state, facing hurdles at every step. However, with the changes we implemented, it defied the odds, slashing the timeline from months to a mere hour. The bottlenecks that once plagued the process – security concerns, auditing nightmares, compliance headaches, change control dilemmas, and spiraling costs – are now gracefully overcome. 

But how was PETech able to accomplish this feat? 

Dismantling siloed functions

The secret lies in dismantling siloed functions and optimizing the elements that traditionally bog down the deployment process. Security, deployment, and other critical governance aspects are streamlined and automated, allowing for an efficient workflow that catapults the company into a new era of technological prowess. 

As we embark on this learning journey about platform engineering, it’s crucial to understand the principles underpinning this radical transformation. From defining efficient ways to develop, test, deploy, and monitor the code, to addressing security and governance concerns with a finesse that incorporates modern software techniques, PETech has implemented a comprehensive and exhaustive list of principles that make deployment efficiency a goal and a reality.

The essence of platform engineering is intentionally addressing the problems like PETech was seeing and delivering the outcomes of engineering efficiency. Still, deployment efficiency is merely the tip of the iceberg. Platform engineering, as showcased by PETech, is about unlocking possibilities, breaking barriers, and reshaping the future of technology to create more efficient and effective ways to build and deliver software products. Together, we will redefine the landscape of platform engineering. 

This series of blogs, which are excerpted from a Manning book, shows how to effectively start using platform engineering practices in your organization to build and deliver engineering platforms. You’ll see how platform engineering practices enable: 

  • Fast onboarding of new teams and services 
  • Increased deployment frequency to production 
  • A more remarkable ability to minimize and quickly recover from production issues. 

In this blog, you will learn: 

  • What platform engineering is 
  • When using these practices will provide the most significant benefit
  • What the core platform engineering principles are
  • How best to start using platform engineering principles to deliver an effective engineering platform

Defining platform engineering

The number of articles, posts, and conference tracks on platform engineering has increased dramatically over the last few years. Yet, these sources can have very different ideas about what it means, why it matters, or what good looks like. Why is it so hard to define? 

Platform engineering seems hard to define because it is a strategy targeted at a central challenge in modern software development: How do I rapidly and sustainably deliver software experiences to customers, given the constantly evolving technologies, the extensive governance and operational requirements, and the critically essential security challenges? Platform engineering is an approach to solving this challenge. 

We define effective platform engineering as a craft that is: 

  • Composed of the architectural, engineering, and product delivery disciplines 
  • Applied by dedicated development teams with broad domain knowledge and product ownership 
  • Delivered as an engineering platform that provides internal software development teams access to the tools and technologies they need to innovate, create, release, and operate their software 
  • Providing self-service and seamless access to all platform functions
  • Minimizing the need for non-development tasks, and cross-team engineering delays 
  • Decreasing the cognitive load required to meet all security, governance and compliance 
  • Succeeding as measured by clear business goals that can be regularly reported against with observable metrics. 

Think of this as analogous to an oven with pre-programmed buttons for different types of food. 

Image Alt Text
Figure 1.2 An oven with pre-programmed food choices would make experimenting with new recipes much easier. You wouldn’t have to worry about knowing the right temperature or how long to cook a new meal. You could simply put the ingredients together, hit a button and enjoy! Building an engineering platform should provide developers a similar experience for deploying new software.

If a company designed, architected, and manufactured an oven that could cook any recipe with the push of a button (a microwave maybe?) it would be much easier to experiment with new recipes. You could simply put together ingredients, hit the right button, and enjoy your creation! 

So how can we use platform engineering to make something analogous to this magical oven? That’s where engineering platforms come into play. 

Effective Platform Engineering Manning Book: Learn how to quickly and reliably deliver software to production

What is a platform engineering platform?

As described in the definition above, a modern engineering platform is the product delivered by a platform engineering team to enable development teams to operate more efficiently. 

An engineering platform can provide teams with a “paved road” to deploy and operate software from build to production release. 

It will remove cognitive complexity and enable teams to get started day-one of a new effort to release to production. Figure 1.3 shows the relationship between a platform engineering team and the consumer software product development teams.

Image Alt Text
Figure 1.3 The relationship between a platform engineering team and the engineering teams it serves is through an engineering platform. The platform engineering team provides a platform that defines the tools and processes needed to be secure and compliant, and teams use it to publish and operate their software.

Engineering platform components

An engineering platform is a collection of the technologies, tools, and knowledge needed by the majority of teams within the organization to: 

  • Deliver their software quickly to production
  • Safely experiment with the features and capabilities the software provides to customers
  • Operate it over the long term, all while remaining secure and compliant

Engineering platform components could include:

  • CI/CD systems
  • Pre-defined build and release steps that include compliance and security best practices
  • Reusable infrastructure definitions that can be easily applied
  • A hardened runtime environment such as kubernetes, and many more capabilities 

The components of the engineering platform should be defined and implemented as part of a single, unified product roadmap that is prioritized according to the needs of its users — the engineers. The goal? When using the engineering platform, teams should be able to continue to deliver value to the organization without many of the common engineering friction points and delays usually experienced.

Most of the time, if you ask a stakeholder what is responsible for that engineering friction and delay, they will point to operational, security, and governance requirements as being the unavoidable cause. 

Systems must indeed be healthy and secure, protecting customer and business data. Laws and regulations must be followed so that a business can be in compliance and maintain customer trust. So, how do you engineer and deliver a platform product that removes the friction yet still meets the requirements? 

That is the professional goal of platform engineering. Platform engineering skills are how an effective engineering platform is delivered.

In the next blog in this series we’ll break down foundational platform engineering practices.

 

Share This: