1. Sample

1.1 System Requirements (Test)

Hardware and software requirements can vary depending on the deployment type (e.g., cloud-based or on-premises) and the scale of the environment being implemented. Evaluating the specific requirements of the deployment is critical to achieving optimal performance, scalability, and security while reducing the risk of challenges during deployment. 

Click here to learn more about the deployment models. 

Web Application Server

The Web Application Server is a critical component in the Robility Manager architecture, responsible for hosting the application and managing communication between robots, users, and external systems. Below, you will find the hardware and software requirements needed to configure the web application server for optimal performance, scalability, and security.

Hardware Requirements

1. Processor:

a. Minimum: Dual-Core processor (e.g., Intel Xeon E3 series or equivalent).
b. Recommended:
Quad-Core processor (e.g., Intel Xeon E5 series or equivalent).

2. RAM:

a. Minimum: 16 GB
b. Recommended:
32 GB (depending on traffic and application complexity).

3. Storage:

a. SSD with at least 100 GB for the OS and application files.
b. Additional space for logs, backups.

Software Requirements

1. Operating System

a. Minimum: Windows Server 2016 (Standard or Datacenter Edition).
b. Recommended:
Windows Server 2019 or later (Standard or Datacenter Edition).

2. IIS (Internet Information Services)

a. Minimum: Version 8.5 (IIS 8.5, available in Windows Server 2012 R2)
b. Recommended: Version 10 or higher.

3. .NET Framework

a. Version: 4.8.1 or higher (4.8.1 is recommended)
b. Ensure the latest updates for the .NET Framework are installed.

4. Visual C++ Redistributable

a. Recommended Versions: Visual C++ 2015-2019 Redistributable (x86 and x64) and Visual C++ 2022 Redistributable (x86 and x64), if applicable.
b. Ensure compatibility with .NET assemblies for smooth application functionality.

5. Web Server

Enable the following components: 

a. Application Development: ASP.NET, ISAPI Extensions, ISAPI Filters. 
b. Security: Windows Authentication, Request Filtering. 
c. Management Tools: IIS Management Console. 

Security

1. Enable TLS 1.2 or higher for secure connections.
2. Install and configure an SSL certificate for HTTPS.
3. Set up a firewall to block unused ports.
4. Configure IIS request filtering to prevent unauthorized access. 

Development Environment

The hardware requirements for the development environment usually differ from those of the production environment, which is specifically built to manage higher volumes of traffic, data, and workloads.

The following are the recommended minimum hardware requirements for the web application server in a development environment.

CPU Cores (>2GHz) RAM (GB) HDD (GB)
4
16
100

Production Environment 

The following are the recommended minimum hardware requirements for the web application server in a production environment.

Number of Roots CPU Cores (>2GHz) RAM (GB) HDD (GB)
<20
4
16
100
<50
4
16
100
<100
4
32
100
<200
4
32
200

1.1.1 Database

The database serves as a critical component in Robility for managing and storing data related to automation processes, logs, business rules, user configurations, and more. The database solution must be selected carefully to ensure it meets performance, scalability, and security requirements to handle the volume of data generated by the platform and the automation workflows it supports.

Azure SQL Managed Instance

For optimal performance, scalability, and security, we recommend Azure SQL Managed Instance as your database solution. It offers high availability, automatic backups, and seamless integration with other Azure services, ensuring minimal downtime and robust disaster recovery. Deploying this option provides flexibility and high-performance data management with minimal disruption.

Hardware Requirements

1. Service Tier:

a. General Purpose (suitable for most workloads, uses remote storage for data).

2. vCores:

a. Minimum: 4 virtual CPU cores for essential compute capacity
b. Recommended: 8 virtual CPU cores for better compute capacity and performance.

3. Memory:

a. Minimum: 4 GB per vCore (~16 GB total).
b. Recommended: 7 GB per vCore (~56 GB total) for optimal performance and handling of higher workloads.

4. Storage:

a. Minimum: 128 GB of remote storage (expandable as needed).
b. Recommended: 256 GB of remote storage (expandable).

On-Premises database server

For organizations that require complete control over their database environment or have specific data governance needs, an on-premises database server might be a more suitable choice. Unlike cloud-based solutions like Azure SQL Managed Instance, on-premises setups offer greater control over the hardware, software, and security configurations. 

Organizations that choose this option should be prepared to handle server management, scalability issues, and the increased complexity of disaster recovery without the support of a cloud infrastructure provider.

Hardware Requirements

1. Processor:

a. Minimum: 8 physical cores (e.g., Intel Xeon Silver/Gold, 2.5 GHz or higher).
b. Recommended: 12 physical cores (e.g., Intel Xeon Gold, 2.8 GHz or higher) for better performance and support for high-transaction workloads.

2. Memory:

a. Minimum: 32 GB RAM.
b. Recommended: 64 GB 

3. Storage:

a. SSD/NVMe with at least 256 GB for data.
b. Additional 1 TB for logs, tempdb, and backups.

Software Requirements

1. Operating System

a. Windows Server 2019/2022 (Standard or Datacenter Edition).

2. SQL Server Edition:

a. SQL Server 2019/2022 (Standard or Enterprise).
b. Licensing: Core-based (minimum 8 cores).

Security

a. Enable Transparent Data Encryption (TDE).
b. Use Windows Authentication.

Development Environment

Below are the recommended minimum hardware requirements for the SQL Server development environment.

CPU Cores (>2GHz) RAM (GB) HDD (GB)
4
32
100

Production Environment

Below are the recommended minimum hardware requirements for the SQL Server production environment.

Number of Roots CPU Cores (>2GHz) RAM (GB) HDD (GB)
<20
4
32
100
<50
4
32
200
<100
8
32
300
<200
12
32
400

1.1.2 Blob Storage

Robility utilizes Azure Blob Storage as a centralized and scalable solution for storing unstructured data, such as logs, documents, images, backups, and other file types generated or used by the automation processes. It plays a critical role in supporting efficient data management, ensuring secure access, and providing seamless integration with the Robility platform.

It is highly cost-effective and supports various performance tiers, account types, and access options, making it suitable for diverse workloads, from archival storage to high-performance data storage.

Below are key specifications and options to consider when configuring Azure Blob Storage for your specific needs:

1. Storage Capacity: 100 GB.

2. Performance Tier: Standard (HDD-based, cost-effective).

3. Account Type: General Purpose v2 (GPv2).

4. Access Tier: Choose based on use case:

a. Hot: For frequently accessed data such as real-time logs and operational documents.
b. Cool: For infrequently accessed data, such as archival logs or backup files, reducing storage costs.

1.1.3 Shared Mailbox

The shared mailbox is integral to the deployment of Robility Manager serving as a critical communication hub that enhances operational efficiency, security, and scalability. To maximize the effectiveness of the shared mailbox, it’s crucial to implement robust authentication and access mechanisms, such as Modern Authentication, and evaluate alternative approaches like SMTP for specific use cases

Modern Authentication

For enhanced security and user experience, we recommend using Modern Authentication to access shared mailboxes. Based on the OAuth 2.0 protocol, it offers a more secure and efficient authentication method than basic authentication, supporting features like multi-factor authentication (MFA), conditional access policies, and integration with identity providers such as Azure Active Directory.

This solution is ideal for organizations focused on security, compliance, and scalability, while simplifying the management of shared resources like mailboxes.

1. Azure App Registration

a. Register the application in Azure Active Directory.
b. Note the Application (client) ID and Directory (tenant) ID.

2. Permissions Configuration:

a. Assign Microsoft Graph API permissions:  Delegated Permissions for Mail.Read, Mail.ReadWrite, Mail.Send, Mail.Read.Shared, Mail.ReadWrite.Shared. 
b. Grant Admin Consent for the permissions.

3. Authentication Setup:

a. Generate a Client Secret or upload a Certificate in the “Certificates & secrets” section.

4. OAuth 2.0 Implementation:

Implement the OAuth 2.0 flow in your web application to request access tokens using:

a. Application (client) ID.
b. Directory (tenant) ID.
c. Client Secret or Certificate.

5. Access Token Management:

a. Ensure the application retrieves and uses access tokens for Microsoft Graph API requests.
b. Implement token refresh logic to handle expiration and renew tokens automatically.

6. Microsoft Graph API Integration:

a. Use the API to interact with the shared mailbox (e.g., read, write, send emails).
b. Replace {shared-mailbox-id} with the email address of the shared mailbox in API calls.

SMTP 

An alternative approach for interacting with email services is configuring the application to use Simple Mail Transfer Protocol (SMTP). This method is useful for legacy systems or scenarios where direct API integration isn’t necessary. It allows reliable email sending with minimal setup, making it ideal for basic email notifications. However, it has limitations in functionality and security compared to solutions like Microsoft Graph API.

1. SMTP Server Details:

a. Server address (e.g., smtp.office365.com, smtp.gmail.com).
b. Port (587 for STARTTLS, 465 for SSL/TLS, or 25 for non-secure).

2. Authentication:

a. Email address and password (or app-specific password for MFA-enabled accounts).

3. Encryption:

a. Ensure STARTTLS or SSL/TLS is enabled for secure communication.

4. Network Access:

a. Allow outbound access to SMTP server and port in firewall rules.

1.2 Hardware Requirements

Hardware and software requirements can vary depending on the deployment type (e.g., cloud-based or on-premises) and the scale of the environment being implemented. Evaluating the specific requirements of the deployment is critical to achieving optimal performance, scalability, and security while reducing the risk of challenges during deployment. 

Small to Medium Deployments

Small to medium deployments in Robility is designed for organizations with moderate operational and scalability requirements. These deployments typically involve a limited number of robots, processes, and users, making them ideal for small to medium businesses or specific departments within larger enterprises.

The hardware requirements provided below are tailored for the development environment and may differ significantly from the specifications required for the production environment, which often handles higher workloads and greater complexity.

Development Environments

These requirements are based on a setup with 25 to 75 unattended robots running simultaneously. The configuration utilizes two machines:

1. Web Application Server: This machine hosts the web-based interface and services of the Robility Manager platform, handling communication with robots and facilitating user interactions.
2. SQL Server: This machine operates as the database server, responsible for storing critical data such as process logs, configurations, and execution details.

The required specifications for each are outlined below.

Web Application Server

CPU Cores (>2GHz) RAM (GB) HDD (GB)
4
16
100

SQL Server

CPU Cores (>2GHz) RAM (GB) HDD (GB)
4
32
100

Production Environments 

Production environments for SMEs are designed to handle the organization’s live automation workload with stability, scalability, and security in mind, ensuring seamless operations as automation scales. For production environment, it is recommended to provide one dedicated server for each of the following, 

1. Web application server.
2. SQL Server Database. 

The hardware configuration for each server depends on the scale of your deployment, as detailed below. These requirements are based on tests where a robot operates with the following parameters. 

It sends messages to Robility Manager at a frequency of one message every 30 seconds. Within each 30-second interval, the Robot performs the following actions,

2 heartbeat requests sent by the Robility Runner (Unattended) in two different states:

a. Idle state: The first heartbeat is sent to indicate the Runner is in active state but not executing tasks.
b. Running state: The second heartbeat is sent when the machine is actively executing workflows.

When the robot is in the running state, it communicates with the Robility Manager every 30 seconds with the following requests:

a. Get workflow request: Ensures the workflow is properly extracted and required features are downloaded.
b. Stop workflow request: Checks if the bot has initiated the stop workflow action, enabling Robility Manager to monitor and control workflow execution.

Web Application Server

This outlines the requirements for web application server that supports up to 200 unattended robots in a production environment.

Number of Robots CPU Cores (>2GHz) RAM (GB) HDD (GB)
25 to 50
4
16
100
50 to 100
4
16
100
100 to 150
4
32
150
150 to 200
4
32
200

SQL Server Database

Number of Robots CPU Cores (>2GHz) RAM (GB) HDD (GB)
25 to 50
4
32
100
50 to 100
4
32
150
100 to 150
8
32
200
150 to 200
8
32
250

The hard disk drive requirements depend on the below points, 

 

 

1.3 Reference