Polish Operator Talks Building a COVID Vaccine App with Google Cloud
Google Cloud partner Chmura Krajowa (OChK), a major cloud provider based in Warsaw servicing customers across Poland, this week detailed how it spun up a national COVID vaccine scheduling app in the span of one month using Google Cloud technologies, particularly the Cloud Spanner relational database service.
In a post Thursday on the Google Cloud blog, OChK software engineers Zbigniew Cyktor and Łukasz Sierant explained that their company was commissioned by the Polish government in November 2020 to create "an application to help vaccinate every citizen in Poland against COVID-19." There were three specific tasks the application had to fulfill:
- Enable 9,000 vaccination locations (in total employing up to 100,000 medical workers) to schedule and manage their unique schedules, taking into account each vaccine manufacturers' different dose requirements.
- Enable call center employees to field requests on-demand from people looking to schedule their vaccine doses by audio call.
- Enable up to 36 million eligible citizens to schedule vaccine appointments "using a country-wide authentication scheme."
"Using Google-native Go programming language, we employed a wide range of Google Cloud solutions in building the application, including Google Kubernetes Engine (GKE) for backend services, like scheduling vaccination site staff, as well as external services and web requests," they wrote.
Scalability was a critical issue, according to the engineers. Demand for vaccine appointments can ebb and flow, but each time the Polish government expanded vaccine eligibility -- especially eligibility for younger citizens who are more adept at navigating Web- and app-based systems -- demand would skyrocket, even as appointment slots remained limited. The Google Cloud Spanner relational database was able to meet their scalability needs, as well as provide high availability.
"The Spanner database schema consists of 30 tables, some of which are particularly crucial, like the table used by every vaccination site to define its calendar and specify appointment slots," the engineers wrote. "The Ministry of Health workers at the vaccination sites are responsible for generating slots for a specified time span, using the back office system we provided them. The amount of data in the table grew quickly to hundreds of millions of rows with thousands of rows per second."
Other Google Cloud services used by OChK in the app include:
- Memorystore for Redis "for caching, storing user sessions and rate limiting."
- Pub/Sub "for asynchronous messaging."
- Firestore "for maintaining application configuration."
- Dataflow and Data Studio for reporting.