meshBlog

Internal Platforms: Enhancing Enterprise IT

By Wulf Schiemann30. November 2023

In the landscape of cloud-native computing, platform engineering is rapidly emerging as a crucial discipline. It represents the evolution of DevOps, focusing on creating platforms that curate and present foundational capabilities to accelerate and facilitate the work of internal customers like application developers and data scientists. This blog post explores platform engineering and the concept of internal platforms, offering insights into their critical role in modern cloud computing environments.

What is Platform Engineering?

Platform engineering is the practice of designing and maintaining a platform – an integrated collection of capabilities that ensure a consistent experience for acquiring and integrating typical capabilities and services. This approach is particularly relevant in cloud computing, where it has helped enterprises realize values like fast product releases, portability across infrastructures, more secure and resilient products, and greater developer productivity.

The Value of Platform Engineering:

Platform engineering offers several benefits:

  1. Reduced Cognitive Load on Product Teams: By centralizing tools and processes, platform engineering reduces the time and effort product teams spend on infrastructure concerns.
  2. Improved Reliability and Resiliency: Dedicating experts to platform capabilities leads to higher quality and more reliable products.
  3. Accelerated Product Development: Reusing shared platform tools and knowledge across teams speeds up product development and delivery.
  4. Enhanced Security and Compliance: Platforms enable better governance over tools and processes, reducing security, regulatory, and functional issues.

What is an Internal Platform?

An internal platform in cloud-native computing provides a consistent and efficient way to acquire and integrate services for various applications and use cases. It encompasses web portals, project templates, and self-service APIs, delivering a unified experience to its users. Such platforms are particularly relevant for cloud-native architectures as they separate supporting capabilities from application-specific logic, enabling more efficient resource management and integration.

Attributes of Successful Platforms:

  1. Platform as a Product: Platforms should be developed and evolved based on user requirements, similar to any other software product.
  2. User Experience Focus: Offering capabilities through consistent interfaces and focusing on user experience is crucial.
  3. Documentation and Onboarding: Proper documentation and tools for onboarding new projects are essential for users to effectively utilize platform services.
  4. Self-Service Capabilities: Platforms should enable users to autonomously request and receive capabilities, enhancing efficiency and scalability.
  5. Reduced Cognitive Load: A platform should encapsulate implementation details and reduce complexity for its users.

Challenges in Implementing Platforms:

Implementing platform engineering comes with its own set of challenges. These include gaining leadership support, aligning with business value streams, and treating the platform as a customer-facing product. Overcoming these challenges requires a user-centric approach, continuous feedback, and alignment with business objectives.

Measuring Success of Platforms:

Success in platform engineering is measured by user satisfaction, productivity improvements, and the impact on product delivery timelines. Metrics include active users, retention rates, Net Promoter Score (NPS), and developer productivity metrics such as those in the SPACE framework.

Role of Platform Teams:

Platform teams are responsible for developing and maintaining interfaces to platform capabilities, including web portals, custom APIs, and golden path templates. They need to research user requirements, plan features, market the platform, and continuously improve it based on feedback.

Capabilities of Platforms:

Platforms in cloud-native computing may offer various capabilities, including web portals for observing and provisioning products, APIs for automatically provisioning capabilities, golden path templates and documentation for optimal use, and automation tools for building, testing, and deploying services.

Conclusion:

Platform engineering and the creation of internal platforms represent a strategic shift in cloud-native computing. By focusing on user needs, treating platforms as products, and measuring success through tangible business outcomes, organizations can fully leverage the benefits of cloud-native computing. This approach enables enterprises to streamline their operations, enhance productivity, and maintain a competitive edge in the ever-evolving landscape of cloud computing.