Vercel Adds New Features Designed to Support Monorepos
Frontend development company Vercel introduced new features to its Developer Experience Platform to better support monorepos Tuesday, including notification of code owners when there are changes to the code and automated detection of problems before they reach production.
Monorepos were previously the domain of just the largest technology companies, but are increasingly becoming a popular option for others. Until now, Vercels’ experience was based on multiple single repositories, rather than monorepos, which are multiple projects inside one repository. According to a JetBrains survey, 20% of developers that work on microservices use a web frontend with a monorepo. Recently, Vercel has seen a shift as more companies adopt a monorepos architecture, according to Lee Robinson, Vercel’s vice president of product.
“The monorepos were something that for a really long time were only really popular in really large companies, the Metas and the Googles of the world because they required a lot of investment to actually get your engineering team to use them on a repo,” Robinson told The New Stack. “We also haven’t really seen the other part of that equation, which is, ‘OK, I have the mono repo. Now, how do I set some guardrails? How do I set some rules and define ownership of different parts of my run a mono repo?’ We hadn’t seen that part really make it into a product that’s generally usable outside of the large tech companies in the world.”
Removing Bugs Before Production
That’s where the three new features come into play, although they are also useful outside monorepos, he added. The first is called Conformance, which means following the rules or standards of something, and that’s what it does: It’s essentially a rules engine that checks to see if the code hasn’t followed certain rules and alerts developers to critical bugs and performance issues.
“It’s extremely common for so many teams building software to run into issues that affect production,” he said. “A good way to think about Conformance is taking the lessons that we’ve learned helping many, many teams build software projects, use our frameworks and tools like Next.js and turning those into a repeatable set of rules that you can run over your codebase.”
It’s not unusual for developers, after making multiple changes, to see a mistake make it into production and cause issues for customers, he said. Then developers must choose between a hotfix or rollback of the code to get it out of production. Conformance can review the codebase to ensure it’s correct and to prevent issues from actually getting to production.
“It’s not to say that those issues or those bugs will ever go away, for there will forever be bugs,” Robinson said. “But the more tools that we can put in our toolbox that help us reduce the number of bugs while still moving quickly overall helps improve the quality of the software that we’re creating and gives the team more confidence that they can make changes.”
Sometimes it’s not so much about specific mistakes as just a lot of coding mistakes that pile up and create performance slowdowns, he added.
“It’s not always obvious at the start until you really get deep into debugging, what actually caused this issue with performance,” he said. “We’ve seen so many of these over time that we started to notice some specific patterns.”
For instance, a common pain point is when writing a call to grab data from a database or content management system There are ways to write that code that’s faster and there are ways that aren’t as fast, Robinson noted. Conformance provides feedback right away to help optimize that code.
Finance company Upstart, a Vercel customer, used the tool before general availability and saw a 200-millisecond improvement in the performance of page loads, Robinson said.
“It’s like they got an audit of their code. Basically, they ran our tool, they saw some places where there were optimizations to be made, and they were able to go in and just tweak those things based on that guidance and feedback,” he said.
More Support for Monorepos
Code Owners is another new feature rolled out Tuesday that allows teams to assign who is responsible for the code — including those on the security team — and ensure they’re notified if there are changes to the code so it can be reviewed.
“With Code Owners, I get to say, based on my potentially very large codebase and I have a bunch of rules in place, I get to define who has the approval and the authority to approve rules or deny rules or make exceptions to rules, who should get notified when there’s code that’s changed that’s related to security,” Robinson said.
Finally, Developer Experience now has a new dashboard that supports code health insights and better onboarding for new team members.
All three help add up to more support for monorepos, he added.
“With Conformance, and with Code Owners, we’re really helping teams — especially larger enterprise teams — embrace using a monorepo architecture, and provide a dashboard experience that combines those two things,” Robinson said. “The advantage of now using this Conformance tooling on Vercel with our dashboard is you get to see how the owners you have defined for your monorepo actually relate back to the specific parts of your code, the specific packages and your monorepo. So you get a good overview of the health of your entire codebase in one snapshot.”