The Challenge
The client found themselves in a challenging situation needing help to manage over 30+ brands across 30+ markets globally.
The Approach
We discovered the client managing hundreds of its brand sites through different platforms, which could have been more efficient. It was not realistic to work this way for the multibillion-dollar business, nor was this sustainable in the long run.
Migrated multiple platforms and systems into one
In the early stages, the client managed numerous disparate systems on localised platforms, which meant slow movement for a company renowned for its creativity and innovation in digital media.
Their engineering team had experimented with Kubernetes before, but not at the scale required to support multiple global brands. Rolling out new features took a lot of work, with some markets and many of their titles unable to respond as quickly as their competitors. The client was also at the whim of its legacy platforms to manage critical business functions, including digital advertising campaigns and analytics.
They needed an easily manageable new system, so we encouraged various teams on this project to embrace experimentation.
Our teams helped the client by implementing a centralised log management system to streamline the process, enabling tracing activities on the platform.
We additionally leveraged Kubernetes to simplify and expedite the development process and explored the infrastructure as code and containers approach using Terraform. As a result, this approach brought operations and development teams together, enabling them to deliver a robust and secure platform that the company's engineers could manage at every layer. Together, we experimented and exchanged knowledge, completely redesigning the architecture. We mutually focused on scalability and speed to quickly bring new features to the market, and implemented a new DNS management system which streamlined deployment and support procedures.
Simplified complex code
The publishing giant had many magazines with different ways of doing things across their publications and websites in different countries. They needed smoother operations that had a standardised process for the sake of consistency.
When we partnered with the client, we helped simplify the complex code we found on numerous APIs through GraphQL. Doing this supported the migration of the old platform to the new one. We also enabled the client to easily switch between themes regardless of publication brand and format through a styled-components library. This helped unify numerous magazine brands under the primary publication, providing a consistent and streamlined user experience.
Because the company's primary source of income came from advertising activities, its fragmented website made it difficult for them to sell its leading brand magazines with ease. The client had different websites for different countries, and to establish uniformity, we overhauled their website, which supported the variety of advertising formats and country localisation content they published moving forward.
One of our most remarkable achievements together was successfully launching the magazine brand by brand in different countries, even with financial limitations. We also ensured a smooth transition by onboarding everyone to the new system, which helped the client achieve their goals.
Migrated web app hosting to AWS for enhanced system scalability and security
We equipped the client to tackle surge demands by moving their operations capabilities to a single platform. Their engineering teams could call on more instances to handle a surge in site visits or scale them down in quieter times. Moving to AWS for hosting provided the secure and scalable capacity the company needed.
Additionally, we worked with the client to extend the single platform to its key markets across European, Asian, and American continents. Each area was supported by local clusters to better respond to regional demands.
Many of these markets came with their respective technical and political constraints, so we approached each region in phases, finding ways to ensure they could migrate systems while keeping user access secure and all systems available.
The company gained greater control and visibility over its global operations by implementing the new architecture and scalable hosting. For instance, instead of creating and deploying a new feature separately for different markets, it can now be done from a single location, which saves time and effort for multiple teams.
Further empowered engineers
It was important to us and our client that their engineers felt confident and empowered to work with their new infrastructure. While we enjoyed collaborating on-site, it was equally crucial for the client's engineers to feel confident working independently with the technologies we selected. We learnt their existing skills and where they could use extra help. Here are some milestones we achieved together:
- 10 million page views per day
- 15 to 20 production deployments per week
- Mean Time to Identify (MTTI) reduced by 60 minutes
Introduced site reliability engineering
A critical step forward was establishing a Site Reliability Engineering (SRE) function to help the client's engineering teams take ownership of the services they were deploying to production environments.
This central function would oversee the platform and support their colleagues worldwide. We trained 15 platform engineers to fulfil this need. Together with the newly trained SREs, we helped product teams create production-ready checklists to ensure any new changes were ready for their live environments.
Our teams also helped the client set Service Level Objectives (SLAs) for the services they were responsible for and introduced tools such as DataDog for enhanced monitoring and PagerDuty to improve incident response times.
Together, we made proactive operational improvements, including a new strategy for optimising alerting feedback and improving tooling for performance testing. The result meant any issues in any market or with any brand site could be identified and fixed quickly, minimising impact on the company's customers and increasing site reliability to achieve a 99.95% uptime.
The training and new SRE function also enabled the foundation of a DevOps approach – a new evolution for the publishing company's engineering culture.
Measured DevOps maturity
As the company’s teams became more confident with DevOps, we wanted to find a way to verify how these new approaches were affecting its engineering culture and processes. We then led the creation of a DevOps 'maturity model'. We used this model with the client teams to review their DevOps methods and strategies, and the model guided them on the techniques and processes they should adopt to improve further. The model and assessment equipped the teams with information for future training and development programmes.
The Deliverables
Our team successfully implemented a unified platform to support our client's publications worldwide. This approach allowed them to streamline their editorial processes and efficiently manage all of their publications from one centralised platform.
Closing the Engagement
By consolidating 30+ publications onto one platform, we enhanced the editorial experience and facilitated better collaboration between contributors. Additionally, we ensured that readers had easy access to all the needed content by uniformly distributing it across the platform.
We also helped the client improve their team's response time to issues, reduced downtime, and overall platform maturity. Using state-of-the-art Kubernetes technology, we provided them with a scalable and future-ready platform, enabling them to collaborate with industry experts and achieve the best results.