Industry Insights

Understanding Internal Developer Platforms in Software Development

Written by: Drew Piland

9 min read

As software development becomes increasingly complex and distributed, organizations recognize the need to provide their developers with tools and resources to work more efficiently.  At the same time, there is a focus on efficiency - measuring all aspects of the software development lifecycle (SDLC) and optimizing for value delivered to customers.

Enter the internal developer platform (IDP), a term gaining popularity among developers. Businesses will enjoy various benefits, from improved developer productivity to increased innovation. In this post, we will explore an IDP, the critical criteria for a successful implementation, and best practices for a successful implementation.

What is an internal developer platform (IDP)?

An internal developer platform (IDP) is a collection of tools and services tailored to the organization's developers' needs. IDPs provide a singular, web-based interface that allows developers to access curated information and resources needed to build, deploy, and manage applications.

IDPs typically include curated documentation, code samples, best practices, APIs, and other tools to help developers onboard to a new organization or join a new project. It unifies teams by providing a standard environment, tools, and best practices, making collaboration and innovation more accessible and efficient. Internal developer platforms generally are comprised of the following capabilities: 

  • Centralized documentation: Provides a central location for storing an IT organization's documentation, including API documentation, code samples, blueprints, and best practices guides.

  • Self-service provisioning: Automates the provisioning of development environments and resources, freeing developers to focus on their work.

  • Collaboration tools: A platform for developers to collaborate on project designs, share code and best practices, and discuss ideas.

  • Software Catalog: A single index for many different artifacts a development organization may be responsible for (microservices, shared libraries, images, templates, APIs, workflows, etc.), as well as tools and resources they need to do their jobs. Software catalogs also represent another form of IDP, internal developer portals, a subset of the broader internal developer platform.

  • Analytics and Reporting: Analytics and reporting on developer activity can help organizations identify areas for improvement and make better decisions about allocating resources.

  • Integrated Search: Integrated search - provides access to information and artifacts across many systems and repositories.

Clarifying the acronym IDP

In software development, the term IDP can mean various things. Before diving deeper, let's clarify:

  • Internal developer platform (IDP): An internal developer platform (IDP) is built by a platform team to create golden paths and enable developer self-service. It consists of many different technologies and tools glued together to lower developers' cognitive load without abstracting away context and underlying technologies.

  • Internal developer portal (IDP): Internal developer portals serve as the interface that enables self-service discovery and access to resources in complex, cloud-native software development environments. They can include software catalogs, scorecards to benchmark software quality, scaffold templates, product documentation, plug-ins for extensibility, and automation workflows. An internal developer portal enhances your developer experience. It improves outcomes for your department, primarily by alleviating the cognitive load associated with everyday tasks like on-call rotations, deployments, new-hire onboarding, and resource lookups. By joining previously disparate data sets, leaders can understand their operations with never-before-possible ease and granularity.

  • Identity provider (IdP): An Identity Provider (IdP) system creates, maintains, and manages principal identity information while providing authentication services to relying applications within a federation or distributed network, often through single-sign-on (SSO). 

For the purposes of this blog, the acronym IDP refers to the internal developer platform.

What is the difference between a developer platform and a developer portal?

An internal developer platform provides the environment for creating and running applications. In contrast, an internal developer portal is a hub for resources and tools that assist developers in utilizing a specific platform or API. The developer portal is a subset of the developer platform.

Internal developer platform

Why are internal developer platforms beneficial?

The benefits are numerous, but the most significant is improved developer productivity. By providing the necessary tools, developers can focus on development without worrying about the infrastructure. Stated another way, internal developer platforms aim to remove the need to be an expert on the platform you’re deploying to. An IDP allows developers to choose the best tools and experiment with different programming languages. Additionally, an IDP reduces the time it takes to bring new features to market. Key benefits include:

  • Agility and autonomy: Provide developers with the tools to complete tasks without the operations team's help.

  • Improving developer productivity: Help developers save time by providing a central location to find the necessary information, collaborate, and reuse.

  • Improved developer collaboration: Provide a platform for developers to share code, ideas, and feedback, helping them collaborate more effectively.

  • Improved developer satisfaction: Provide developers with an easy-to-use platform and the resources they need to do their jobs.

  • Compliance and governance: Promote and share “golden paths” - templates that enforce best practices and avoid software delivery anti‑patterns.

  • Provide data and Insights into the software development and delivery process.

Critical criteria before pursuing an internal developer platform

Understanding your organization's needs is crucial before moving forward with an IDP. You need to clearly understand the processes and tools used by your development team. Moreover, an IDP requires investment in infrastructure, both financial and technical. Investment in internal developer platforms is often the main pitfall facing organizations, and thus, you must determine if your organization has the necessary resources to support an IDP. Finally, aligning the IDP with the organization's goals is vital, including developing new products, reducing the time it takes to get to market, and other objectives.

Who is responsible for managing internal developer platforms?

Internal developer platforms should be managed as a product; platform engineering teams typically take this on. Platform engineering is responsible for an IDP's initial configuration and ongoing maintenance. They also manage and coordinate the underlying infrastructure and resources that support the platform. Ultimately, platform engineering teams enable developers to be as efficient as possible by providing a self-service portal to support developer tools. 

Build vs buy

When evaluating build versus buy decisions, identify your problems and needs upfront. Think about what's core to your business and spend quality time on it. Then, select tooling that will allow you to expand and grow.

Two trends putting pressure on platform teams influence that decision heavily. 

  • Speed to value. If you're building from open source or scratch, seeing those outcomes will generally take longer than a commercial product. 

  • Needs of your development teams. In most large organizations, demand will far outpace supply. Do you want to focus on solving the real problems in the integrations for your developers and enabling them to be the most productive? Or are you willing to invest time and resources in building?

When evaluating whether to build your own IDP, first consider the following two questions.

  • Is it a strategic enabler for your business? 

  • Is it core to your business outcomes? 

Many companies say that toolchains and some SDLC aspects are a means to an end. That might be an area where if you buy more, you assume those core capabilities via a vendor, and you get your integrations, which start to change the investment level and generally get more efficiency. You also got the benefits of a large development team from that vendor already behind you, with support included.

Best practices for a smooth implementation

When implementing an internal developer platform, it's critical to communicate the benefits and requirements to all stakeholders involved. Start with small wins to show progress and build momentum. You'll also need to focus on the culture shift required by developers. Be sure to include the developers in the process, understand their needs, and work together to select the right tools. A solid transition plan, including a timeline, training, and support, is also crucial. Finally, keep an open mind to change. The IDP should be a dynamic platform, meaning that it can adjust to the changing needs of the development team.

How does CloudBees approach the internal developer platform?

CloudBees offers platform teams the tools to manage their CI/CD practices. 

  • Preconfigured actions: Platform teams can create standardization with embedded secrets, allowing developers to grab and go without worrying about sensitive information.

  • Backstage integration: We recognize Backstage as a de facto IDP and want to ensure a smooth experience for its users. CloudBees platform is adding a direct integration for Backstage; this feature is currently in Beta. 

Conclusion

An internal developer platform offers an excellent investment for businesses wanting to improve developer productivity, bring products and features to market faster, and increase innovation. Implementing an internal developer platform requires careful planning and a clear understanding of your organization's needs. Best practices include communication, developer involvement, and a flexible platform that adjusts to your evolving needs.

Get started for free today with the CloudBees platform

FAQs

  • What features should I look for in an internal developer platform? When selecting an IDP, you should consider factors like ease of use, customizability, centralized management, scalability, security, collaboration features, automated deployment, and support.

  • Are IDPs only for large enterprises? No, IDPs can be helpful for organizations of all sizes. However, larger organizations may have more complex development environments that can benefit from the standardization and automation provided by an IDP.

  • Can I customize my IDP? Many IDPs offer customization options, enabling organizations to tailor the platform to their needs and requirements.

  • How do I integrate an IDP with my existing IT infrastructure? Most IDPs offer integration with common programming languages, databases, other tools, and APIs for custom integrations. The provider should provide documentation and support to help with integration.

  • What are some common IDP examples? The most prominent IDP is Backstage.io, an open-source project created and maintained by Spotify Inc. Backstage describes itself as “an open platform for building developer portals.” 

  • Does CloudBees integrate with Backstage? CloudBees platform is building a direct integration for Backstage. This feature is currently in Beta.

Stay up-to-date with the latest insights

Sign up today for the CloudBees newsletter and get our latest and greatest how-to’s and developer insights, product updates and company news!