RIBA, the Royal Institute of British Architects, is a global professional membership body driving excellence in architecture, serving its members and society in order to deliver better buildings and places, stronger communities, and a sustainable environment.
RIBA turned to DEPT® to help drastically improve website performance, migrate its cloud hosting, and upgrade its Sitecore Experience Platform to the latest version. The result was a 92% decrease in maximum response times and an 87% decrease in average response times.
Scoping the challenge
RIBA wanted to maximise the speed and performance of its website. The main objective of this project was to accelerate response times and eliminate downtime, to effectively sustain high-profile event traffic and ensure a positive user experience.
Through a series of in-depth discovery sessions, DEPT® helped RIBA to define its challenges, priorities and KPIs. Paint points were discussed, and addressing inconsistencies across RIBA’s cloud environments and implementing software and infrastructure best practices were high on the list to tackle.
Understanding the technical barriers that were preventing RIBA from having a well-architected, scalable and high-performing site, we upgraded RIBA to a more dynamic Sitecore XP 10 solution; laying the foundations for us to implement a secure and scalable DevOps management framework to facilitate zero downtime deployments.
Embracing the cloud
RIBA’s existing solution was built on the AWS cloud platform and did not adhere to Sitecore’s best practices. To achieve standardisation within the organisation, we built RIBA’s infrastructure within Azure.
With RIBA keen to embrace Infrastructure as Code (IaC), we utilised Terraform as the tool to build, change, and version infrastructure safely and efficiently. This allowed RIBA to keep Terraform configurations DRY (‘Don’t Repeat Yourself’), while working with multiple modules and remote states. Another benefit is that Terraform is cloud agnostic and works seamlessly with major cloud hosting providers including AWS, Azure and Google Cloud Platform.
Ansible and Packer were chosen to manage all images and configurations for VPN into the solution as well as SOLR configuration, which were tightly integrated with Terraform.
Azure DevOps was a necessity for coordinating Sitecore Docker builds for planning and building environments with Terraform. Its suite of Repos, Boards, Wiki, Pipelines and Artifacts provides RIBA with a one-stop solution for continuous integration, delivery workflows, and solution management.
A containerised solution
One of RIBA’s main pain points with its existing solution was the inconsistencies between environments. Our experts opted for Kubernetes to facilitate a complete separation of environments. This enabled the containerisation of the server setup and the delivery of a Sitecore solution that allows the team to have complete control of the build environment while minimising the risk of inconsistency.
Through this Kubernetes approach, DEPT® was able to rebuild entire technical environments programmatically using code in a matter of seconds. It also prepares RIBA for the future, as it lends itself to a microservice-based architecture, which Sitecore is steadily moving towards, as well as increasing efficiency by simplifying developer onboarding.
We used AKS and Helm to manage the containers, while Kubernetes automated the deployment, scaling and management of RIBA’s containerised applications, enabling the team to take advantage of automated rollouts and rollbacks, horizontal scaling, secret and configuration management. RIBA can now run Kubernetes from anywhere while being future cloud agnostic. Adhering to best practices, SOLR, Redis and SQL clusters were built outside of Kubernetes to maximise stability and keep environments in line.
Additional tooling
Upgrading serialisation and code generation
RIBA previously used TDS for serialisation of Sitecore items and code generation. We recommended an upgrade to Unicorn and Leprechaun. These free, open source solutions offer much of the same functionality as TDS, while being designed to have and require as little UI as possible.
Real time insights
With its existing solution, RIBA lacked the necessary visibility to interpret and react to the issues that were negatively impacting website performance. To combat this, our solution utilises Azure’s Application Insights, providing RIBA with information-rich insights into how the Sitecore platform and functions are performing, failures, dependency information, logs and availability.
Used by developers and DevOps professionals, the application performance management (APM) service automatically detects performance anomalies and includes powerful analytics tools to give RIBA a greater understanding of performance and better diagnose issues.
Increasing performance
During the load testing phase, we discovered bottlenecks with the way RIBA was handling site redirects. These findings were shared with RIBA and a solution was agreed upon to alleviate any performance issues before going live. This – in conjunction with correctly scaling resources from the start, facilitating dynamic scaling with Kubernetes, and introducing a CDN to offload dynamic and static assets – has helped to drastically improve RIBA’s site statistics.
The results
Following rigorous, external penetration and load testing, DEPT® and RIBA identified and alleviated any existing performance issues before going live. After this fine-tuning, the Sitecore upgrade and DevOps improvements have generated incredible results for RIBA, with every objective and KPI being met or exceeded:
- Average website response time is down 87% from 1.01 seconds to 127 milliseconds
- Maximum response times are down 92% from 52.4 seconds to 4.1 seconds
- Average throughput has increased almost 8x from 131 KB/sec to 1,036 KB/sec
- RIBA successfully hosted the 2021 Stirling Prize Awards with no downtime, while handling more traffic than ever before.
Questions?
Senior Infrastructure Consultant