By Zohar Einy, CEO of PortWhat
internal developer portals mean for humans
Internal developer portals are becoming a
hallmark of mature engineering organizations. Part of the platform engineering
revolution, they are set up to provide developers with reusable automations and
self-service operations so that developers can be more productive, while
relying on existing devops automations. The main goal is to eliminate cognitive
load for developers that is a result of the clutter associated with modern
engineering organizations, and to allow them to be productive by providing them
with a product-like experience when they access devops assets.
The internal developer portal contains two
main elements:
- The first, the software catalog,
is a single pane of glass showing software, cloud resources, CI/CD pipelines,
their related dependencies and more.
- The second element is developer self-service,
and connects into existing devops automations from setting up TTL for a
resource, provisioning an S3 bucket, scaffolding a new service and more.
Instead of sending tickets to devops, or
searching for tribal knowledge to understand what can be deployed and how,
developers use developer portals as the main frontend to consume devops assets.
DevOps also benefit from developer portals since they result in a reduction of
tickets, freeing time to focus on reusable elements and innovation.
What
about machines?
We've explained how developers interact with Internal Developer Portals. Can machines also
connect to internal developer portals? After all, machines don't suffer from
cognitive load or have issues with productivity and focus. The short answer is
yes: the software catalog in the developer portal keeps an up to date state of
software - and this information is very valuable for processes running in the
devops environment, meaning that machines also access the software catalog in
the developer portal, to understand the state of affairs.
Here's an example:
You work at an Internet retailer, and you're
preparing for a Valentine's day sale (your company specializes in heart-shaped
vegan chocolate candy). Last year the Valentine's day sale was disrupted by
some last minute changes that made the site perform poorly. This year you've
decided to freeze deployments in order to avoid potential issues of new
software versions. However, some existing
CI/CD pipelines remain active in the background. Here's where machines
can access the software catalog. Let's say you've locked some of the services for
the time of the sale . You can set a CI/CD workflow that checks whether a
service is locked in the internal developer portal, and fail a build
accordingly. Other examples can be failing a build in case services do not meet
organizational standards or reverting a package version that was found as
vulnerable.
The greater lesson from this example, is that
IDPs aren't just a great catalog for developers, mapping the sprawl and
dependencies in a given engineering org. IDPs are also a tool for DevOps and developers
alike. They document (with live updates) the "state of software" in different phases, and therefore
show the actual state of the entire architecture and software, (releases,
resources, permissions, owners, etc). As a result, documenting and enforcing
all the do's and don'ts for services and infra is also at the IDP. At this
point, it's pretty sure that IDPs will also present machines with interfaces
similar to those presented to humans, to check DevOps flows.
This broader approach to the functionality of
the IDP is what will further establish it as a single source of truth for the
people and the machines in the engineering team.

##
ABOUT THE AUTHOR
Zohar Einy is the CEO of port (getport.io), an internal developer portal company, which he co-founded with Yonatan Boguslavski. Zohar began his career in the IDF’s 8200 unit, as a platform engineer, where he was involved, together with Yonatan in the creation of an in-house large scale developer portal. He then joined TLV Partners, as part of the investment team, specializing in developer’s centric companies. He was also one of the first employees at Rookout and a co-founder of Aporia, a developer of ML monitoring tools. You can try Port’s product at getport.io.
LinkedIn: https://www.linkedin.com/in/zohar-einy-b6219612a/?originalSubdomain=il
Twitter: https://twitter.com/zohareiny