Resco Cloud on premises

From Resco's Wiki
Jump to navigation Jump to search
Resco Cloud administration


Resco Cloud can be installed in the cloud, but you can also install it on your own hardware or virtual machines.

Resco cloud on premises architexture

Pros and cons

What are some of the general considerations regarding on-premises software versus software-as-a-service/cloud software? Adapted from English Wikipedia

Location
On-premises software is established within an organization’s internal system along with the hardware and other infrastructure necessary for the software to function.
Cloud-based software is usually served via the internet and it can be accessed by users online regardless of the time and their location.
Costs
On-premises software usually requires high initial costs (purchase of hardware, infrastructure, software license, installation) + maintenance and operations cost.
Initial costs are often low for cloud-based software. Maintenance and operation costs are paid by the cloud providers.
Operation/maintenance
The organization using on-premises software is responsible for the daily operation and maintenance. This might require specialized IT personnel.
Cloud-based software provider is responsible for the system operations and maintenance.
Backup and data storage
The organization using on-premises software is responsible for backup and storage. This implies having full control over your data.
For cloud-based software, backup/storage are the responsibility of the software provider.
Data security
The organization is responsible for data management for on-premises software.

Why Resco Cloud on premises

The primary reason for an on-premises deployment is security. Some organizations have custom, very strict security requirements that go beyond the standard cloud service security. For example, you may want to keep your server off the internet completely; or hide in a VPN. This kind of deployment is unavailable with the public cloud.

Having a strong in-house IT department and infrastructure can mitigate some of the initial costs.

The on-premises operation also allows some unique integration options, beyond what's available for cloud.

System requirements

  • Microsoft Windows Server 2012 R2 or later
  • An Internet Information Services (IIS) website
  • Microsoft SQL Server 2012 or later
  • Microsoft .NET Framework 4.6.2 or later

Hardware requirements

The following table lists the minimum and recommended hardware requirements for Resco CRM Server. These requirements assume that additional components such as Microsoft SQL Server aren’t installed or running on the same system.

Component Minimum Recommended
Processor x64 architecture or compatible dual-core 1.5 GHz processor Quad-core x64 architecture 2 GHz CPU or faster such as AMD Opteron or Intel Xeon systems
Memory 2GB RAM 8GB RAM or more
Hard Disk 10 GB of available hard disk space 40 GB or more of available hard disk space

Installation

The installation involves running some PowerShell scripts. The exact procedure is described in an installation guide that is part of the delivery.

Custom fonts for reports

Resco CRM Connector API allows you to generate reports from a web request. Unlike the classical use case for mobile reports, the report generation does not happen in Resco mobile apps, but on the Resco Cloud server. By default, custom fonts were ignored in server-generated reports (because the fonts are stored in mobile app projects that are unavailable on the server). However, for on-premises Resco Cloud, you can copy the fonts into a custom folder on the server to make them available in the reports.

1. Configure the font folder in the file web.config:

	<!-- Default report content files -->
	<add key="ReportContentPath" value=".\App_Data\ReportContent" />

2. Copy the font files to the folder on the server.

Password policy

You can define password policy for the users in the file web.config.

<!-- User password strength regex check (empty allows any password) -->
<!-- Sample: "^(?=.*[0-9])(?=.*[A-Z])(?=.*[^0-9A-Za-z]).{8,}$"
	- ensure at least one digit
	- ensure at least one upper case letter
	- ensure at least one special character
	- and ensure at least 8 chars length -->
<add key="PasswordPolicyStrengthRegex" value="" />
<!-- User invalid password attempts mode:
	- Lockout - user locked for specific time defined by PasswordPolicyLockoutDuration
	- Disable - user disabled and can be enabled by system administrator in user profile -->
<add key="PasswordPolicyLockoutMode" value="Lockout" />
<!-- User lockout after N invalid attempts (0 is infinite) -->
<add key="PasswordPolicyLockoutAttempts" value="0" />
<!-- User lockout duration (in minutes) -->
<add key="PasswordPolicyLockoutDuration" value="10" />
<!-- Minimum time between user verification attempts (in millisecond, default is 100ms) -->
<add key="PasswordPolicyMinimumTimeBetweenAttempts" value="100" />

Data storage

In the on-premises deployment of Resco Cloud, we are using Microsoft SQL Server as our database engine. The minimum supported version is 12. We recommend installing the database and the CRM server on two separate machines.

One limitation worth mentioning: all notes are stored in the SQL server; external storage is not supported. Plan your database size accordingly.

Integration

The on-premises installation of Resco Cloud supports the same integration options like the cloud version:

  • Resco CRM Connector: A group of web APIs that we offer to set up synchronization with other backends. Choose between OData and REST API as appropriate for your system.
  • Resco CRM sync: Connect a Resco Cloud slave organization to your master organization on Dynamics or other Resco Cloud. Clone master metadata to the slave and synchronize data between these organizations.
  • Integrations: Connect Resco Cloud to various systems using connectors (Resco Cloud, Dynamics, OData). Map entity fields and exchange data. Configured connections can be used in Resco Cloud jobs and workflows to automate sync process.
  • Power Automate: Use Resco Cloud connector for Power Automate to integrate with other systems, such as Business Central. However, this requires that your Resco Cloud server has a public IP/DNS.

An additional integration option that goes beyond what a cloud solution offers is the ability to create your own DataService Proxy. Anything that enters the server as a web service must first pass your C# code. This allows you to catch the basic web service methods (create/update/delete/fetch) and either modify them or do some other action (for example, send the record to an external system). Essentially, you can tap directly into the data service.