How to scale your website when your company grows
Adjust is a thriving mobile measurement company with twelve offices around the world, but until recently our website reflected a much smaller version of ourselves.
In a culture of rapid growth, everything changes. When your entire team scales, your website has to level up too. When we added 100 people to our roster in under two years, new teams (and entire new offices!) sprung up, each with their own specific structures, goals and needs. A few months ago we embarked on a project to grow and revamp our website in order to match our own growth trajectory - here’s how we did it and what we learned along the way.
Identifying the problem
In the past year, we went from processing 16tb of data per day to 125tb. An influx of new people meant that we developed the person power to produce a significant amount of new resources for our clients - things like documentation, case studies, a glossary and two blogs. That was great, but creating any form of content required direct involvement from developers in a single office - Berlin. This made some relatively simple projects a technical challenge.
We’d been working with a static site generator, which was great for speed and security, but required the direct involvement of at least one developer for any change - no matter how small. It had lots of limitations that became more challenging as the team grew. As we began to expand our content marketing efforts internationally and scaled the local marketing, we realized we couldn’t quite leave behind a fast, secure, static site for something that would allow departmental autonomy - but flout our company values of secure solutions and infrastructural soundness. The team made the major decision to turn the public-facing version of our site into a static site by implementing a new CMS. We would migrate all of our existing content over to it, and build a permanent solution that would allow us to have a website with a dynamic backend but appear static to the user.
The second major problem was that we couldn’t shut down our website while we created something new. We needed to continue updating the old website even as we built our new site. George Feast-Parker, Adjust’s Marketing Web Developer, has been responsible for maintaining the old site and keeping it in prime condition while also busily coding the new site. For months, George maintained our existing website, heavy release schedule and all, while building an entirely new website from scratch.
As Esa Hernandez McGavin, Adjust’s former Project Manager for Web explained, “We were solving two big problems: we had to scale our infrastructure to meet the demands that come with a company's sales and marketing teams going global, and we also had to rethink and redefine our web strategy meet the demands of our user base going global at the same time”.
George and Esa began the project by addressing scalability issues - what do we have to do today, this week, right now - if we know what we want the website to look like six months from now, a year from now, five years from now? Esa laid out the plans and timelines for revamping our analytics infrastructure, and she and George developed plans for migrating the content, figuring out localization issues, and making sure every page got indexed correctly. As George focused on tackling the technical challenges the new site would bring, Esa focused on project facilitation: for each new step, determining what every member of the team might need help with and getting them the tools to solve smaller problems on their own.
As a team, we decided to implement a new content management system (CMS). This “allowed us to more easily handle localization and allow non-tech content editors the freedom to create pages and content themselves”, according to George.
Overcoming front-end challenges
We needed our new CMS to give everyone at Adjust a high degree of autonomy. But we also needed it to function at high speeds, have structural integrity and be completely secure. George collaborated with Ali Ismayilov, our former Frontend Lead Developer, and Wiktor Brodlo, one of our Sysadmins, to achieve those specifications. To meet those needs, one of the major decisions the team made was to turn the public-facing version of our website into a static site.
Static sites, in contrast to dynamic websites, display fixed content that can only be manually updated by a webmaster. That might sound counterintuitive at first - didn’t we want to get rid of our bottlenecks (?!) - but a static site is more secure, serving static files client-side. This makes the website both faster and more secure on their end. A static site has its downsides, being hard to dynamically update it and implement APIs, but George and Ali mapped out the specs we needed as an international team in order to use it. Ali built a prototype of a Ruby app we lovingly refer to as ‘the scraper’, which allows non-tech team members to upload their content to the site without difficulty. After a couple of performance hiccups, Wiktor then rebuilt it as a Jenkins build pipeline. This is what the scraper does: after users have uploaded their content to the dynamic backend of the site, the scraper compiles that hosted version into static files and then deploys the static site into production. It’s simple, fast, secure - and it’s pretty cool.
Once we built these tools, we had a big test release with Adjust’s Mobile Measurement Blog and Product Updates. Our blog output went through the roof - it was like a huge valve releasing, with multiple people now able to work autonomously and simultaneously - with the changes we made, and we decided to forge ahead and remake the entire site.
A few more hurdles
We also needed to migrate all of our existing content over to the new site. Jovica Ilic, Sysadmin at Adjust, helped out with the migration from the technical side, making sure that our newly-migrated content was properly mapped to its new URLs. By launching the new blog in May but leaving the rest of the site as it was, we basically committed to serving the site from two different depositories, and Jovica was the mastermind behind all of that.
Our new site
In addition to these changes, we also attacked the forward-facing part of our website to make it clearer and more consistent. One of the ways that this is most noticeable is in the architecture of the information available on our homepage. Users are now able to find more information about Adjust products in the top navigation than they’ve ever been before. We’ve made all of our resources, upcoming events, blog posts, documentation and a demo request available for the user without requiring them to scroll an inch. We’re fully localizing our homepage into multiple languages with an easily accessible toggle for international readers. We’ve improved the overall user experience with a more clearly defined brand narrative that offers vertical-specific content (including case studies) from the get-go. Behind the scenes, we’ve also overhauled our analytics architecture and developed the infrastructure for rapid optimization so we can adapt the site to the way our users interact with it in the future.
We’ve created a site through which we can release better content even faster with input from team members all across the company, in a way that allows users to find what they’re looking for as fast as possible. These changes foreshadow an amazing release schedule for the next few quarters and give us a site that can grow with us in the years to come. We’re proud of the improvements we’ve made and hope you love them too!