How Condé Nast International powers a global team of editors with CircleCI
Building a common core of tooling for 31 markets and 240 million readers
A renowned publishing organization with over 110 years of history, Condé Nast International is responsible for the management and distribution of some of the biggest magazine titles in the world: 24 international editions of Vogue, Wired Italy, Wired UK, and Wired Japan, 20 GQ magazines, and many other global editions of Vanity Fair, Architectural Digest, Glamour, and others.
While Condé Nast International’s titles have been leaders for decades, their technology practices and stack had become fragmented, with each country, and sometimes, each publication in that country, running their own independent website and CMS. With over 1.5 billion readers in 11 markets and 62 sites, there was significant duplication of technology efforts and ample room for improvement in serving digital content to Condé Nast’s readers around the world.
“Those publications around the world all ran their own technology stacks, they all ran their own active directories, their own CMSs, their own front ends. They all had their own styling. They all had their own editorial and they all published their own content. Our goal was to do things once, instead of 20 times around the world,” said James Sewell, Lead Platform Engineer at Condé Nast International.
“Historically this would have been a very hard problem to solve, but containerization, Kubernetes, Docker, and other recent technologies have made it so that there are abstractions on top of the underlying hardware, which are open source and common enough to use around the world. While we may have to build Kubernetes clusters in different ways, in different places, the way in which you interact with them as a developer can become very ubiquitous. Whether you’re deploying into a cluster running in Alibaba in China or in AWS or GCP, the experience for the developers can essentially be the same. We run essentially the same set of tooling, providing a very similar set of functionality in each region. Then we provide one centralized set of deployment and repository tooling. The similarities are all in that one stack of tooling, which developers can use.”
“The publishing of articles for magazines is migrating towards one common interface, one common database, one common pattern, which allows content to be shared around the world. If you’ve entered it for GQ India, then that same article can potentially be published on GQ UK or GQ US, because it’s all the same underlying CMS. Whereas before, you would literally have to get a dump of all the assets and email them around the world, which is not a great syndication method.”
“We deploy all of this infrastructure with CircleCI. It’s quite a large amount of our real estate around the world. If you want to make a change to a VPN, or you want to change the underlying network, or you just want to up the size of a Kubernetes cluster, that’s done through CircleCI. An engineer can commit a change, open a pull request, and CircleCI runs a full test suite and reports back into the pull request about what that change is going to do around the world to each of the clusters. The reviewer can then quickly look and say, ‘Ah, so in production in Tokyo, that’s not going to do what I expect it to, I need to fix that.’ When the engineer is happy to merge the changes they can push them to master and the CircleCI pipeline will automatically run additional steps to roll the changes out globally.”
“CircleCI is the hub, and the brain of our global automation. We use CircleCI to deploy to our nine global Kubernetes clusters. We use CircleCI for continuous delivery and migrations. One team focused on market onboarding do a very interesting thing where they deliver about a dozen versions of the same application, configured for different users. So they have this fantastic CircleCI pipeline that goes build, test, publish, deploy 12 times, verify 12 times, deploy 12 times. Then we have other, very standard, pipelines out there where you get an app, it builds, it publishes, it deploys, it does some component tests, integration tests, and then it deploys to prod and does some smoke tests. We also use CircleCI for backups with cron jobs and other tasks that need to be kicked off once a day.”
“There is a lot of variety in how we use CircleCI. That’s why we are quite closely tied to CircleCI: it’s the power to do quite a lot of things well.”
“One of the interesting things I’ve found working with CircleCI is that as an infrastructure team we’re now able to go out and pair with all the other product engineering teams and allow them to use CircleCI and develop their pipelines in ways that meet their needs,” said Emily Atkinson, Software Engineer on the Infrastructure and DevOps team. “We can work with those teams directly to customize their pipelines to make them as efficient as possible. Part of how we do that is through consultancy with teams. CircleCI is valuable to us because it facilitates that DevOps mindset. It means that how your pipeline works isn’t defined by someone in an application writing some code, it’s defined by you and your code base writing your GitOps-style CircleCI YAML file. So, if a team needs help writing their pipeline, we can help them solve that problem so they can own it in the future. The next time they need to deploy a new region or put their code in a new S3 bucket or so on, they have the skills to do it because we worked with them last time. We don’t have to be there to hold everyone’s hands, and everyone becomes more skilled over time.”
「CircleCI is the hub, and the brain of our global automation.」
Condé Nast | Software Engineer
「We deploy all of this infrastructure with CircleCI. It's quite a large amount of our real estate around the world. If you want to make a change...that's done through CircleCI.」
Condé Nast | Lead Platform Engineer
Condé Nast International (CNI), headquartered in London, publishes over 30 iconic print and digital brands including Vogue, GQ, Vanity Fair, Wired and AD. Operating in 31 markets, they reach over 255 million people worldwide.