Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENDOC-676 MT intro and top-level informational page with links #693

Merged
merged 9 commits into from
Mar 27, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We'll need to update this diagram before publishing since it includes sme.com in the URLs. We'll need to make it generic.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nshaw what replacement urls should be used?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Lyd1aCla1r3 something like "mydomain.com", "tenant1.mydomain.com", "tenant2.mydomain.com" would match language we've used elsewhere. That makes it look like we only support subdomains but it is the most common use case.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 41 additions & 0 deletions vuepress/docs/next/docs/getting-started/multitenancy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
sidebarDepth: 2
---

# Entando Multitenancy

## Overview

Entando 7.2 introduces multitenancy to the Entando Platform. An Entando Application can be customized to enable a multitenant architecture where tenants share an infrastructure but are securely informationally isolated. This document provides an overview of multitenancy and its Entando implementation.
Lyd1aCla1r3 marked this conversation as resolved.
Show resolved Hide resolved
Lyd1aCla1r3 marked this conversation as resolved.
Show resolved Hide resolved

## Core Concepts

Software multitenacy describes an architecture in which a single software instance runs on a server and serves multiple tenants. Each tenant constitutes a group of users who share specific access privileges to the software instance. A multitenant software application is designed to provide a common architecture while ensuring the segregation of information.
Lyd1aCla1r3 marked this conversation as resolved.
Show resolved Hide resolved

Entando Multitenancy imposes a shared architecture (e.g. the versions of Entando, K8s and Keycloak) while distributing resources (e.g. CPU, memory) across the primary and secondary tenants. The primary tenant is the user group with full access to the default features and functionalities of an Entando instance. Secondary tenants are user groups who share the privileges and capabilities of the primary tenant with the exception of an active Component Manager. Tenants are informationally isolated from one another with unique data, configuration settings, and user management.
Lyd1aCla1r3 marked this conversation as resolved.
Show resolved Hide resolved

## Architecture

All tenants rely on a single Entando Application instance for core functionality such as the App Builder, App Engine, Keycloak, and Redis. Redis is necessary for cache managment, but not installed by default. See **TODO - add tutorial link** to add Redis to your Entando Application.
Lyd1aCla1r3 marked this conversation as resolved.
Show resolved Hide resolved

To isolate its data and configurations, each tenant is allocated its own subdomain, database schema, Entando Content Deliver Server (CDS) instance, Solr core, and Keycloak client realm. Entando CDS is required to manage static resources external to the Entando App Engine, Solr establishes an external search engine, and the Keycloak realm grants user access.
Lyd1aCla1r3 marked this conversation as resolved.
Show resolved Hide resolved

![multitenancy.png](./img/multitenancy.png)

Entando Multitenancy requires a tenant to configure Solr, Entando CDS, and Keycloak per the linked tutorials **TODO - Solr/CDS/Keycloak in this sentence will link to those**.

## Implementation

A single installation of Entando 7.2 can manage more than one independent and isolated static site. The following are key concepts of Entando Multitenancy:

- The current tenant is only reflected in the domain name of the instance URL
- Each tenant's data is physically isolated via different databases (or schema) and filesystems
- Each tenant's activity is independent via different security domains (users, keys) hosted on different realms of the same or multiple Keycloak instances
Lyd1aCla1r3 marked this conversation as resolved.
Show resolved Hide resolved
- Per multitenant environment there is a single Kubernetes namespace, Entando App Engine and Entando App Builder
- The Entando Component Manager is currently active for the primary tenant only, which prohibits bundle installation on secondary tenants
Lyd1aCla1r3 marked this conversation as resolved.
Show resolved Hide resolved
- Aside from Local Hub functionality, the App Builder UI of a specific tenant is indistinguishable from that of a standalone Entando installation

## Next Steps

To install and configure a multitenant Entando instance, see **TODO**