How open source on AWS helped NearForm quickly build and scale its Covid-19 contact tracing app
This post was contributed by Colm Harte, Technical Director, NearForm.
At NearForm, we use small cross-functional teams to rapidly build high-performance, highly scalable digital products using open source software (OSS) and a cloud-first approach. In this article, we share why and how we use open source and AWS to help us build digital products at speed and scale. First, we explore how open source helps us to build effective, trustworthy applications. We explain why AWS is such a critical enabler for modern software development. And finally, we dive into a case study—Covid Green, a Covid-19 contact tracing app—that demonstrates their combined power.
Open source for building apps and trust
Open source is a movement of collective creativity, with hundreds of thousands of people from across the globe contributing to myriad projects, large and small. We love open source because this collective and creative approach to coding can produce uniquely valuable software. At its best, open source software development doesn’t result in just a single piece of software, but a whole ecosystem of software that is continuously evolving and creating value.
We find there are several key advantages to using open source software to build digital products. First, we have access to vast libraries of community contributions that contain many of the fundamental building blocks necessary for building great products. Our small teams can create huge projects within tight deadlines by drawing upon pre-existing code for the core building blocks of an application. This means that we can put most of our energy and creativity into what matters most: building the differentiating functionality and services that make it stand out from the crowd.
Second, using open source frameworks, such as React Native, allows us to take a cross-platform development approach: building only a single code base that can run on multiple platforms (e.g., iOS and Android), maximizing the potential audience without slowing down the development process.
Third, developing in an open source fashion is an opportunity to build trust with the users. Anyone—citizens, governments, universities—can see for themselves how a given application has been built and determine how secure and resilient it is.
The Covid Green case study that we will discuss in this article is an example of this in action. But a great application needs a secure, resilient, and scalable platform to be deployed onto. Enter AWS.
How AWS helps our teams build high-performance apps at speed and scale
The public cloud is a scalable, flexible, distributed platform that comes with much capability straight out-of-the-box. That’s why we take a cloud-first approach on all our projects: Embracing scalable, cloud-native architecture is indispensable to enabling our small development squads to create large projects swiftly that can scale to tens of millions of users.
Here are the main reasons why we love using AWS for our digital projects:
- Wide range of managed services. Our teams are relieved of the undifferentiated heavy lifting, the non-value-add work—such as managing servers or databases—which can take up much time. Instead, AWS services allow our development teams to focus solely on what matters: creating software that our clients love to use.
- Scalability and global reach. Our teams take a DevOps approach, leveraging infrastructure as code to create platforms that scale automatically. At the same time, having access to more than 25 geographic Regions allows us to scale globally easily, developing projects in the regions most suited to our clients’ requirements.
- Security and privacy controls. Investment in security and privacy means that AWS offerings are far more comprehensive than individual companies like ours could put together in our own data centers. On AWS, we can define our security standards as human-readable scripts and automatically push these out across our entire infrastructure. The attack surface is also much lower; if we create a container or a serverless function, for example, nobody has access to it unless we allow them to. Security is often a significant barrier to rapid digital innovation. Being able to automate our desired security posture and control access across our entire infrastructure helps us to innovate at speed, while staying secure.
Ultimately, AWS is the ideal platform for our small engineering teams. It frees them to realize their digital vision, providing the managed services and helpful support required to minimize work and maximize their ability to build high-quality software at speed and scale.
Open source on AWS case study: Covid Green
An example of the effectiveness of open source software on AWS is Covid Green, an open source contract tracing application we developed as part of Ireland’s defense against Covid-19. As the pandemic swept the globe, Ireland’s public health service, Health Service Executive (HSE), reached out to NearForm to help them build the application.
We had to move fast to create a resilient and scalable app that would be trusted by the Irish people to meet their needs. The significant public interest meant that there was intense media attention surrounding the development of the app, which was developed under unprecedented public scrutiny.
Building a serverless, cloud-native platform on AWS
We used the power and scale of AWS Managed Services to rapidly stand up a fully serverless, cloud-native platform to serve as the foundation for the app. Serverless technology—specifically AWS Lambda, Amazon Elastic Container Service (Amazon ECS), and Amazon API Gateway—was chosen to give us the quickest possible route to a secure platform that scales automatically to meet the considerable anticipated demand.
AWS provided helpful support along the way, making solutions architects available to carry out a well-architected review of the platform, giving useful recommendations to ensure that the platform met best practices for security and privacy.
Using React Native and Node.js to build trust
We decided to use open source frameworks for the application so that we could take advantage of the rich community resources available to develop at speed. We built the front end using React Native and used Node.js for the backend API—both are major open source projects with much well-supported code and modules to draw on. Using open source was critical in gaining the trust of the media, relevant institutions, and the public. The app was thoroughly vetted by a range of third-party experts who inspected the code and gave their approval.
After the launch, HSE made the decision to publicly release the code by donating it to the Linux Foundation Public Health. This allowed any government or institution to use the original code base to stand up their own infrastructure and application, while customizing them for their own needs.
The New Zealand government, for example, used Covid Green as the basis for their own contract tracing app. And a 12-person NearForm team has, in only 22 weeks, helped to launch contract tracing apps with health authorities in Scotland and Northern Ireland, in addition to several US states, including Pennsylvania, Delaware, New Jersey, and New York.
Three months after initial talks with HSE, the team had a secure, tested, user-friendly, and reliable contact tracing app that was ready to be deployed on a national scale. Because of the quality of the open source code, the security and scalability AWS, and the robust public scrutiny to which the app was subjected, the launch of the app was a success. Within 36 hours of the official launch, Ireland’s Covid tracker app had more than one-million downloads, representing more than 20% of the population of Ireland and more than a quarter of all smartphone users in the country. This makes it the fastest-downloaded app per capita in Europe. The speed and volume of adoption made it one of the most successful contact tracing app launches in the world and bodes well for the potential of the app to make a real impact in Ireland’s effort against Covid-19.
Using open source software on AWS, supported by nimble, cross-functional squads allowed us to meet the needs of the Irish people during the Covid-19 pandemic at speed and scale, while providing a critical resource to other governments around the world.
The content and opinions in this post are those of the third-party author and AWS is not responsible for the content or accuracy of this post.