Helping the public sector adopt LocalGov Drupal and save costs
Delivering results with AWS and Azure
Croydon London Borough Council is the local authority for the London Borough of Croydon in Greater London, England. It is a London borough council, one of 32 in the United Kingdom capital of London.
Croydon’s main public website has recently been redeveloped using LocalGovDrupal (which is very exciting, but not the focus of this particular case study). As part of this process, Code Enigma supported the migration from Drupal 7, ensuring that there were as few wasted resources as possible during the transition. Also, they have a small number of WordPress sites, which we helped them with creating a managed deployment process for these, to enable faster updates.
As a side note, Croydon runs an intranet based on Drupal 7. This ran on some dated infrastructure that was causing some blockers. It’s now being migrated to WordPress.
Our brief was to figure out how to maintain it during the process of being redeveloped on WordPress and moved to Azure.
This project involved detangling a lot of infrastructure left behind from a previous supplier. Code Enigma stepped, inherited that infrastructure and created some new efficiencies.
The difficulty in this situation is that Croydon faced a tight budget. Largely owing to recovery from some expensive changes during 2019/2021. Whilst the spending issues were not specifically attributed to IT, the council as a whole was feeling the financial pressure. For a local government body, this situation is not unique. Budget is often the major driving factor for a project.
Currently, there is an offer from Microsoft for public sector bodies for moving their infrastructure over to Azure, which solves the budget limitation whilst achieving the goal of the project. The reason for opting for Azure was therefore an understandable one.
What we did and outcomes
Before Code Enigma, Croydon had a mix of traditional deployment methods spread across several different types of infrastructure. We helped to consolidate the infrastructure onto a single Azure subscription, whilst assisting a move to a more agile Docker-based deployment workflow. This newer method allows them to start using blue-green deployments (where database updates allow), which makes for safer releases, and happier developers.
What Croydon are now doing is hosting on containers. Docker is an excellent containerisation tool, so we developed on Docker and then put these onto Azure. This way we used one pipeline to manage deployment, which we did via the blue-green process.
Blue-green deployment is an application update model that gradually migrates user traffic from an earlier version of an app to a virtually identical new release, all of which are live.
The original version is referred to as the blue environment, while the current version is referred to as the green environment. Once all production traffic has been switched to green, blue will either remain in place in case of a rollback or be removed from production and modified to become the basis for the next upgrade.
This continuous deployment model has several drawbacks. Not every environment has the same uptime specifications or the tools needed to run CI/CD processes like blue-green. However, like the businesses that help them digitally transform, more applications adapt to support such continuous distribution.
Ultimately, this is a far less daunting task through this process and wildly more efficient. It allowed us to test without breaking the existing site.
A big part of the project involved a major migration to Azure cloud hosting from a temporary AWS service. This is essentially a consolidation exercise where we’ll be shutting down the AWS services and moving everything gradually over to Azure.
The Azure cloud ecosystem includes more than 200 apps and cloud applications that are developed to help clients to develop innovative solutions to their problems. A client can build, execute, and maintain apps using the resources and frameworks of choosing across various clouds, on-premises, and at the edge.
Code Enigma helped the situation by enabling Croydon to refactor a lot of their infrastructure and therefore cut costs. With regard to technology that they didn’t need, we shrunk it or removed it altogether, retiring unnecessary development environments, and shrinking production environments down to single servers where they were only kept as content references.
The notable efficiencies came from shutting down these AWS resources. This is a testament to the fact that we always use the best technology for the job. Despite being AWS Select Partners, our expertise ruled that Azure was fit to meet Croydon’s requirements.