Understanding Cloud Servers
There is a lot of talk about Cloud Storage, Cloud Computing, Cloud Servers, and related things that can be accomplished in the pervasive land of distributed, abstracted computers.
Cloud = “Someone Else’s Computer”
LuxSci offers the option of running on dedicated servers in the “cloud”, in addition to the more common options of running on shared server(s) and on physical dedicated servers. However, this all begs the questions: “What exactly is a cloud server?”, “How powerful is it?”, “How reliable is it?”, and “When is a Cloud Server a better solution than a Physical Dedicated Server?”
Here we answer those questions for you.
What Exactly is a Cloud Server?
A cloud server is a “virtual machine” which runs on one particular physical host server (a.k.a. as “hypervisor”). The host server is generally big and powerful, and can run many virtual machines at once. So, your cloud server/virtual machine will typically be sharing the same underlying hardware with other virtual machines.
What makes these virtual machines “Cloud-like” is that you never have to know anything about the physical server on which your cloud server is running. In fact, your Cloud Server can be seamlessly moved from one physical server to another (minimal or zero downtime). Additionally, the capacity (memory, disk space, and CPU power) of the Cloud Server can be modified as needed without altering anything at the hardware level. Cloud Servers can also be provisioned (created) and taken offline “at will” as the underlying hardware is always there and the addition and removal of virtual machines is completely automated — one merely needs to configure the new cloud servers once they are online.
A Cloud Server:
- Is a virtual machine that runs on a single physical host server
- Can be migrated to new host servers as needed
- Can be scaled up or down in capacity, as needed
- Is, from a software point of view, identical to a physical dedicated server
- Shares the physical hardware of the host server with other virtual machines
- Does not run on multiple host servers at the same time — i.e. there is no multi-server or multi-data center redundancy built into a single Cloud Server. Redundancy must be obtained using multiple Cloud Servers or redundant hypervisor clusters.
How Powerful is a Cloud Server?
This will change in time as the underlying dedicated host servers (hypervisors) that run the virtual machines become increasingly powerful. The host computer/hypervisor “subdivided” into parts based on what virtual machines are running on it and how big they are. For example, the “Standard / General Purpose” virtual server options at Amazon EC2 include:
|1 Core||1 GB||Micro||up to 70 Mbps|
|1 Core||2 GB||Small||up to 125 Mpbs|
|2 Cores||4 GB||Medium||up to 250 Mbps|
|2 Cores||8 GB||Large||up to 400 Mbps|
|4 Cores||16 GB||X-Large||up to 700 Mbps|
|8 Cores||32 GB||2X-Large||up to 1000 Mpbs|
- 1 “Core” is 1 cpu “processor”. In modern servers each actual CPU is comprised of multiple “cores” than can operate in parallel. If your cloud server has “1 core,” then you get to use only one of these at a time.
- Network speed is skewed to give the smaller machines at least a reasonable speed and to give the larger machines close to the full available capacity of the hypervisor. However, there is obviously capacity sharing going on here.
How does the scheduling of CPU actually work?
Each Cloud Server is assigned a fixed weight based on the size. So a 2 Core server will generally get 2x the CPU cycles that a 1 Core server would have access to. However, if there are free cycles on a hypervisor, all Cloud Servers may have the opportunity to “burst” and consume more CPU. This creates a leveraged environment that allows smaller Cloud Servers to likely consume cycles as needed, but still protects larger Cloud Servers that require higher loads.
How does scheduling of disk I/O work?
These days, most cloud servers use disk space attached from an external storage array (i.e., a SAN or similar solution such as “Cloud Block Storage”). The I/O capacity available to your server in these cases is a function of the connectivity to this storage system, the underlying storage solution (e.g., SATA, SSD, RAID level, number of drives, etc.), and what you may have purchased. It does not directly relate to your server “size” except in so far as your server may be “too small” to keep up with the data throughput/processing requirements placed on it.
Some cloud servers use storage located directly on the host hypervisors. This is usually faster and less expensive storage. However, the disk I/O capacity is shared directly by all cloud servers run on that hypervisor and the larger your cloud server instance, the more priority your I/O will typically have.
How Reliable is a Cloud Server?
Cloud Servers are only as reliable as the underlying host server hardware. However, there is no built-in protection against the failure of the underlying server (hypervisor) hardware. If its CPU or RAM should fail (or network card, or motherboard, or some cable comes loose), for example, that failure would cause downtime for all Cloud Servers on that host. In fact, should the underlying hardware develop issues, all Cloud Servers may need to be migrated to a new host server — with the downtime that a migration may require. However, the processes are all automated, including a migration to a new server if warranted. All of the hardware is standardized, so the detection of any issues and replacement of any problem components is very simple.
Additionally, since the underlying hardware is shared with other Cloud Servers, it is possible that some Cloud Servers could be starved for resources by other Cloud Servers under some scenarios. For example,
- If other Cloud Servers on your host are all using a lot of bandwidth, then some instances may have less bandwidth available to them than otherwise. This may make network connections seem slower.
- If other Could Servers on your host, especially larger ones, are using a lot of disk I/O, then disk I/O for your Cloud Server may be slower than otherwise. This could be problematic if your application is I/O intensive (databases and email are resource intensive, for example).
- If your disk storage is on a SAN or “Cloud Block Storage,” a similar issue of I/O starvation can occur if other processes that use disk space in on the same physical drives that your storage is allocated on are overusing that storage space.
Finally, in addition to problems with the underlying hypervisor hardware, issues can crop up in the storage array. Disk drive failures can cause degraded performance. Multiple concurrent disk failures can cause data loss. Use of a cloud does not completely protect you from disaster; however, it does place proactive maintenance and capacity planning into someone else’s hands.
So in summary,
- The larger your Cloud Server instance is, the more reliable and consistent the server is.
- A single Cloud Server is less reliable than an single physical server (because you are sharing).
- More reliability can be had by using multiple Cloud Servers for redundancy or load balancing (as with Physical Servers).
When is a Cloud Server a Better solution than a Physical Server?
This depends on how the pros and cons work out for your particular situation.
Cloud Server Pros:
- Most economical option. Since the underlying hardware is standardized, even a 100% size Cloud Server, where the entire host hypervisor is utilized by just your Cloud Server, can be cheaper than a similar physical dedicated server outside of the Cloud. Certainly smaller-sized Cloud servers are extremely affordable.
- Easy to upgrade or downgrade. Cloud Servers can be upgraded or downgraded to other sizes with just the touch of a button and a few minutes of downtime. This is much simpler than with a Physical Server, where upgrades may require downtime and/or migrating to a new server with requisite costs. With Physical Servers, a downgrade is also not usually an option.
- Good contract terms. Since the provisioning and de-provisioning of Cloud Servers is automated (i.e. no hardware needs to be deployed or removed), it is very fast to setup or remove a server. As such, Cloud Servers are billed as a commodity (i.e. by the hour or minute). LuxSci provides favorable terms where Cloud Server accounts can be closed with little notice.
Cloud Server Cons:
- No Bulk Mailing. To prevent the IP addresses associated with the Cloud Servers from being “tarnished” by Spam blacklists, there is always a very strong no-bulk-mailing policy on Cloud Servers (and this applies to all Cloud Servers in general, including the Amazon Server Cloud). If you need to send bulk mail of any kind, you will need a different kind of environment. LuxSci has a special architecture that works around this limitation of Cloud Servers to allow reliable email delivery.
- Shared Hardware: The shared underlying hardware could result in decreased performance in some cases. It is also technically less secure/private to share hardware than not to share hardware. I.e., you should not put an application that must be PCI-compliant on a Public Cloud Server.
- Bandwidth. Outbound network bandwidth is metered in that you pay for what you use. If you need to use lots of bandwidth (i.e., 500-1000+ GB) each month, it may be cheaper to get a Physical Server (or a LuxSci Enterprise Class Cloud Server) where the first several Terabytes of bandwidth included.
- Network Connectivity. With the largest Cloud Servers, you can have essentially a 1 Gigabit connection to the Internet as a whole (a saturated 1 Gbps connection only gives you 600-750 Mbps of bandwidth in practice). Smaller Cloud servers have limited network speeds.
- Complex Scenarios. If you require hardware load balancing, hardware firewalls, or other advanced configurations, you will want a Dedicated Server, rather than a cookie-cutter Cloud Server.
LuxSci has an Enterprise Class Cloud Server option that solves many of the shortcomings of Cloud Servers in general (which include LuxSci’s Business Class Cloud Servers). In particular:
- Hardware Issues. Enterprise Class servers use a cluster of hypervisors instead of a single one. If there should be a hardware issue, your server is instantly rebooted onto another good hypervisor. You suffer from less than a minute of downtime in the case of hardware failure instead of minutes or hours.
- Private Cloud. The cluster of hypervisors is private to LuxSci and LuxSci’s customers. This provides a much greater level of security. The risk of customers in one server exploiting and attacking customers in another server hosted on the same hypervisor is dramatically reduced compared to the use of public cloud servers.
- Disk I.O. LuxSci’s hypervisor clusters are directly and redundantly connected to a high-speed encrypted private storage area network. Disk I/O speed is much higher than with public cloud servers.
- Network Bandwidth. LuxSci has a very large reserve of available outbound bandwidth. As such, we give each Enterprise Class server 10,000 GB of outbound bandwidth per month, included.
- IP Addresses. The IP addresses of LuxSci’s Enterprise Class servers are not gray-listed or tainted. They are great for sending email. LuxSci also has a special solution for its Business Class cloud servers that serves the same purpose.
Ask LuxSci for a free consultation.