Beyond DevOps: How every engineering team can benefit from an Internal Developer Portal
Software engineering teams have a lot to gain from Internal Developer Portals
While Internal Developer Portals have been a key component in the DevOps and SRE fields for years, it’s less well known that software engineers as a whole have a lot to gain from gaining access to this vital tooling. For those who aren’t familiar, an IDP provides everything from predefined dashboards to flexible queries on top of your most important data from running infrastructure, applications, software development practices, cloud costs, and much more, by connecting to all of these components and services directly, and organizing that data into knowledge.
So what can software development teams that focus more on application development than keeping everything running gain from an IDP? While talking to as many software developers as we can as we’re building configure8 (and using the product ourselves), we’ve come up with a long list of benefits, but we’d like to share three with you today that we think are very compelling: relieving on-call stress, deploying software with more confidence, and easily onboarding new team members. If your teams are anything like the ones we’ve encountered in our careers, we’re sure you’d appreciate a little bit of help with each of those – we’ll dig into how an IDP can help with each of those below.
First, on-call stress. We all know how bad it can be, and we’re very encouraged to see the beginnings of a real sea change in the industry in terms of the expectations of on-call developers, and their limits. But until the perfect software development process is finally available to us, one thing is for sure: someone is going to be on-call. One of the most stressful aspects of being on-call is finding context. When you’re dropped into the middle of a fire after getting paged in the middle of the night, you are stressed out because you know you’re going to waste a lot of energy just trying to figure out what’s going on. What’s broken? What’s not working properly? You have to log into several dashboards with drastically different interfaces just to get started. When you have an Internal Developer Portal that is already collecting your data and presenting it for you in pre-defined screens that you customize, you only have to open one screen. You only have to look in one place, not ten to find out what’s going on. And once more, once you’ve found what you’re looking for, you’ll be able to link directly to deeper information about the service or infrastructure that needs help now, not in an hour when you’ve finally figured out what is going wrong.
A closely related stress and anxiety filled process to on-call rotations in modern development teams is that of deploying updates to applications, particularly those that are composed of a number of interconnected internal and external services – sound familiar? Being able to deploy quickly and with confidence is now well known to be the cornerstone of a successful, high-functioning software team. So how can an IDP help? When you have deep insight into all of the moving parts that compose your complex application, when you only have one source of truth to consult regarding the health and well-being of your infrastructure, you start off on much better footing than you ever could without it. IDPs give you a grounded sense of confidence because you know that you’re only ever a few clicks or simple queries away from gathering all of the intelligence necessary to know that if something goes wrong, you’ll be able to get to the bottom of it very quickly.
Our final software development team benefit may seem a little out of place with the other two, but in fact it’s also closely related – beyond shipping new software and keeping things running even when it seems like things are going sideways, one of the most ubiquitous activities among development teams is hiring and onboarding. When new members of your team start working alongside you and getting to know your system, how do they do it? Do they have to consult wikis, ask very specific people in very specific slack rooms how to do very specific things? Or do they have one place to log into that contains organized, deeply linkable, queryable knowledge about the entire running system and all of the activities that go into it? If your process is more like the former, and you’d like it to be more like the latter, then an IDP might be a good fit for your team too.
One of the most interesting trends that we’ve seen in developer tooling in the past 10 years is the cross-pollination of tools and processes between formerly siloed software development fields. DevOps teams are using source control, software development teams are taking security seriously, and even designers are treating their work like software. In terms of what’s next for software developers and tooling they can adopt to ship confidently, be more effective on-call when things go wrong, and help growing teams stay on top of rapidly changing infrastructure, we think IDPs are a compelling solution worth looking into.