> For the complete documentation index, see [llms.txt](https://docs.nuvens.cloud/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nuvens.cloud/install/portal-requirements.md).

# Portal Requirements

**WorkSpaces Manager** is available either as a standalone product or as a 3-tier deployment, consisting of three main components:

1\) **Data Back-End:** Based on an MS-SQL database.

2\) **Management Portal Application:** Developed using the .NET Core Runtime.

3\) **Management Portal Presentation:** Deployed on IIS (Internet Information Services) on Windows.

The deployment can be executed in various ways by decoupling these three components or combining some of them. The most common deployment scenarios are:

{% tabs %}
{% tab title="All-in-One" %}
A **single Windows EC2 instance** that includes both IIS and MS-SQL Express can be deployed directly on AWS from the Marketplace as a **CloudFormation Project**.

In this setup, all tiers (data back-end, application, and presentation) run on the same instance, offering the most cost-efficient solution. This deployment is compatible with an external **Network Load Balancer** to offload SSL certificates and establish a unified entry point with a common DNS name.
{% endtab %}

{% tab title="External Database" %}
One or more **Windows EC2 instances** running IIS and the portal application can be configured to use an external **RDS MS-SQL database**.

This deployment can start as an all-in-one appliance from the Marketplace, after which the database component can be modified to separate the database from the Windows instance using the **RDS Console** in AWS.

{% hint style="info" %}
Nuvens has already established the necessary infrastructure for deployments based on **Infrastructure as Code (IaC)**, utilizing modern technologies such as **Terraform**, **Packer**, **Git**, and **CloudFormation**. For assistance, please contact support at **<support@workspacesmanager.com>**.
{% endhint %}
{% endtab %}

{% tab title="Network Load Balancer" %}
A **Windows EC2 instance** hosting both the portal and the database can be configured with a **Network Load Balancer (NLB)** to manage presentation, act as an entry point, and offload the SSL certificate.

The NLB can be either internal or external, though it's recommended to use an internal NLB unless administrators are fully aware of the responsibilities involved in securing a publicly accessible application.
{% endtab %}

{% tab title="3-Tier" %}
This deployment model decouples all components by creating one or more **Windows EC2 instances**, a single **RDS MS-SQL database**, and a **Network Load Balancer** distributed across all availability zones where the EC2 instances are hosted. For basic information, please refer to the [HTTPS/TLS Encryption section](/install/appendices/https-tls-encryption.md).

Each function operates independently while collaborating to create an efficient setup. For guidance on deploying as a **High Availability (HA)** cluster, please consult the [High Availability](/install/high-availability-ha.md) section.

{% hint style="info" %}
Nuvens has created all the requirements for a deployment based on Infrastructure as Code (IaC) by using modern technologies like Terraform, Packer, Git, CloudFormation, etc. Please contact support at <support@workspacesmanager.com> for assistance.
{% endhint %}
{% endtab %}
{% endtabs %}

{% hint style="success" %}
For more detailed information, please refer to the [**Architecture Guide**](/architecture/workspaces-manager-architecture-guide.md).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.nuvens.cloud/install/portal-requirements.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
