Architecture | On‑Premise | Urbi Documentation
On‑Premise

Architecture

On-Premise solution contains multiple services. Each version of the solution is a set of services linked to this version.

To be able to work, the services require a previously prepared infrastructure.

On-Premise architecture
  1. DGCLI downloads installation artifacts from public Urbi update servers. The installation artifacts include:

    • sets of data required for installing or updating services;

    • Docker images of services.

  2. DGCLI places the data sets into an S3 compatible storage (File/Object Storage on the diagram), and the Docker images into a Docker registry (Docker Registry on the diagram). Both repositories are located in the public network.

  3. Then, the installation artifacts are migrated from the public network to the private one, i.e. the synchronization of the contents of data storages with their mirrors takes place.

    To ensure automatic synchronization, you need to configure the firewall.

  4. After the migration of artifacts:

    • Docker images are delivered directly to their corresponding services located in the Kubernetes cluster.

    • Helm charts use the downloaded data sets for installing/updating services.

  5. The service or its new version becomes available to end users.

On-Premise is designed in such a way that most of the services and infrastructure can be installed in an isolated local network with limited or no internet access.

Only two components use internet access:

  • the DGCLI utility in the license or pull modes;

  • the Traffic API Proxy. This service is hosted in a private network, but a firewall or a load balancer needs to be configured to allow the Traffic API Proxy to have internet access.

Some services require the installation of additional data storage on the private network, e.g., S3 compatible storage or a database cluster. The table below shows which storage is required for each service. See system requirements for data storage software.

You can install data storage via package managers or deploy it in a Docker container.

Service Required data storage
API Keys service
  • PostgreSQL
  • Redis (provided in On-Premise solution)
Maps API (Tiles API) Apache Cassandra
Maps API (Styles API)
  • S3 compatible storage (e.g., Ceph)
  • PostgreSQL
Search API (Catalog APIs) PostgreSQL with enabled PL/pgSQL, the JsQuery and the PostGIS extensions
Navigation API (Distance Matrix Async API)
  • S3 compatible storage (e.g., Ceph)
  • PostgreSQL
  • Apache Kafka
Navigation API (Restrictions API) PostgreSQL with enabled PL/pgSQL
Authentication service PostgreSQL
Urbi Pro (Pro API)
  • S3 compatible storage (e.g., Ceph)
  • PostgreSQL
  • Apache Kafka
  • Redis
  • Elasticsearch
CityLens
  • S3 compatible storage (e.g., Ceph)
  • PostgreSQL with the PostGIS extension
  • Apache Kafka
GIS Platform
  • S3 compatible storage (e.g., Ceph)
  • PostgreSQL with the PostGIS extension