From laptops for students to data center infrastructure for massive cloud computing operations, Dell makes the machines that get work done. But while Dell is best known for making hardware, their Infrastructure Services Group also employs more than 10,000 software developers building PowerMax, PowerStore, and PowerScale storage systems, the firmware for PowerEdge servers, and other products.
Many of those developers joined Dell through acquisitions such as the company’s purchase of EMC in 2016. As a result, teams within Dell have historically used a wide variety of different development tools. Over the past year, Dell’s TechOps team has been working to standardize and streamline the software and methodologies used. “It’s more efficient for the company to use one set of tools from a licensing and support perspective,” says Senior Distinguished Engineer Karl Owen. “It’s more efficient for the developers, because you eliminate the need to learn a whole new set of tools if you move from one project or team to another.”
After evaluating multiple version control and collaboration tools, Dell decided to standardize on GitHub, which was already used by many teams. For one thing, GitHub is a good fit for Dell’s development philosophy. “I had an epiphany a while back that merging a pull request is a bit like executing a contract,” says DevOps Architect Bob Ballantyne. “It’s an agreement that a piece of code is stable, that it’s passed a certain set of evaluations, and is ready to move from one location to another.”
For another, GitHub’s roadmap fit well with Dell’s own plans. Plus, it’s what their developers want to use. “GitHub is an industry leader,” Owen says. “People come to Dell already knowing how to use it, which is pretty significant. It’s a big contributor to developer happiness.”
Standardizing on GitHub has already made a difference. “GitHub enables speed and scale,” Owen says. “We can work on bigger projects and finish them faster.” Plus, thanks to the ability to integrate many different third-party code evaluation tools, it helps them write better code.
GitHub enables speed and scale. We can work on bigger projects and finish them faster.
GitHub is also central to Dell’s open source work. The company’s developers contribute to many open source projects. “It’s good for business,” Owen says. “We want to make sure people can use our products. For example, we want our storage technologies to work with OpenStack.” Open source is also a great way to recruit new employees.
But open source is more than just good business. “We consume a lot of open source and it would be very selfish to just be a consumer,” Ballantyne says. “So we like to contribute back.”
Meanwhile, Dell also embraces innersource. With more than 10,000 developers on staff in the Infrastructure Solutions Group (ISG), Dell employees have already solved a wide range of difficult computing problems. GitHub makes it easier to share the work they’ve done with their coworkers across the company, enabling code reuse. “We’re migrating more code into our internal GitHub instance to make it more like the external GitHub. Now, people can find and leverage useful libraries and software that other people in the company have made,” Ballantyne says.
GitHub’s API is another part of how Dell manages and analyzes its computing environment. For example, the TechOps team uses a webhook to pipe GitHub activity into Apache Kafka. Every commit and pull request is recorded in Kafka. “We can do lots of reporting from there,” Owen explains. “We created dashboards to show how much activity there is, what sorts of errors there are.”
It’s also useful for troubleshooting. Dell’s Kafka cluster contains a wealth of data that make it possible to recreate entire sequences of events. For example, while troubleshooting a microservice the team noticed that it had posted a comment to GitHub that had been deleted. “I thought, ‘if only we could only have the text of what that comment was,’” Distinguished Member of Technical Staff Bob Bell says. “And it turned out it was saved in Kafka.”
Dell is being proactive in adopting and evaluating new features of GitHub. “GitHub isn’t just a version control system for us, it’s a platform that lets us build the experiences we need,” Bell says. For example, the TechOps team is looking forward to automating more workflows using GitHub Actions. “Even if Actions only saves, say, 15 minutes, if you multiply that by 10,000 developers, that’s a huge amount of time saved,” Owen says.
As GitHub evolves, so too will Dell. “We want to follow industry leading practices and reduce friction,” Owen says. “GitHub helps us achieve both of those things.”
number of developers