Around five years ago, not long after the start of HMRC’s digital transformation, the first iteration of HMRC’s award winning, ever-changing Platform as a Service (PaaS) started to move from the drawing board into the cloud. Today the platform hosts 130 customer-facing services, underpinned by 700+ microservices, an API Platform, and has catered for over 300 million customer journeys in the last year. The platform teams, our direct users - the tenant service teams who develop the microservices that sit on the platform - and the end users of HMRC’s online services have all contributed to its continual iteration, resulting in today’s performant, reliable and secure PaaS.
I’m Andrew Sheppard, Product Owner of HMRC’s tax platform, and this is the first in a series of blogs on the history, evolution and future direction of the platform and the people who build and run it. I plan to share some of the detail, so this series will be for you if you have a deeper interest in this kind of technology.
Back in 2013 there was not a lot of choice when it came to UK-based cloud providers or the tooling required to provision and operate what was then, in many respects, a cutting edge piece of technology. We started out with a single cloud provider alongside a mix of best of breed open source tooling and a handful of home grown, bespoke deployment and container orchestration tools. From the beginning we made a conscious decision to adhere to some basic principles:
- a containerised, Scala microservices architecture enabling continuous integration and continuous delivery (CI-CD)
- a level of standardisation across both the platform services and toolset - avoiding wherever possible special cases we refer to as anti-patterns or snowflakes - allowing us to grow a sizeable community of technical experts across HMRC Digital able to provide on-going support and expertise to those who need it.
The platform went live in February 2014, as HMRC’s first exemplar digital services, including the Business Tax Account, entered Private Beta. Two years later, in January 2016, we introduced a second cloud provider into an active-active configuration. We used a global traffic management solution to maintain a 50:50 balance of traffic, with the flexibility to shift traffic between the two providers as circumstances demanded. This was a very good thing for HMRC’s end users, with much improved (but still not good enough) availability and reliability.
Even with two providers, however, during times of peak demand occasional problems with either provider meant the remaining healthy cloud struggled to cope with the huge amount of traffic on its own. During HMRC’s largest business (and IT) event in January 2017, the Self Assessment filing peak, there were two copies of the filing app - one on the tax platform (as above, across two virtual datacentres) and the other on the legacy Portal (across two physical datacentres). This gave us the flexibility to move traffic not only between the clouds but between the virtual and physical estates. (The reason we had a copy of the app in two places was due to the continued migration of all 63 legacy java apps into the cloud). Although the Self Assessment peak event was a success it was now time to transform the platform once again. This time into its third major iteration - more about this in my next post.
Now you can follow us on Twitter @HMRCdigital
To make sure you don't miss any of our blog posts, sign up for email alerts