The Pompeii Museum Develops a Mobile App on Kubernetes in Six Weeks
Safely reopening amid the pandemic
The Archeological Park of Pompeii in Italy is one of the world’s most visited tourist destinations averaging over 2.5 million tourists annually. In 2019, the park welcomed over 3.8 million tourists. When the COVID-19 pandemic hit, and the government-mandated lockdowns began, Pompeii, like many other tourist attractions in the world, closed its doors for safety reasons.
Lockdowns started to ease up in mid 2020, bringing the possibility for the park to reopen. To do so, managers of the museum required a solution that would keep visitors safe by ensuring social distancing to avoid any COVID-19 outbreaks.
For the Archeological Park of Pompeii to reopen, managers came up with three critical goals.
- Use cloud-native technologies to facilitate park operations, visitor experience, and ticketing, reducing the need for on-premises IT systems
- Choose an implementation partner to build a cloud-native, mobile solution, so managers can focus on day-to-day operations of the park and not IT
- Keep visitors safe through effective social distancing and divert foot traffic away from tourist hotspots
The data layer of the Pompeii platform uses Oracle Autonomous Database, which includes a built-in spatial feature for managing site map, itineraries, and geolocalization for points of interest. This way, the MyPompeii mobile app can provide tourists with a real-time map, helping them to follow social distancing protocols, noted Faye Farhang-Hutsell, Director of IaaS Product Marketing at Oracle.
The Pompeii platform was built entirely on Oracle Cloud Infrastructure (OCI) with cloud-native, microservices, and API-first principles in mind.
“MyPompeii helps tourists to visualize all points of interest, get more complete information, and find first-aid stations, refreshment stands, key rest areas in addition to other facilities. The app also supplements many safety initiatives that the park instituted to allow reopening during the pandemic.”
—Faye Farhang-Hutsell, Oracle
After visits, tourists can leave comments and feedback about their experience through MyPompeii. Input from tourists are all stored within the Oracle Blockchain Platform, guaranteeing transparency and immutability.
Custom APIs powered by Oracle Mobile Hub are implemented on top of the Pompeii platform to minimize the orchestration needed on the mobile app. Additionally, all media content used by MyPompeii is stored in Oracle Content and Experience, which serves as a headless content management system (CMS).
Building on top of Kubernetes
At the KubeCon and Cloud Native Conference North America 2021, Akshai Parthasarathy, Director of Product Marketing at Oracle, disclosed some implementation details around the mobile app and the platform. In particular, he shared how the system relies on the orchestration provided by Kubernetes (Oracle Container Engine for Kubernetes implementation) and the use of APIs.
Custom APIs were implemented in Java using Helidon 2.0 and had the following features:
- APIs are deployed as Docker containers on Oracle Cloud Engine for Kubernetes, using multiple replicas and autoscaling.
- API instances are balanced with OCI Flexible Load Balancing.
- APIs are publicly exposed through the OCI API Gateway and are secured using a JSON Web Token–based scheme for authentication and authorization.
- Application data handled by the API is stored using an Oracle Autonomous Transaction Processing instance.
To avoid tight coupling between API implementations, the Pompeii platform relied on OCI Notifications to send events, when specific conditions are met. Notifications are implemented through the following steps:
- Relevant APIs use the OCI Java SDK to act as OCI Notifications publishers.
- A custom HTTPs subscriber gets the messages and forwards push notifications to mobile phones.
- Based on the OCI Notifications message payload, a different text in multiple languages is used as push notifications.
- Push notifications are sent using an Oracle Mobile Hub Notifications API.
“In terms of the technical solution itself, it’s a cloud-native mobile application that was developed in a few weeks. The solution is completely based on Oracle Cloud Infrastructure. It’s an API-first platform that’s based on microservices and invoked through OCI API Gateway. It’s also protected by a web application firewall.”
—Akshai Parthasarathy, Oracle
The mobile app is integrated with TicketOne, an online ticket sales application. Integration is handled by Oracle Functions in the following ways:
- The function is written using OCI Java SDK.
- The function can be called both using its invoke end point or through the end point provided by the OCI API Gateway.
- For other platform APIs, a valid JSON Web Token is required for invoking the function through the OCI API Gateway.
- An OCI Health Check mitigates any cold start issues with the function.
Successfully resuming operations
Since MyPompeii launched in the Google Play Store and Apple Store in July 2020, the app has been downloaded by over 20,000 visitors. The mobile app supplements other safety initiatives implemented by the Archaeological Park of Pompeii, allowing it to safely reopen amid the pandemic. “Oracle Cloud Infrastructure [was] instrumental in reopening our doors to tourists,” explained Alberto Bruni, COO at Archaeological Park of Pompeii. “With [the] technology, we are well-equipped to enhance and preserve tourism within the local area.”
“Reopening the Pompeii site to tourists after lockdown was tough. With Oracle, we delivered the cloud-native mobile solution in just six weeks.”
—Alberto Bruni, Archaeological Park of Pompeii
MyPompeii is a step toward digital transformation to enhance and preserve tourism and culture in Italy. Moving forward, the Archaeological Park of Pompeii and Oracle intend to continue the development of the mobile app to introduce new features, such as a points and virtual badges program and a loyalty program that involves other key tourist sites and commercial partners.
Want details? Watch the video!
- Airbnb Deploys 125,000+ Times per Year with Multicluster Kubernetes
- Spotify Runs 1,600+ Production Services on Kubernetes
- Lyft Runs 300,000+ Containers in a Multicluster Kubernetes Environment
About the experts
Alberto Bruni is COO at Archaeological Park of Pompeii. He is responsible for the “Smart@POMPEII” project aimed at a proper technological development for the construction of the first smart archaeological park. Alberto is also involved in the improvement of the intelligent and integrated safety and security standards of the archaeological area of Pompeii and of the peripheral sites.
Akshai Parthasarathy is Director of Product Marketing at Oracle. He is a marketing professional and former solutions engineer and architect. As a product marketer, Akshai crafts compelling messaging and showcases products’ value through thought leadership, sales enablement collaterals, and other creative content.
Faye Farhang-Hutsell is Director of IaaS Product Marketing at Oracle. She is a seasoned product manager and technologist with over 12 years of business management experience, effectively implementing strategy and evangelizing the use of product and program management best practices. Faye has partnered with cross-functional teams, worked closely on programs and product marketing strategies, while developing key communications and marketing assets to support varied product launches and promotions.