For Industrial & IoT, go to portainer.industries · For AI, go to portainer.ai
Register for our August 27th webinar: Why Kubernetes Docs Keep Losing You (And What We Did About It) →
Blog

Excel in Platform Engineering by designing efficient self-service delivery platforms

Key takeaways

CleanShot 2024-09-20 at 16.11.58@2x

  1. Grow platform capabilities over time
    • PDCA Plan/Do/Check/Act
    • DEVOPS Feedback Loop

Conclusion

Creating a delivery platform to streamline your software development and deployment has the potential to dramatically improve the overall performance of your teams and the quality of their output. By abstracting the complexity of the various underlying technology systems and presenting curated mechanisms to deliver what they need, your team’s output, their satisfaction and their ability to focus on higher value activities will show progressive improvement over time.

Like any new skill or process, Platform Engineering will involve a change process and potentially a cultural shift in approach. However the energy surrounding Platform Engineering is the direct result of the common sense and highly effective approach.

A software development and delivery platform enables an organization to centralize and coordinate the entire software delivery chain. In previous articles, we have idealized this as an IT ‘Vending Machine’ as this idea captures the simplified self-service nature of the ideal software delivery platform. (See the previous article here)

The concept of Platform Engineering becomes very complex in a modern, fast-moving IT environment. It relies on the emerging area known as Platform Engineering. So, how do we excel in Platform Engineering?

A well-conceived platform is more than just a concept. It’s a practical solution that equips users with the necessary tools and processes for self-service deployment, testing, management, and use of applications. This platform is designed to adapt to the changing needs of the users, which reassures them and boosts their confidence. Ideally, users are eager to use it!

Depending on the organization, platforms typically include infrastructure or cloud services, container orchestration systems like Kubernetes, CI/CD pipelines, alerting, monitoring, and logging tools, backup and data protection tools, security, and several other advanced tools.

💡 Platform Engineering

Platform Engineering is the process of designing, building and operating self service delivery platforms for software development, deployment and management within an organization. It is the process of creating and maintaining user friendly, self service capabilities on top of highly complex systems & processes to accelerate app dev and app deploy. So its the process of designing and building the vending machine. It’s useful to remember that the platform engineering team is the

responsible for the creation and management of the platform. They are the vending machine service team, keeping the machine healthy, re-stocking, and changing product mix based on user feedback)

For organizations that rely on their development teams, the developer experience will dominate the platform. It will likely be presented as an IDP - Internal Developer Platform, with specific tools and capabilities to assist with developer efficiency and productivity.

However a well conceived and implemented platform eliminates toil (non-value added effort) and can improve efficiency by up to 70% (Gartner 2023). This can benefit a range of users - not just the dev team. In fact Gartner see this as a top initiative for 2023 and 2024.

The great news is that doing platform engineering well does not have to be that hard!

The Platform Engineering Team Responsibilities

In the best current examples (and this is an emerging, important area) the platform is seen as an internal product, built with both product management and agile development principles applied. This means that the Platform Engineering Team will act like product managers and carry out several key functions:

lazy-8 DevOps

Guiding Principles

Even though Platform Engineering is an emerging practice, a set of guiding principles is emerging from the work of Gartner and others. Done well, Platform Engineering will:

  1. Build a platform that is compelling, not mandatory by being demand driven
    1. Internal users are the customer
    2. Find and address the customer’s biggest frustrations or constraints FIRST
    3. Gauge ongoing investment by usage, demand and feedback
  2. Treat the Platform as a Product
    1. Prioritize
    2. Iterate
    3. Version
    4. Document
    5. Train
  3. Create ‘Paved Roads’
    1. Identify and build an easy way through the jungle…
    2. In fact ‘easy ways’ - more than one.
  4. Provide Self Service Consumption tools
    1. Be a Vending Machine!
    2. Consolidate access points into a single internal developer portal - API, wiki, or confluence might be a start, but a proper portal is what turns scattered tools into one self-service surface.
    3. If the platform is harder to use than a vending machine - rethink!
  5. Always be the thinnest possible Platform
    1. Dont Over-engineer
    2. Start small and iterate
    3. Kayak not a cruise liner (Gartner)

Getting Started

  1. Find your ‘why’. Where is the pain? Pain points could be:
    • productivity
    • errors and inconsistency in output
    • Cognitive load on the team - too many tools, too much manual assembly,
    • dev and user experience,
    • attrition
  2. Create the ‘paved road’
  3. Measure success

CleanShot 2024-09-20 at 16.11.58@2x

  1. Grow platform capabilities over time
    • PDCA Plan/Do/Check/Act
    • DEVOPS Feedback Loop

Conclusion

Creating a delivery platform to streamline your software development and deployment has the potential to dramatically improve the overall performance of your teams and the quality of their output. By abstracting the complexity of the various underlying technology systems and presenting curated mechanisms to deliver what they need, your team’s output, their satisfaction and their ability to focus on higher value activities will show progressive improvement over time.

Like any new skill or process, Platform Engineering will involve a change process and potentially a cultural shift in approach. However the energy surrounding Platform Engineering is the direct result of the common sense and highly effective approach.

One platform, not twelve tools.

Govern Kubernetes across your whole fleet from a single control plane. Get 3 nodes free.

Get 3 nodes freeTalk to technical sales


Get 3 nodes free More from the blog