Devops, Agile, Method. & TestsTools-in-Action25min
Why Scalable Builds systems (like Bazel) matter
Cet exposé traite des outils de build pour monorepos, tels que Bazel, Buck2 et Pants, qui optimisent la rapidité et l'hermétisme des builds en s'appuyant sur des principes incrémentaux et polyglottes. Il explique leur fonctionnement, leur mise en place, et les patterns d'utilisation pour améliorer la productivité des développeurs.
Clément HurlinModus Create
talkDetail.whenAndWhere
Friday, June 20, 16:30-16:55
Amiga OS
La lenteur des builds est un problème omniprésent dés qu'une base de code atteint une certaine taille. Ce problème est d'autant plus pregnant si vous utilisez un monorepo. Mais savez-vous qu'il existe des outils spécialement dédiés à ces cas d'usage ? Dans cet exposé je souhaite expliquer comment ces outils fonctionnent, comment ils sont mis en place, et quels sont les patterns d'utilisations les plus communs. Je vais donc parler ici d'outils open-source comme Bazel (initialement développé par Google), Buck2 (initialement développé par Meta), et Pants (indépendant).
Ces systèmes se reposent sur le fait que, pour être correct et rapide, un build system se doit d'être hermétique, incrémental, et polyglote. Ces hypothèses sont déjà utilisées par le vénérable make, et tangentiellement utilisées par d'autres systèmes comme gradle. Mais les outils dédiés au build de monorepo comme Bazel et Buck2 poussent ses idées au maximum, afin d'obtenir des builds rapides et incrémentaux dans des bases de code de n'importe quelle taille, et ceci indépendamment du mélange de languages utilisés. Dans cet exposé je vais montrer comment faire pour avoir des builds hermétiques et comment l'incrémentalité va décupler la productivité de vos développeurs, à la fois lors des builds, mais aussi des tests !
Ces systèmes se reposent sur le fait que, pour être correct et rapide, un build system se doit d'être hermétique, incrémental, et polyglote. Ces hypothèses sont déjà utilisées par le vénérable make, et tangentiellement utilisées par d'autres systèmes comme gradle. Mais les outils dédiés au build de monorepo comme Bazel et Buck2 poussent ses idées au maximum, afin d'obtenir des builds rapides et incrémentaux dans des bases de code de n'importe quelle taille, et ceci indépendamment du mélange de languages utilisés. Dans cet exposé je vais montrer comment faire pour avoir des builds hermétiques et comment l'incrémentalité va décupler la productivité de vos développeurs, à la fois lors des builds, mais aussi des tests !
Clément Hurlin
Clément Hurlin is an experienced engineering leader focused on developer productivity. In his early days, he obtained a PhD on verification of multithreaded programs, but then turned to the software industry. He has worked on a variety of projects, including low-level Linux microkernels, distributed financial systems, and data pipelines. He has experience with JVM-related technologies, functional programming, DevOps and CI/CD systems.
As a Director of Engineering at Modus Create, Clément supports its teams on client engagements and help clients succeed. The last years, his focus has been on developer productivity and scalable build systems like Bazel and Buck2.
As a Director of Engineering at Modus Create, Clément supports its teams on client engagements and help clients succeed. The last years, his focus has been on developer productivity and scalable build systems like Bazel and Buck2.
comments.speakerNotEnabledComments