Overview
This document contains general recommendations for deploying a single virtual machine in Microsoft Azure for CentreStack.
General Requirements
In the simplest deployment CentreStack requires a single virtual machine running Windows Server, preferably Windows Server 2016 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.
CentreStack 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 MySQL 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 CentreStack server.
Estimated Costs
Using the Azure calculator at the time of this writing (Late 2018) it is possible to make some rough cost estimates of compute (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 CentreStack "back end storage" for the Default Tenant should be moved to a Azure block blob container as opposed to leaving it set to C:\CentreStack. 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 select 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
CentreStack 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 database engine. Some of these point may include:
- Cost
- Performance
- Familiarity with the produce
- Management capabilities
When deploying CentreStack in Azure there are essentially three database options to choose from:
- MySQL "All-in-One"
- Azure Database for MySQL
- Azure SQL Database service
These database options are described in the following sections.
MySQL "All-in-One"
CentreStack can be deployed with an "all-in-one" MySQL database that is installed locally on the single CentreStack 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 CentreStack
Trial
Compute
- OS Image: Windows Server 2016 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
Storage Account for Back End Storage
- Account kind: StorageV2 (general purpose V2)
- Replication: Locally-rendudant storage
- Access Tier: Hot
- One blob container
Production
Compute
- OS Image: Windows Server 2016 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 is external to CentreStack, it is easy to deploy an additional CentreStack server for high availability.
Storage Account for Back End Storage
- Account kind: StorageV2 (general purpose V2)
- Replication: Locally-rendudant storage
- Access Tier: Hot
- One blob container
Comments
0 comments
Please sign in to leave a comment.