Nowadays, you can dream of a perfectly cushioned run on a Thursday and take your brand new trainers for a spin by the weekend. But in 2008, the idea of ordering a pair of sneakers at a moment’s notice was novel. When university friends Robert Gentz and David Schneider founded Zalando in Berlin, they used their cell phones as customer hotlines, shipping shoes across Germany from their homes. That first year, they pulled in €6 million: the concept was proven.
Today, Zalando offers over 600,000 fashion and lifestyle products to 34 million active customers. From their headquarters in Berlin, they’ve expanded to 17 markets across Europe. An ecommerce business is only as good as it’s software, and Zalando continues to compete on a global scale. With the help of GitHub and the open source community, they brought in more than €6.5 billion in revenue in 2019 alone.
Their staff has grown, too—up to 14,000 employees, including 1,600 developers spread over 200 teams. Teams used both GitHub and Bitbucket, but the decentralized systems were slowing them down. So in 2015, they challenged the teams to capitalize on whichever tool sped up delivery.
“We looked at the adoption rate, and it was exponentially higher for GitHub Enterprise,” said Engineering Lead Kay Goebel. “People were very happy to move.” They are now cloud-only, using Amazon Web Services for their infrastructure and GitHub for source code management. “Every single engineer at Zalando uses GitHub Enterprise.”
Kay and his team maintain Zalando’s GitHub Enterprise installation and “ecosphere,” which includes small tooling and onboarding. They are also responsible for increasing code collaboration, efficiency, and productivity. “GitHub is not only our code repository. Issues are also our project management tool and repos are the one place where everybody collaborates together.” They also use the API for general enhancements of metadata, and to create automation bots for pull request merging and reminders.
Every single engineer at Zalando uses GitHub Enterprise.
This setup also empowers engineers to use their preferred tools. “GitHub is the natural habitat of engineers, and if a majority of their process is there, it’s huge.” And along with ZenHub, which provides agile project management within GitHub, the team has increased visibility across departments.
“People can collaborate and share code, regardless of what other tools they’re using,” said Kay. For instance, if there’s a team of five engineers—one programming in IntelliJ, one using Atom, and three using Linux with a Vim installation—the code reviews can be done in a single cohesive environment. “It all happens in a central place and nobody has to sacrifice their preferred tooling.”
Kay and his team leverage the GitHub API to build on a strategy from Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations, which outlines the correlation between certain DevOps metrics like deployment frequency. It highlights key metrics to optimize for.
Zalando gathers and displays four KPIs—mean time to repair, lead time, change failure rate, deploy frequency—and make the data easily accessible in a portal. So far, these KPIs have allowed the team to see the impact on delivery teams when releasing new features. For example, using CI/CD features increased deployment frequency.
This is especially helpful for tracking applications deployed in the past: They can simply check the portal to make sure they’re still healthy. “Having this kind of information available helps people understand if and where they need to invest,” said Tim Kröger, Head of Developer Productivity.
To keep everything secure and compliant, they use Dependabot and integrate static code analyzer tools with GitHub Enterprise and the deployment workflow. “We also use vulnerability reports from GitHub and GitHub Connect for dependency scanning,” Kay said. They have an “immutable deployment concept,” which means employees can’t tinker with something after it’s gone live. “Everything that merges from the pull request gets automatically deployed live without any manual working steps to ensure instance compliance.”
The open source community also helps Zalando identify and resolve issues. “It’s often faster and higher quality with open source,” said Kay. “When you have more eyes and visibility on projects, there’s a higher chance you’ll catch issues.”
Zalando has relied on open source software from the beginning. Part of this commitment stems from the fact that they leveraged open source to start and scale the company. “Basically everything we build is iterating on open source,” said Kay. “I think it’s only reasonable for a larger organization like us to engage and give back to the community where possible.”
When it comes to open source, Zalando’s philosophy is three-fold: participate, share, and promote. And all open source projects meet five requirements: They should be high-quality, well-documented, secure, actively maintained, and used by the broader community. Most open source code can be used for Zalando projects, but everyone on the team has a responsibility to respect and comply with licenses and adopt mature projects.
Zalando currently has 201 active open source projects written in 16 different languages. Altogether, they’ve accrued 32,039 stars and 927 active contributors. The company’s onboarding process includes a session focused solely on open source, and engineers are expected to contribute back to the projects they use.
Plus, open sourcing the right projects is a time-tested strategy for leveraging a community of developers to improve code. When Zalando opened up their Postgres operator for Kubernetes, it quickly saw improvements—and adoption outside the company. “This code isn’t a competitive advantage,” explained Kay, “so it can only get better if more people work on it, adopt it, and harden it. Plus, upstream fixes benefit everyone.”
To set their open source projects up for success, Zalando finds ways to make sure the entire community can participate in and grow projects. For instance, pull request approvals are set up, so even when they have external contributors, they get internal approval from someone inside Zalando. The system has been effective in practice—one of Zalando’s more popular Python projects, Connexion, had an external contributor as a maintainer for two years.
As Kay explained, “it’s not just about contributing code, but sharing experiences and engaging with the community.” For example, they created the popular Fashion-MNIST, a minced fashion dataset that consists of a training set of 60,000 examples and a test set of 10,000 examples. It’s heavily used by the AI/ML/data science community as a benchmark to validate their algorithms.
Kay describes another project, Patroni, as “the solution to enable high availability and automatic failover for PostgreSQL.” “It has a lot of external contributors,” said Kay. They also contribute upstream to Postgres. “I think it’s very important for us to not only make a mark, but make it rock solid so others can use and improve it. This benefits everyone because it’s not just our two engineers who know it—it’s a whole ecosystem.”
While they encourage upstream contributions, they have a policy to not share confidential information and only sign whitelisted CLAs. For successful projects like Patroni where Zalando has a big commitment, Kay explained that “it’s about really engaging with the open source community and getting traction. If we only had internal users and contributors , Patroni would probably be far less solid and used than it is now.”
From speeding up internal processes to encouraging a culture of collaboration, Zalando leverages GitHub to continue to move the company forward and innovate within the broader open source community. “Open source is a nice way to leverage humankind potential,” said Kay.
Start collaborating with your team on GitHub
Advanced collaboration for
individuals and organizations
* Discounted pricing is for new yearly customers paying with credit cards or PayPal. After first year, price is subject to change. GitHub will send you a notification email at least 30 days in advance of any price change.
and flexible deployment
Want to use GitHub on your own? Check out our plans for individuals