What is a Cloud Server and What Factors Affect Performance?

March 16, 2018

What is a Cloud Server?

A Cloud server is server software that runs in a virtualised environment. Where instead of having one physical server to host websites or web applications for one company or individual. A cloud server is a virtual server that runs with other virtual servers on one or more physical machines managed by a Cloud vendor. These virtual servers can be paid for and used by different companies or individuals wanting to host their own project.

What are the benefits of using a Cloud Server?

Cost of Cloud Servers

The main benefit of using a cloud server over a physical server is that you can "rent" server in a sense because you do not own the physical server, you just own your partition of that server so therefore the costs of paying for space on a cloud server to host your website or web application is much less than if you were to go out and buy your own physical server and use that.

Cloud Server Maintenance

In addition, along with paying for a cloud server, you not only get your dedicated amount of storage and server specs that you pay for, but with most Cloud servers you also get a support team that looks after the maintenance of the physical server. This maintenance typically includes, carrying out updates on the hyper-visor, resolving issues with the physical server and managing connectivity. This gives peace of mind that your server is updated and secure and that if there is any downtime on the server or issues affecting physical server performance then usually the maintenance team's monitoring will pick this up and resolve the issue.

Cloud Server Expansion

Choosing to use a Cloud server over a physical server gives the user greater expand-ability for later down the line. This is because with a physical server if you wish to upgrade the storage or computational performance of the server you would have to find a compatible replacement part and upgrade the server, or go out and buy a whole new physical server, both of which are expensive options.

However, because a cloud provider partitions up the available storage and computational power into multiple virtual servers, if a user wishes to have more or less storage or computation power then more or less can simply be allocated to that user's virtual server from the cloud server. Even though this does still increase the user's bill to upgrade their virtual server, there is usually no initial cost for the upgrade and the cost for the upgrade is far less than if you were to upgrade or buy a more powerful physical server.

What factors affect a Cloud Server's performance?

Computational Performance of a Cloud Server

The computational performance of a server is measured by the hardware specifications that the server has. The main hardware components that affect a server's ability to perform computational functions is the CPU or processor and RAM or memory.

CPU

The CPU is the brains of the server and is responsible for performing tasks and executing instruction such as running database queries and processing the data.

The performance of a CPU can be measured by clock speed, measured in GHz, and can also be measured by the amount of cores that the CPU has. The clock speed of a CPU is how many instructions can be executed each second whereas the core count of a CPU is how many individual processors are in the CPU. Each processor or core in a CPU can carry out their own separate tasks while the other cores are busy, allowing for multiple tasks to be carried out at the same time (multi-tasking).

This means that if your website is mainly static HTML pages then high CPU usage most likely will not be a problem. However, if your website or web application runs multiple database queries regularly or uses a CMS to make active changes to the site then CPU usage will be of concern to your cloud server performance.

RAM

RAM is short term memory and is where data and instructions are stored temporarily so that they can be accessed quickly by the CPU and executed. RAM size is measured in Gigabytes (GB).

Much like the CPU, large amounts of RAM is only needed if your server needs to make active calculations/queries or changes to your server regularly.

Cloud Server Storage

The amount of storage a server has is an essential performance factor as if your server does not have enough storage and becomes full, then the server will no longer be able to store any data entries and basic tasks such as storing user order information will not be able to happen. However, if you have too much storage on your server then you will be wasting money on storage that you will never use.

Along with gauging how much storage capacity your server needs, it is also worth considering the read and write times of your server storage. The read/write times for a server come in useful when you need to transfer large amounts of data, either to or from the server, or between file directories in the server itself. If you find yourself needing to do large data transfers regularly then making sure your server's read/write times are up to scratch for your needs is a worthwhile investment.

Cloud Server Networking

When it comes to cloud server networking, this can be measured in two main ways, latency and bandwidth.

Latency

Latency is the time it takes for a packet to be transferred between the server and the user and is often measured in milliseconds (MS). Latency is usually limited by the geographical location of the server in relation to the user accessing the server as the further the server is away from the user, the further the data packet has to physically travel, therefore increasing the latency on packet requests and decreasing server performance. If you want to lessen the impact of the geographical factor, you can either have your cloud server located near to your geographical target market or some cloud server providers have CDN's which allows the content to be dynamically delivered from a server that is close to the user accessing your website or web application.

Not only is latency dependent on location, but packet routing (the route taken by packets through various different networks to get to the user) also plays a part in latency. The efficiency of the route taken by packets is a direct result of the network providers that the cloud has direct connections to.

Bandwidth

Bandwidth is usually measured in megabits per second (MB/S) and is the amount of data that can be transferred between the server and the user in a given amount of time. Sometimes cloud server providers will throttle (limit the bandwidth for a certain server or server(s)) in order to free up bandwidth for other servers. This throttling usually only occurs during peak hours when a lot of bandwidth is being used up due to the amount of traffic being received or amount of data requests being made on a certain server or servers. If the bandwidth for your server gets throttled regularly then this can significantly reduce the performance of your cloud server as your server will not have the capacity to transfer data fast enough for the requests the server is receiving. This is bad.

Summary

In summary, using a cloud server over a physical server is much more beneficial in terms of reducing costs, because you don't need to pay for a whole physical server, you can instead rent out a virtual server. Upgrading a cloud server's computational power is also much cheaper than paying to upgrade physical parts on a server. Along with the cost, you also don't have to worry about the management of your cloud server as updates and maintenance will be carried out by an experienced team.

However, make sure that if you do choose to use a cloud server, you choose the right cloud service provider for you. As you do not want to run the risk of having your bandwidth to your server throttled or have high latency to your server.

Here at BisonGrid, we offer High PerformanceFully Managed Dedicated Cloud Servers along with SSL Ceritifcates for YOUR site.

References:

https://www.rackspace.com/en-gb/library/cloud-vs-dedicated

http://vanseodesign.com/web-design/website-performance-server-hardware/

Need help with your next development project? Let’s talk.

Get in touch