Skip to main content

Amazon Web Services (AWS) Cloud

danger

Following document is still under construction

Hosting in the Microsoft Azure cloud is the basic solution for the installation, but it can cater the high availability by the features of each component.

Architecture diagram

AWS server infrastructure

1. Amazon Elastic Compute Cloud (EC2)

Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud.

Scalability:

EC2 provides manual scaling options for administrator at any time, administrator can change the size of an existing server manually. Also, it provides auto scaling and allows administrator to automatically add or remove EC2 instances according to conditions defined. Auto scaling ensures that Bookings ONE always has the right amount of compute, and proactively provisions capacity with predictive scaling.

Resilience:

Scaling out of system can be implemented on multiple VM instances, therefore the system setting should be configurated for running the application on at least 2 instances which provides the resilience to prevent single point of failure.

2. Amazon RDS for SQL Server

Amazon RDS for SQL Server makes the system easier to set up, operate, and scale SQL Server deployments in the cloud. Amazon RDS allows managing time-consuming database administration tasks including provisioning, backups, software patching, monitoring, and hardware scaling.

Scalability:

Vertical scaling - To handle a higher load in the system database, administrator can vertically scale up (CPU and RAM) the master database with a simple press of a button. The wide selection of instance types is provided for choosing the best resources for the database server.

Auto-scaled storage - By opting into Auto-Scale storage, instances will automatically increase the storage size with zero downtime. With RDS Storage Auto Scaling, administrator can simply set the desired maximum storage limit, and the rest will be handled by Auto Scaling.

Resilience:

Amazon RDS provides high availability and failover support for DB instances using Multi-AZ deployments. Amazon RDS uses several different technologies to provide failover support. SQL Server DB instances use SQL Server Database Mirroring (DBM) for the failover.

Data backup:

Amazon RDS creates and saves automated backups of the SQL Server instance. Amazon RDS creates a storage volume snapshot of the server instance, backing up and not just individual databases but the entire instance. Amazon RDS for SQL Server creates automated backups of the DB instance during the backup window of the DB instance.

3. Amazon Simple Storage Service (S3)

Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance.

Amazon S3 is designed for 99.999999999% (11 9's) of durability, and stores data for millions of applications for companies all around the world.

In Bookings ONE, we will use the blob storage for:

  • Serving images directly to a browser
  • Writing to log files

Scalability:

Unlike a typical file system that can encounter issues when storing large number of files in a directory, Amazon S3 supports a virtually unlimited number of files in any bucket. Also, unlike a disk drive that has a limit on the total amount of data, while administrator will require to partition the data across drives or servers, an Amazon S3 bucket can store a virtually unlimited number of bytes.

In Bookings ONE cases, it uses blob storage to save the administrator uploaded images and system log, the total data size will be less than 10GB and the maximum access is limited to 4000 staff access from the customer. S3 storage has the full capacity to support the usage of the Venue and Facilities Booking System.

Resilience:

Amazon S3 Standard storage provides a high level of data durability and availability by automatically and synchronously storing the data across both multiple devices and multiple facilities within selected geographical region.

Error correction is built-in, and there is no single point of failure. Amazon S3 is designed to sustain the concurrent loss of data in two facilities, making it very well suited to serve as the primary data storage for mission-critical data. In fact, Amazon S3 is designed for 99.999999999 percent (11 nines) durability per object and 99.99 percent availability over a one-year period.

Comparing with Microsoft Azure Cloud

Azure cloud server infrastructure

The setting is similar to AWS Cloud setting by:

  • Replacing Amazon EC2 by Azure App Services
  • Replacing SQL Server on AWS by Azure SQL Server
  • Replacing Amazon S3 Storage by Azure Blob Storage

This structure is the design of existing Bookings ONE Cloud subscription service, which has multiple production servers running on this structure for over a year.