Züri Teilt: Scaling Resource Sharing Practices in Swiss Neighborhoods

Architectural transformation of a single-tenant application to enable multi-tenant scaling using industry-accredited methodologies

Text

Initial situation

Prine GmbH is the owner of the smartphone app Züri-Teilt. This app allows inhabitants of Zurich to publish requests for a specific item. Other inhabitants that live within the radius of the initial request can see the request. Upon interest in lending the requested item, the interested lender can contact the requester through the built-in messaging system. Additionally, Züri-Teilt offers a statistic and content management web portal called Backoffice. There, the admins of the city of Zurich can retrieve key information and moderate user content.

Problem statement / Project goal

Both the city of Baden and Aarau have shown interest in having an identical app offered for their own population. Now Prine is committed to finding a solution to modify their current application for multiple cities. Not only should these cities have a possible solution that allows item sharing within their confines, but a web service for the onboarding of a new city and its management should also be available for Züri-Teilt admins. Thus, this “scalable” vision of Prine offers a great opportunity for in-depth scientific research that should illuminate the best solution for a multi-city application.

Tailored Implementation Procedure

FHNW

The System Models Evaluation Procedure was conceptualized to aid the discovery of an adequate multi-tenant solution for Prine.

New City Configuration Platform

FHNW

On the City Configuration Platform, a new city can be created, configured, and published within the Züri-Teilt application.

Adjusted smartphone App and Backoffice

FHNW

With a published city, a user can register themselves in the multi-city Züri-Teilt application and be assigned to their neighborhood. Additionally, city admins have access to statistics and moderation features on the Backoffice.

Solution developed and its benefits

With the use of the book Cloud Computing Patterns created by Fehling and al. and the existing Data Transformation procedure, it was possible to analyze the current situation of Züri-Teilt and to conceptualize a new architecture and to implement it. With the patterns presented in the Cloud Pattern work, especially the ones regarding multi-tenancy, a new systematic procedure for designing and refactoring systems was conceived: the System Models Evaluation Procedure. Variations of each system component are drafted using Patterns. With criteria defined by the client, Prine, each variation gets to be evaluated and assigned a score. At the end of the System Models Evaluation Procedure all the criteria scores get to be compared, and the best candidate is chosen. Additionally, data of the new system environment had to be identified and correctly modified to be configurable for multiple cities. For this, the procedure of Data Transformation, used to take one data schema and migrate it to another schema, was applied. The result is a multi-city capable Züri-Teilt application. All users access the same smartphone app and get to be assigned to their corresponding city whilst registering. All the cities are managed in a web service called “City Configuration Platform”. There, all the data identified in the data transformation procedure are managed. In other words, new cities are introduced, edited, and published. This platform was designed for users with low technical knowledge. Thus, a highly intuitive UI is presented. A comparison between the Zürich-only Züri-Teilt and the multi-city Züri-Teilt was also carried out, laying out network metrics between the 2 solutions. This comparison gave the newly implemented multi-city Züri-Teilt a seal of approval for its validity.

Key terms

  • Cloud Computing PatternsA book that provides reusable solutions for common problems that are found in cloud engineering
  • TenantIn this project context, “tenant” refers to a city that wants to be represented in the scalable Züri-Teilt application, but more broadly within the world of cloud computing, it represents a person or a company that wants to utilize a shared cloud environment.
  • Multi-TenancyA solution that allows multiple tenants to use the same resource, thus maximizing resource sharing while ensuring isolation.
  • OnboardingThe procedure to introduce a new city into the Züri-Teilt system.

Customer

Logos

Prine GmbH
Badstrasse 11
5415 Ennetbaden
Home Page

Team

Sofiia Mykytyn
Pedro de Souza Winkler

Advisor
Prof. Dr. Anton Fedosov

Manuel Riedi