1. Home
  2. User Guides
  3. On-Premises Server Hosting Guide
  4. Self-hosting Server Deployment Examples

Self-hosting Server Deployment Examples

Note

To understand the general requirements and understanding on hosting FootfallCam™ Solution in your on-premise/cloud servers, please read Chapter 26 - Hosting Solution on Your Servers to learn more before proceeding to this article.

A.1 - On-premise Hosting

On-premise hosting is where the servers are hosted within your premises, encapsulated by private network with network firewalls or VPN infrastructure implemented in favour of security. We recommend this hosting method if you: 

  • Have strict security policy related to data privacy and legislation in corporate, country or region. 

  • Prefer a closed or restricted network that is unlikely reachable by public network. 

  • Have existing infrastructure in your premises that supports this deployment type. 

A.1.1 - Server Deployment Configuration and System Requirements

The following are the examples of on-premise hosting, which shown in diagrams below:- 

  1. Two Dedicated Servers. 

  2. Two Virtual Machines within the same hypervisor machine (E.g. VMWare vSphere). 

  3. One Dedicated Windows Server (Host OS) with Ubuntu Server (Guest OS) hosted within it. 

Each server deployment configuration has its own system requirements corresponding to the number of FootfallCam™ Devices being supported:- 

System Requirements for Two Dedicated Servers

Item / Size Small Medium Large
FootfallCam™ Devices Count Up to 100 devices Up to 500 devices Up to 1000 devices
PRIMARY SERVER
CPU 8 Cores 64-bit 12 Cores 64-bit 16 Cores 64-bit
Memory 32GB or above 64GB or above 128GB or above
Storage** 500GB or above 1TB or above 2TB or above
Operating System Windows Server 2012 Standard or above
SQL Server License Microsoft SQL Server 2016 or above (Standard or Enterprise Edition)
SECONDARY SERVER
CPU 16 Cores 64-bit 24 Cores 64-bit 32 Cores 64-bit
Memory 128GB or above 256GB or above 512GB or above
Storage** 1TB or above 2TB or above 3TB or above
Operating System Ubuntu Server 20.04 LTS

 

System Requirements for Two Virtual Machines within the same hypervisor machine

Item / Size Small Medium Large
FootfallCam™ Devices Count Up to 30 devices Up to 120 devices Up to 300 devices
HYPERVISOR SERVER
Hypervisor OS Microsoft Hyper-V Server 2016 or above, VMWare vSphere, or equivalent Tier-1 hypervisor
PRIMARY SERVER (VM)
vCPU 8 Cores 64-bit 12 Cores 64-bit 16 Cores 64-bit
Memory 32GB or above 64GB or above 128GB or above
Storage** 500GB or above 1TB or above 2TB or above
Operating System Windows Server 2012 Standard or above
SQL Server License Microsoft SQL Server 2016 or above (Standard or Enterprise Edition)
SECONDARY SERVER (VM)
vCPU 16 Cores 64-bit 24 Cores 64-bit 32 Cores 64-bit
Memory 128GB or above 256GB or above 512GB or above
Storage** 1TB or above 2TB or above 3TB or above
Operating System Ubuntu Server 20.04 LTS

 

System Requirements for One Dedicated Server (Host OS) with One Virtual Machine (Guest OS)

Item/Size

Small

Medium

Large

Capacity

Up to 30 devices

Up to 120 devices

Up to 300 devices

PRIMARY SERVER (HOST OS)

CPU

8 Cores 64-bit

12 Cores 64-bit

16 Cores 64-bit

Support Virtualization

Yes

Memory

32GB or above

64GB or above

128GB or above

Storage*

500GB or above

1TB or above

2TB or above

Operating System

Windows Server 2012 Standard or above

SQL Server License

Microsoft SQL Server 2016 or above (Standard or Enterprise Edition)

Hypervisor

Microsoft Hyper-V, VMWare Workstation, or equivalent Tier-2 Hypervisor

SECONDARY SERVER (GUEST OS)

Allocated vCPU

16 Cores vCPU or above

24 Cores vCPU or above

32 Cores vCPU or above

Allocated Memory

128GB or above

256GB or above

512GB or above

Allocated Storage

1TB or above

2TB or above

3TB or above

Operating System

Ubuntu Server 20.04 LTS

Virtual Network Adapter Mode

Bridged

A.1.2 - Network Configuration

As servers are hosted within a private network, depending on your project requirements, we can split into 4 general scenarios: 

  • Servers and FootfallCam™ Devices are connected in the same network. 

  • Servers and FootfallCam™ Devices are connected in the same location, but different subnets. 

  • Servers and FootfallCam™ Devices requires Internet Connectivity between each other. 

  • Servers and FootfallCam™ Devices are connected via established VPN network. 

Server Address must be configured within the devices correctly to the Primary Server according to which scenario your servers are hosted in. 

Note

To learn how to change where the devices connected to, please refer to the article FootfallCam™ Device Installation Guide - Chapter 3: Device Configuration

A.1.2.1 - Servers and FootfallCam™ Devices are connected in the same network

In this example, both servers and FootfallCam™ Devices are in the same network and subnet. You can connect the devices directly to the servers via the IP Address given in the network. 

You are required to manually enter the correct Server Address in each device's settings as, in this example, "http://192.168.1.11" (Primary Server IP Address). As for the Secondary Server, FootfallCam™ Devices will automatically acquire the server address from Primary Server, which will be pre-configured during the software installation process. 

A.1.2.2 - Servers and FootfallCam™ Devices are connected in the same location, but different subnets

If your servers and devices are located in the same location, but with different subnet due to the existing infrastructure or network policy on held, you are required to configure your network such that the devices is able to reach both Primary and Secondary servers. 

i. Port forwarding

Port forwarding or equivalent networking maneuvers must be done in order to successfully establish connection between devices and servers through the provided NAT or subnet routers. For this instance, the port forwarding rules must be configured as followed: 

Rule Name External Port Internal IP Address Internal Port
Subnet_1_to_Primary_Server 8873 192.168.10.11 8873
Subnet_1_to_Secondary_Server 8080 192.168.10.12 8080

iii. Devices configuration

After setting up the port forwarding rules, you can manually enter the correct Server Address in each device's settings as, in this example, "http://192.168.10.11" (Primary Server IP Address). As for the Secondary Server, FootfallCam™ Devices will automatically acquire the server address from Primary Server, which will be configured during the software installation process.

A.1.2.3 - Servers and FootfallCam™ Devices requires Internet connectivity between each other

The networks on both devices and servers are different and can only be communicated via Internet connection. Compared to the previously mentioned network configuration, there are several things that needs to be done to ensure the connections can be established between devices and servers. 

i. Getting a domain hostname from DNS or DDNS Provider

Normally, your Internet connection should have provided a Public IP address, which allows external network to recognize your network location. With the help of a Domain Name System (DNS) hostname which can be acquired from a provider of your choice (E.g. Cloudflare or Fasthosts), and create the following A records shown below: -

Type Name** Target Server TTL
A record portal.ffc.mydomain.com <<Public IP provided by your ISP>> Auto
A record ws.ffc.mydomain.com <<Public IP provided by your ISP>> Auto

Note

You can create any Name that align to your requirements, as long as there are hostnames that are reachable to both Primary and Secondary Servers.

In addition, most ISP will only provide dynamic Public IP address, which will be a hassle when your ISP decided to change your Public IP address at anytime.

To tackle this, you are required to get a Dynamic Domain Name System (DDNS) hostname that will refresh your IP address whenever it changes. We recommend to subscribe to a provider such as NO-IP.

After getting a hostname from the provider, you can login to your DDNS account through your supported router or a client application provided to make sure the hostname keep pointing to your latest public IP address. 

Please refer to your DDNS provider's instruction on how to setup DDNS feature for your network. 

ii. Port forwarding

The port forwarding rules must be configured as followed: 

Rule Name External Port Internal IP Address Internal Port
External_to_Primary_Server 8873 192.168.10.11 8873
External_to_Secondary_Server 8080 192.168.10.12 8080

iii. Devices configuration

After setting up the port forwarding rules, you can manually enter the correct Server Address in each device's settings as, in this example, "http://portal.ffc.mydomain.com:8873" (Primary Server Hostname). As for the Secondary Server, FootfallCam™ Devices will automatically acquire the server address from Primary Server, which should configured during the software installation process. 

A.1.2.4 - Servers and FootfallCam™ Devices are connected via established VPN network

If your infrastructure wanted to or has deployed a VPN networks across multiple sites, depending on your network configuration, make sure the devices are able to reach both servers. 

In this instance, there is an existing VPN networks deployed, with a few sites and the servers connected to in a given subnet 172.16.0.0/16. You can manually enter the correct IP address in each device's settings as, in this example, "http://172.6.1.1:8873" (Primary Server Hostname). As for the Secondary Server, FootfallCam™ Devices will automatically acquire the server address from Primary Server, which should configured during the software installation process. 

Important

To ensure the solution is functional across the network, please refer to 26.2.3.3 Firewall Rules and make sure your network meets the given requirements.

A.1.3 - Public Cloud Hosting

Beside on-premise hosting, you may choose to host our FootfallCam™ Solutions onto Public Cloud Servers. There are several well-known public cloud providers that has great reputation and functionalities which will fulfill your project requirements: 

  • Amazon AWS
  • Microsoft Azure
  • Google Cloud
  • OVH Cloud
  • Linode

i. Prepare your servers

You may choose the server type base on the availability and the location of the chosen providers, such as Virtual Private Server (VPS), Dedicated Server, and many more, as long as your procured servers must adhere to our system requirements and network requirements, which you can learn all from 26.2.2 System Requirements and 26.2.3 Networking Requirements

ii. Getting a domain hostname from a DNS Provider

Normally, your Internet connection should have provided a Public IP address, which allows external network to recognize your network location. With the help of a Domain Name System (DNS) hostname which can be acquired from a provider of your choice (E.g. Cloudflare, Fasthosts or Namecheap), and register to your preferred platform such as Amazon Route 53, Cloudflare, Fasthosts or equivalent. Create the following A records shown below: -

Type Name** Target Server TTL
A record portal.ffc.mydomain.com <<Primary Server Public IP Address>> Auto
A record ws.ffc.mydomain.com <<Secondary Server Public IP Address>> Auto

Note

You can create any Name that align to your requirements, as long as there are hostnames that are reachable to both Primary and Secondary Servers.

iii. Devices configuration

After setting up the port forwarding rules, you can manually enter the correct Server Address in each device's settings as, in this example, "http://portal.ffc.mydomain.com:8873" (Primary Server Hostname). As for the Secondary Server, FootfallCam™ Devices will automatically acquire the server address from Primary Server, which should configured during the software installation process. 

Updated on March 28, 2023