АWS or Serverspace?
You can use either a VPS service or AWS for hosting a website or a web application. Let's look at these two types of cloud web hosting services.
Deployment and customization
Amazon Elastic Compute Cloud (Amazon EC2) provides customers with computing resources in the cloud. EC2 makes it easy to scale and configure virtual machines to meet customer needs.
The service provides several types of virtual machines (instances) that can be combined:
- General purpose instances
- Instances optimized for computational tasks instances
- Memory optimized instances
- Accelerated computing instances (additionally containing graphics gas pedals)
- Storage optimized instances
The following operating systems can be installed on these instances:
- Amazon Linux
- Windows Server 2012
- CentOS 6.5
- Debian 7.4
- Images (AMI)
In addition to operating systems, Amazon provides a database service. A consumer does not need to install a DBMS on their virtual machine in addition to the operating system. The following products are available:
- MySQL community edition
- Oracle Database
- Microsoft SQL Server
Amazon provides some free services you can use to try cloud services or explore their possibilities:
- Virtual machines based on Amazon EC2 Linux Micro Instance only. Free 750 hours of use, which, for the first year of account registration, will be enough to use one EC2 instance in 24/7 mode;
- 750 hours of Elastic Load Balancer service + 15 GB of processed data;
- 10 GB in Amazon Elastic Block Storage (EBS) service. The free EBS limit includes 1 million I/Os, 1 GB of snapshot storage, 10,000 GET requests and 1,000 PUT requests to those snapshots;
- 5 GB in Amazon Simple Storage Service (S3). The free S3 limit includes 20,000 GET requests and 2,000 PUT requests;
- 30 GB of incoming and outcoming traffic in equal proportions;
- 25 hours of Amazon SimpleDB and 1 GB for data;
- 100 000 requests when using Amazon Simple Queue service;
- 100 000 queries, 100,000 HTTP notifications, and 1,000 email notifications when using Amazon Simple Notification service;
- 10 metrics, 10 alerts, and 1000000 API requests in the Amazon Cloudwatch service.
Installation and launching are not so simple. For example, to make the virtual server work, you must perform the following steps:
- Create an EC2 instance.
- Create SSL key pairs.
- Select the security groups to access the desired port.
- Launch an EC2 instance.
- Open the desired ports.
- Start the virtual machine.
- Install the necessary ports in the virtual machine.
- Connect Amazon ESB or S3 storage.
- Change virtual machine settings to store data in EBS or S3.
- Create an image for the running instance, save it to S3 and register your AMI.
- Get Elastic IP (fixed IP), change DNS to use the new IP.
Amazon AWS has no special administration services. Therefore, it is worth using a VPS service if you are not qualified in information technologies or do not have a competent system administrator.
The Amazon AWS cloud is hosted in geographically distributed data centers divided into groups called "regions". There are several "availability zones" within each region with High Availability services. Customers can select a region and availability location and set up replication from one location to another.
Amazon receives all AWS payments in U.S. dollars regardless of region. It means that if your organization uses another currency, you will not be able to predict the cost of services due to exchange rate fluctuations.
Using any Amazon AWS services requires you to add a credit card to your account, and this card will be charged for the rendered services. If your organization prefers to pay for cloud services by bank transfer, then to work with Amazon Web Services, you will need to sign a contract with a company that has a partnership with Amazon. Your bank account will be charged for Amazon services at the beginning of each month.
Keep in mind that AWS does not allow you to limit your monthly expenses. You must monitor the number of running services and their current load. Otherwise, the bill can become quite a surprise. In addition, bandwidth is also charged; a single peak load can empty your bank account.
Deployment and configuration
VPS providers allow you to create virtual servers with preset configurations. The control panel let you create virtual machines with different ranges of software and hardware resources:
- Number of CPU cores: 1 to 24
- Amount of RAM: from 512MB to 130GB
- Disk SSD: 10GB to 1TB
- Microsoft Windows Server
VPS services typically allow you to create a test virtual machine without limitations in hardware resources for a limited time.
To create a virtual server, you need to do the following:
- Register and log in to the control panel
- Go to the Servers tab and click a Create server button
- Select a virtual server template
- Specify server parameters:
- the place where the equipment will be located
- hosting control panel
- hardware performance (primary or high)
- Select a virtual server configuration:
- number of processor cores
- amount of RAM
- disk space type and volume
After creating a virtual machine, the new server will be assigned one IPv4 address for free. You can obtain additional IPv4 or IPv6 addresses for an additional fee.
VPS users can register up to 100 domains per virtual machine for free and make all the necessary changes in DNS by themselves right in their cabinet.
You can take snapshots of their virtual machine at any time and restore its state from the snapshot if necessary. It is a handy feature when testing or creating a new service.
You can upgrade a virtual server by adding RAM, increasing the number of processors or storage capacity. Changes in server configuration will appear after rebooting the virtual machine.
Serverspace VPS data centers are located in the Netherlands, Belarus, and Russia. When creating a virtual machine, users can specify where they want to place their virtual servers.
After registration, a user gets a personal account, which can be refilled.
Unlike the Amazon AWS service, VPS providers typically allow you to refill your balance in different ways:
- Payments by invoice.
- Credit card payments.
- Payments via SSIS-system.
You can add a credit card to your account, so you won't have to enter your card data each time you make payment. You also can set up an automatic payment. Then, the specified bank card will be automatically charged on specified days.
Bills can also be issued using a personal account. There is an automatic payment option that issues bills on the days specified by the user.
Cloud services are provided on a prepaid basis, charging for every 10 minutes of servers' work. When an account runs out of money, its services get blocked.
The big difference between Amazone EC2 cloud instances and VPS virtual servers is long-term data storage. For example, everything recorded in the VPS disk space will be saved even after the reboot of the VPS provider servers. Meanwhile, the data placed in the EC2 cloud machine is stored in a local cache called ephemeral storage. In case of failure or reboot of Amazon servers, local cache data will be erased, and the same will happen even after a manual shutdown of the virtual server. All the settings of the programs installed by the user will also be lost. Therefore, you should store settings and data in other services - ESB or S3.
Keep in mind that all but the primary Amazon services (EC2, ELB) do not work outside AWS. If your entire IT infrastructure runs in the Amazon cloud, it will be challenging to move it elsewhere. There's also the risk of rate increases, infrastructure moving to another owner, provider liquidation, or operational restrictions. For example, Amazon has no data centers located in Belarus or Russia, so you cannot store the personal data of these countries' citizens in the AWS cloud. To store such data, you will need to use hybrid clouds.
Infrastructure built using Amazon EC2 is easier to scale. This cloud is suitable for hosting highly loaded web applications with many users around the world.
VPS hosting provides a broader choice of operating systems and has a more convenient, simple, and straightforward interface. Such services are commonly used for national projects, website hosting, software development, and testing for CMS systems hosting.
VPS provides a reasonable balance between price and features for most website and application owners.