-
Notifications
You must be signed in to change notification settings - Fork 23
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
Changes from 1 commit
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
e613dc7
ENDOC-676
9472271
ENDOC-676 PR feedback
cc6eed6
ENDOC-676 Apply PR feedback
ddaf940
ENDOC-676 More tweaking
fa9c6e4
ENDOC-676 Final tweaks
ad8ba1e
ENDOC-676 Fix image
07fae13
ENDOC-676 Final tweaks
f83ab1b
ENDOC-676 Missed one
2811afe
ENDOC-676 Hub/EPC menu items
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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** | ||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.