The client is a unique company that has built digital indoor maps for many shopping malls, airports, college campuses, hospitals, museums, business campuses, conferences, and many more public facilities. They create indoor venue maps and navigation content for location-based solutions around the world. The Software as a Service platform built for the client, adds significant value to consumers, venue tenants, visitors, product companies with shelf space and it is accessible on demand, from anywhere in the world on any mobile device.
Since its public launch in September 2010 as an enterprise solution, the company has mapped hundreds of thousands of buildings/venues throughout the world and has millions of subscribers using its service directly or through the partner eco-system. It is now a B2C product on SaaS model hosted on AWS infrastructure.
Key business requirements were:
- Develop a scalable and Open Restful API for third-party integration with the system
- Ensure secure access to the Maps geospatial database through encryption/decryption
- Geospatial queries should be responded within 20 Millisecond from an access point of the internet
- Deployment of the platform on the cloud should be automated (from a central location)
- Tech stack is Linux/Java/JS/PostgreSQL/PostGIS
The choice of the hosting platform and optimizing the various components on the public cloud, was the biggest decision as a SaaS provider for any time, anywhere access. The robustness and scalability of the platform, options for compute, memory, storage, bandwidth, multiple zones, and open APIs were critical factors. Newt Global recommended that among all the options commercially available at that time, AWS presented the best environment to meet most of the requirements.
After considerable thought and a series of PoCs, it was decided to have a high availability solution with MCSS (Central System) and MCUS (Satellite System), Map Repositories in two zones and allow access to the MCSS and Map repository from multiple zones. The application was planned to be deployed with the database as a cluster of reading replicas with each instance of the application server connecting to one of these read replicas.
For security purposes, the geospatial information of the client had to be encrypted at rest. When the database is deployed, a RAM disk is allocated, mounted and a tablespace is created on it. This tablespace is used to store the decrypted geospatial information so that it can be indexed. The geospatial queries were converted to stored procedures which were loaded during database deployment. Updating the databases were achieved by invoking appropriate stored procedures with necessary parameters and credentials that internally used db_link to connect to a remote database.
Ansible workstation is the center orchestration layer from which all the playbooks for every component of the application stack were run. All the instances of the entire solution are residing in the AWS cloud. Playbooks are created for each module of the application stack.
The playbooks were responsible for installing the dependencies, configuring them and installing the latest code to the instance. The only pre-requisite for the playbooks to work is that the SSH key pair between the nodes and the Ansible workstation needs to be set properly.
The client could launch its services after production trials, to multiple geographies in ASEAN and USA regions, simultaneously. A business model was initially launched around revenue from advertising through tenants in a building/mall/venue to consumers with access to Indoor maps application. In recent times, the open Rest API support and guaranteed response times have encouraged the company to develop a partner eco-system to consume the indoor maps for other location-based services.