Overview
This document contains general recommendations for deploying a single virtual machine in Microsoft Azure for Triofox.
General Requirements
In the simplest deployment, Triofox requires a single virtual machine running Windows Server, preferably Windows Server 2016 or 2019 Datacenter with the Desktop Experience. For testing and evaluation purposes a virtual machine with a minimum of 2 virtual CPUs (vCPU) and 4 GB RAM is acceptable. However, for a Production deployment, the current minimum recommendation is 4 vCPU with 8 GB RAM, but 4 vCPU and 16 GB RAM is preferred.
Triofox also requires a database, either MySQL 5.7 compatible or Microsoft SQL 2012+ compatible. The database engine may be installed on the same single virtual machine, the so-called "all-in-one" database". However, for production systems, it is best to use an external database server. In Azure, you could deploy the "platform-as-a-service" features, Azure MySQL, or Azure SQL as the external database "server" (or "virtual server", or "instance"). Deploying Azure MySQL or Azure SQL would be at an additional cost to the single Triofox server.
NOTE: For small deployments, an all-in-one install that includes the database is sufficient.
Estimated Costs
Using the Azure calculator at the time of this writing (Late 2018) it is possible to make some rough cost estimates of computing (virtual machines), storage, and database.
Compute
This table shows the estimated compute costs for the recommended virtual machine types. All prices are in the "East US 2" region with regular "pay-as-you-go" pricing. The compute cost assumes 730 hours of run time in a given month.
Type | vCPU | RAM (GB) |
Compute Cost | C: (GB) | Storage Tier | Storage Cost (with 100K transactions) |
Approx. Cost per Month |
Standard_A2_v2 | 2 | 4 | $99.28 | 128 | Standard HDD | $41.89 | $141.17 |
Standard_A4_v2 | 4 | 8 | $208.78 | 128 | Standard HDD | $41.89 | $250.67 |
Standard_B2ms | 2 | 8 | $66.58 | 128 | Premium SSD | $41.89 | $108.46 |
Standard_B4ms | 4 | 16 | $132.86 | 128 | Premium SSD | $41.89 | $174.75 |
Standard_D2_v3 | 2 | 8 | $137.24 | 128 | Standard HDD | $41.89 | $179.13 |
Standard_D4_v3 | 4 | 16 | $274.48 | 128 | Standard HDD | $41.89 | $316.37 |
Standard_D2s_v3 | 2 | 8 | $137.24 | 128 | Premium SSD | $34.56 | $171.80 |
Standard_D4s_v3 | 4 | 16 | $274.48 | 128 | Premium SSD | $34.56 | $309.04 |
Storage
The Triofox "back end storage" for the Default Tenant should be moved to an Azure block blob container as opposed to leaving it set to C:\Triofox. This will be the most cost-effective solution and is able to scale to many terabytes.
In the US East 2 region, the cost is roughly $20/month for each 1000 GB of data in block blob storage. The costs could be higher depending on such factors as data transfers and IO operations. The following options were selected in the Azure Calculator for this estimate:
Region: East US 2
Type: Block Blob Storage
Storage Account Type: General Purpose V2
Redundancy: LRS
Access Tier: Hot
Database
Triofox has a back end database that can either be hosted in the MySQL or Microsoft SQL engines. There are a number of decision points that will influence the choice of the database engine. Some of these points may include:
- Cost
- Performance
- Familiarity with the product
- Management capabilities
When deploying Triofox in Azure there are essentially three database options to choose from:
- Postgres "All-in-One
- MySQL "All-in-One"
- Azure Database for MySQL
- Azure SQL Database service
These database options are described in the following sections.
MySQL or Postgres "All-in-One"
Triofox can be deployed with an "all-in-one" MySQL or Postgres database that is installed locally on a single Triofox server.
Advantages
- Easy Installation
- No additional cost
Disadvantages
- Not recommended for Production
- Lack of management tools
- MySQL doesn't run as a Windows service
- Doesn't scale easily
- No redundancy
Azure Database for MySQL
Azure Database for MySQL is a managed (PaaS) solution. For more information:
What is Azure Database for MySQL?
Azure Database for MySQL pricing tiers
Azure Database for MySQL cost estimates and recommendations are displayed in the following table:
Type | Engine | Tier | vCPU | RAM | Storage | Disk (GB) | Cost |
Azure MySQL | MySQL | Basic | 2 | 4 | Standard | 20 | $74 |
Azure MySQL | MySQL | General Purpose | 2 | 10 | Premium | 20 | $170 |
Azure SQL Database Service
Azure SQL Database Service is another managed database solution. For more information:
The Azure SQL Database service
Azure SQL Database service cost estimates and recommendations are displayed in the following table:
Region | Type | Purchase Model |
Tier | Performance Level |
Est. Cost Per Month |
East US 2 | Single Database | DTU | Standard | S0: 10 DTU | $15 |
East US 2 | Single Database | DTU | Standard | S1: 20 DTU | $30 |
East US 2 | Single Database | DTU | Standard | S2: 50 DTU | $74 |
East US 2 | Single Database | DTU | Standard | S3: 100 DTU | $148 |
Note that the costs scale linearly with the performance level.
Recommendation
The recommendations depend on whether you are deploying a trial (evaluation) or Production deployment of Triofox.
Trial
Compute
- OS Image: Windows Server 2016 or 2019 Datacenter
- VM: Standard_D2s_v3 (2 vCPU 8 GB RAM)
- OS disk type: Premium SSD
- Use Managed Disks: Yes
- C: Disk: 128 GB
Database
- All-in-One MySQL or Postgres
Storage Account for Back End Storage
- Account kind: StorageV2 (general purpose V2)
- Replication: Locally-redundant storage
- Access Tier: Hot
- One blob container
Production
Compute
- OS Image: Windows Server 2016 or 2019 Datacenter
- VM: Standard_D4s_v3 (4 vCPU 16 GB RAM)
- OS disk type: Premium SSD
- Use Managed Disks: Yes
- C: Disk: 128 GB
Database
- Either Azure Database for MySQL or Azure SQL Database Service. The choice is dependent on which platform is more familiar to the persons maintaining it and the cost.
- Because the database and back end storage are external to Triofox, it is easy to deploy an additional Triofox server for high availability.
Storage Account for Back End Storage
- Account kind: StorageV2 (general purpose V2)
- Replication: Locally-redundant storage
- Access Tier: Hot
- One blob container
Comments
0 comments
Please sign in to leave a comment.