MoH leading in serverless adoption
Late in 2021 the Ministry of Health (MoH) put out a tender for delivering online self-service tools to cope with the expected trajectory of COVID-19 case numbers given widespread community transmission of COVID-19.
While case numbers were low, individual COVID-19 cases could be manually investigated. With rising numbers this needed to be replaced by an online self-service tool that could scale with the demands of sustained community transmission. This work started during the Delta outbreak, before the emergence of the Omicron variant. Thanks to the scalable serverless approach, the rapid increase in case numbers from the advent of the Omicron variant in early 2022 could be easily handled. Millions of people have now used these tools to access free testing and ensure that clinical and community support is targeted to those people with COVID-19 who need help the most.
The tender was very technology specific and utilised modern technologies to suit the requirements to create an accessible and scalable solution for the New Zealand public. This solution was to be built in the cloud (AWS), on serverless architecture (Lambda), using simple REST APIs with a React front end. Abletech had recently built a financial reporting service on serverless architecture so we were able to put forward a strong response to the tender based on the experience gained, along with having a highly capable team we could quickly scale as the project commenced.
Cloud architecture is going through a step change with the advent of Function as a Service - FaaS (Lambda, Serverless, and Web Functions, Step Functions). FaaS will become the dominant way we build software in the near future.
The project was awarded on a Monday and work began very quickly on the Tuesday morning with delivery slated for pre-Christmas. It was already mid November!
There certainly were challenges with designs and requirements changing daily as MoH were responding to the pandemic. Although we were working in an Agile manner, MoH is still a government department with high standards for security and privacy. A stream of effort needed to be put in to ensure all the boxes were checked and ticked before a production release could be approved.
The tool was ready pre-Christmas, however New Zealand’s COVID-19 rates had not yet picked up as fast as some models predicted so ‘Go- Live’ was moved to after the Christmas break.
Below are some key success factors during the project:
- Starting small, scaling up the team as understanding and framework code was built up.
- Keeping distractions to the dev team at a minimum was key. This was accomplished with a Delivery Lead and a Technical Lead who were able to shelter the team from requirement discovery and prioritisation. They fed the most relevant stories into the pipeline.
- Dedicated DevOps to build out infrastructure as code which documented the architecture.
- Very knowledgeable business, technical, and management expertise at the Ministry of Health helped move the project in the right direction.
- AWS Consultants available to consult on some unusually complex infrastructure challenges.
- A client that would listen and adapt requirements around architecture and approach.
- Great team of dedicated technologists.
- Integration test suite to test vertical paths through the system was critical.
- Building out CI/CD with GitHub actions. There were many pull requests in flight at times that integrated test suites were a must and deployments to an integration environment allowed final exploration testing before moving into QA.
- Building a React UI framework that enabled us to quickly configure new steps, fields, and screens by configuration.
Shortly after the ‘COVID-19 contact tracing form’ was released, another development effort commenced with the delivery of the ‘Request free COVID-19 RAT kits’, the Ministry of Health online ordering system. The timeframes were tighter, the requirements were more dynamic, but we had our serverless architecture nailed. This included infrastructure as code and a rapid React UI layer that could be quickly leveraged to deliver the ordering system online (just) in time.
The team at Abletech thoroughly enjoyed working on systems that help the New Zealand public. It was pleasing and refreshing to see the New Zealand Government leveraging cloud services and utilising low-cost platforms that perform well to deliver robust scalable solutions.
If you want to talk further about this solution or have a self serve application you want to enable using React and serverless please do get in touch.