Developer portals are one of the newest ideas to gain the interest of the technology community. We’ve known for a long time that individuals and practitioner teams in companies are often the ones who drive software and infrastructure strategies in organizations. Especially with software development, the technologies that make development easiest and fastest are often the ones that win out, despite what centralized planning may start with.
Rather than fight this bottoms-up enterprise strategy, clever organizations recognize that teams are the ones that will identify the best technologies to meet your business goals. These organizations shift from policing how teams do software to partnering with those teams to give them the tools that make their work better.
So, how should you proactively plan for acquiring and putting in place a developer portal rather than discovering that your organization has amassed various tools, technologies and frameworks after each development team has decided on their own?
What is a developer portal and how does it help?
A developer portal catalogs all of the applications and services that are used in your organization. For example, the applications might be components of your consumer-facing online banking app, and the services might be back-end services your applications use, like executing money transfers. Let’s think of these applications and services as “projects.”
For many years, developers have used wikis and wiki-like content management systems to host project documentation and project management information. What’s different about a developer portal is that it borrows from the “infrastructure as code” thinking in DevOps and makes those websites more programmable and livelier. For example, a developer portal will describe each project in the portal, even the APIs that other teams can use. Think of this as “read” access to those projects. But a developer portal adds in “write” access to the projects, as we’ll explain below.
Overall developer portals help your teams in three important ways:
- Discovery: Identify what is out there as far as libraries and templates with embedded patterns and practices that will enable them to succeed. In addition, they can learn about existing software projects and any associated dependencies.
- Deliver: developer portals provide a single view to manage and control various infrastructures whether on-premises or in a public cloud. This includes various CI/CD, DevSecOps governance tools like secure software supply chains, and other automation that allows for self-service deployment to various environments.
- Observability: Portals are a one-stop-shop for graphs, logs, and a view into application environments. This is used both by developers and production support for incident management.
Developers just want to write and get their code into production. In many environments today, starting a new project is like standing at the beginning of your organization’s software labyrinth.
With a developer portal, your developer can shop a catalog where they can choose to launch an internal website, an API, an integration to your ERP, or whatever else you have predetermined as a pattern for your organization. By clicking on their selection, they will soon have a project established in source control with the standard dependencies, code layout, IAM integration, and metadata to build and deploy their application.
Hours of meetings and discussions have been reduced to a short online shopping excursion. The wasted time of finding and starting to use APIs and shared code is removed so developers can start working on applications. Your developer is focusing on business value instead of scheduling meetings. Security is confident the developer is following known, approved, compliant patterns. Architects are comforted the developer is building toward the overall strategic vision. Operators are sleeping well knowing the developer is leveraging automation to deploy to a well-known infrastructure pattern.
All applications will have their bad days. It may be slow performance or moments of being offline. How will your teams respond? A developer portal gives them a single place to see the latest information. What are the metrics? What do the logs show? Is the underlying Kubernetes platform operating as you expect? Your teams don’t have to spend precious time researching where the logs are kept, or which cluster the application is running on. By going to the portal, they will be a few clicks away from information to help them quickly respond and, if necessary, restore.
Backstage is the leading example in the area. It was originally developed and open-sourced by Spotify to standardize the internal catalog, onboarding, and governance of applications and services. Spotify has thousands of microservices and, we think, they’d be much less agile if each of those microservices followed its own method of documentation, identifying the people responsible for that app, providing runtime analytics, and otherwise being an asset database. Now in its 1.0 release, Backstage is an incubating project at the Cloud Native Computing Foundation and is used by over a hundred organizations. We think that Backstage will likely become the favored developer portal for the Kubernetes world. And, indeed, we’re using Backstage in the VMware Tanzu Application Platform.
Developer portals aren’t only for developers
Clearly, developer portals make developers’ lives better. At a high-level, developer portals improve your organization’s developer experience: the ease and speed with which developers can do their daily jobs. This makes developers not only more productive but also happier.
For management, that improvement to developers’ day-to-day lives has strategic outcomes. For example, fighting for talent has become a key part of any CIO job. Having an organization with top-notch developer experience will go a long way to attracting and maintaining developer talent.
Enterprise architecture, operations, and security teams that are no longer seen as the bottleneck in the process, but instead as enablers will allow you to attract teams there. Developer portals help create an environment where those teams are helping developers do the right thing. Improved developer experience here means it’s easier to put your needed governance and security controls in place.
Of course, this doesn’t just apply to developers. If used to its full potential and by all, a developer portal provides incredibly positive developer, operator, and security experience. While only one piece of the puzzle of improving how your organization does software, developer portals will accelerate you on your journey.
To learn more, visit us here.