Within the latter half of last year, Firefly migrated its core web services from Amazon Web Services (AWS) to Microsoft Azure. This was a significant undertaking spanning many months and involved a cross-functional team effort across the entire business. I am proud of the team’s effort and hard work that enabled us to reach our goal of completing the migration.
So why did we decide to migrate our infrastructure to Microsoft Azure?
For many years, Firefly’s Engineering stack has been based on Microsoft technologies - its core elements: such as web services implemented with the .NET framework and data repositories based on SQL Server. With an overall stack based on Microsoft technologies our solution had a natural fit with Azure to help us reduce development times, evolve our use of automated infrastructure management and have deeper operational insights into the ‘health’ of services.
The last two years have especially proved how important it is to have the ability to scale and be reliable. We wanted to be in a place where every part of our solution could quickly scale to serve our schools when they need us the most.
Our developers, infrastructure and testing teams worked closely with Microsoft experts to ensure that the migration ran smoothly, with a phased approach over several months. The first phase included mock migrations to prove out the migration process and its associated checkpoints.
A product migration matrix was developed so that we could understand the exact integrations that each of our clients have with the different products that we offer. This gave us the ability to understand the scope of each migration and the associated testing. For each client migration, there was a dedicated Quality Assurance team, which had tailored test plans so that they were able to test and validate each client’s exact set-up in Azure.
The security of data is important to us, so throughout the migration process any data in transit and at rest was secured with contemporary VPN and encryption services.
We are already seeing the benefits of being in Azure and utilising their Platform-as-a-Service offerings. We now have more intelligent web scaling capabilities that can automatically respond to demand to scale up infrastructure when it is needed; for performance, the ability to optimise data operations at an enterprise level using Elastic Pools and using Redis for caching; and Azure Devops deployment pipelines that enable us quickly to introduce new features.
We are not stopping here! We look forward to further investing into Firefly’s cloud services and capabilities in Azure to enable our developers to make improvements to our products at pace, and provide us with deeper data insights, via Azure Monitor and Log Workspaces, to further fine tune our product and services.
Thanks to everyone in and outside Firefly for making this possible.