In the rapidly evolving world of technology, there are growing needs for efficient and streamlined development processes. Internal Developer Portals (IDPs) have emerged as a powerful tool to meet this need, providing a centralized platform for developers to manage and operate their software. We are always trying to be up to date with the latest technologies and tools to help our customers build robust and efficient Internal Developer Platforms – leveraging cutting-edge tools like Backstage, Janus-IDP, and Red Hat Developer HUB. This not only enhances their internal development processes but also helps them towards achieving their business objectives. This blogpost tries to explain what Internal Developer Portal is, what benefits it adds to Internal Developer Platforms.
“Tool of Choice” is a series of blogpost that describe battle-tested, enterprise-grade tools and processes that we offer to all our customers – providing installation, configuration, support, and enablement for.
What is an Internal Developer Portal?
An Internal Developer Portal (IDP) is a self-service application and data store that allows developers and managers to track and organize everything their engineering teams build and operate. It’s designed to improve the developer experience by providing a centralized location for all development-related activities.
When a new microservice needs to be created, developers can provision infrastructure for it using a cloud provider portal. They can also create or modify CI/CD pipelines, implement changes to existing components like the API gateway and database, and add documentation or make their new microservice visible to the rest of the company. All these tasks can be done from one place, the internal developer portal.
The portal lets developers catalog and understand relationships, ownership, resources, external service data, and anything else they need to understand and operate their software. It’s a key driver of platform engineering, which implements reusable tools and self-service capabilities with automated infrastructure operations to improve developer productivity.
Internal developer portals are typically composed of four main parts: a software catalog, a scorecard layer, a developer self-service actions layer, and a workflow automation layer. These elements interplay with one another to provide a comprehensive and efficient development environment.
How can an Internal Developer Portal augment an Internal Developer Platform?
An Internal Developer Portal (IDP) can significantly enhance an Internal Developer Platform in several ways:
- Standardization
- Productivity
- Self-service
- Integration
- Reduced Operational Overhead
Standardization
An IDP provides a standardized set of tools and services for all teams, reducing the risk of inconsistencies and errors. This standardization ensures that all developers are using the same tools, which can lead to more efficient collaboration and fewer errors caused by non-standardized tooling.
Productivity
IDPs help automate setting up and managing development environments, configuring build pipelines, and deploying applications. This allows developers to focus on writing code and delivering features faster. By automating these processes, developers can spend more time on high-value tasks like coding and problem-solving, thus reducing cognitive load.
Self-Service
IDPs enable developer self-service while keeping cognitive load low. They allow developers to request resources, spin up fully provisioned environments, rollback, deploy, and set deployment automation ruling autonomously. This self-service capability can lead to faster development cycles and increased productivity.
Integration
IDPs integrate into existing workflows which usually remain a git-push deploy workflow but add further automation. This integration ensures that the IDP fits seamlessly into the developers’ existing workflow, minimizing disruption, and maximizing efficiency.
Reduced Operational Overhead
By automating many of the tasks associated with setting up and managing development environments, IDP can reduce manual operations and lower costs and maintenance overhead.
Why Backstage?
Backstage is an open platform for building developer portals. Its main goal is to unify all your infrastructure tooling, services, and documentation to create a streamlined development environment. Backstage simplifies the developer experience by providing a single place to manage all operational aspects, from finding software components and monitoring their health, to deploying applications.
Out of the box, Backstage includes a software catalog for managing all your software, software templates for quickly spinning up new projects, and TechDocs for easy creation and maintenance of technical documentation. It also supports a growing ecosystem of open-source plugins that further expand Backstage’s customizability and functionality.
Backstage is a CNCF Incubation project. For engineering managers, it allows you to maintain standards and best practices across the organization, and can help you manage your whole tech ecosystem, from migrations to test certification. For developers, it makes it fast and simple to build software components in a standardized way, and it provides a central place to manage all projects and documentation. For platform engineers, it enables extensibility and scalability by letting you easily integrate new tools and services (via plugins), as well as extending the functionality of existing ones.
In summary, Backstage ties all your infrastructure tooling, resources, standards, owners, contributors, and administrators together in one place. It’s a single, consistent experience that benefits everyone. Being open-source, customizable, extensible with plug-ins and having a very large community, we find it a great fit for most organisations.
Janus IDP
Janus IDP is a Red Hat sponsored community dedicated to building Internal Development Platforms and Plugins with Backstage. It provides a unified and open platform designed to maximize developer skills, ease onboarding, and increase development productivity. Janus-IDP also offers plugins for rapid deployment of new components.
Red Hat Developer Hub
Red Hat Developer Hub is an enterprise-grade platform for building developer portals, containing a supported and opinionated framework (based on Janus IDP). It aims to reduce friction and frustration for engineering teams while boosting their productivity and increasing their organization’s competitive advantages. The Developer Hub provides pre-architected and supported approaches and centralizes vital technology to help you get applications into production faster and more securely.
Our Journey with Backstage
We’ve done a lot of custom tools and tried many different tools. It always was hard to manage them independently and support the needs of our developers.
We are very careful in what we “declare a standard tool”. That carefulness comes from a very diverse ways of working – we have a lot of different customers, many of them having specific development processes. Adding many different means of project management on top of it (Jira, GitLab, Jira Service Desk, GitHub, etc.) makes it even more challenging.
While still very careful, we decided to try out Backstage to be our main driver. At first, we rolled it out with few development teams, avoiding big-bang changes. Those teams reported a lot of benefits, especially in bootstrapping and onboarding tasks.
Aside from technical ones, benefits were reported in reduced cognitive load (by using software templates we’ve streamlined our process – we are now able to move away from “read the manual” to one-click wizard like configuration). Naturally, that increased not just developer teams job satisfaction, but also platform teams.
Gathered feedback gave us insights that there are a lot of ideas on how to do even more, from new software templates to gathering engineering lead statistics into IDP.
That was enough for us to start rolling it out to other teams, building our new internal developer platform and gluing it with Backstage (powered by Janus IDP), reducing the number of touch points when starting a new project or managing existing one.
Conclusion
In conclusion, our journey towards adopting Backstage as our main driver for our Internal Developer Platform has been both careful and rewarding. Despite the diversity in our customers’ development processes and the variety of project management tools we use, we found that Backstage, powered by Janus IDP, significantly reduced the complexity of managing our tools and supporting our developers. The positive feedback and innovative ideas from our development teams further reinforced our decision.
We can confidently say that Backstage is our “Tool of Choice” for setting up an Internal Developer Platforms.
As we continue to roll out Backstage to more teams, we look forward to seeing how it will further enhance our development processes and drive our commitment to delivering exceptional value to our customers.
Have a question or need help with setting up your internal developer platform?
Contact sales@croz.net