Landlord Service

Description

The Landlord Service is a microservice that supports multi-tenancy and Service Oriented Architecture (SOA)-based solutions. It provides each Brightspace instance with a TenantId, a permanent globally unique identifier.

Note: If a Brightspace instance cannot connect to the Landlord Service, a unique TenantId is not assigned and any features that require a TenantId are unavailable. Users receive a message that their organization's system is not set up. The impact of this service is through other services not performing as expected, and D2L reporting on those services being impacted.

Released in Brightspace Platform 10.5.0.

Location

Landlord is a global service, however, there are deployed copies in every D2L region for reliability and performance/latency. Typically, traffic from organizations related to a specific region reaches the copy of the Landlord Service in that region; however, if the service encounters problems (for example, due to an outage or complicated upgrades) that may not be the case.

Note: Customer data is not replicated globally. The Landlord service does not hold customer data; rather, it holds D2L data about the deployed copies of the service.

Deployed copies exist in the following D2L regions:

  • U.S. East us-east-1 (N. Virginia) (default location)

  • Europe West eu-west-1 (Ireland)

  • Asia Pacific ap-southeast-1 (Singapore)

  • Asia Pacific ap-southeast-2 (Sydney)

  • Canada Central ca-central-1 (Montreal)

Dependencies

  • Landlord service does not depend on any other microservice.

  • Depended on by Brightspace Event Flow Service, Authentication Service, Brightspace Insights, Brightspace Data Platform, Brightspace Pulse

Data Stored

  • The TenantId.
  • The primary domain as well as any aliases of your Brightspace instance.
  • The main database split server as configured in the instance.config file and the database name.

API Calls

Landlord allows the following public read-only API calls:

  • Given primary domain, database server name, and database, retrieve a TenantId. All three values are required to get a TenantId.
  • Given a TenantId, retrieve the primary domain.