News

Is it worth having your own server? Advantages & Disadvantages

An own server or vServer on the Internet requires a lot of know-how and continuous work. If you can avoid it, I advise against running your own server on the Internet. For running a website I recommend shared web hosting, or if the demands are higher, to use managed web servers. Good shared webhosting costs 5 – 10 Euro per month and good managed vServers you can get from about 15-30 Euro. Shared webhosting and managed webservers are an enormous work relief and my personal choice for almost every web project.

But if you want to run very special server applications, you often have to choose your own server. Instead of a dedicated server, I recommend virtual servers (vServers) from provider like Virmach in most cases, see a review at peer-server.com. With vServers, the computing resources can be much better adapted to the resources actually used. Also, vServers can be more fail-safe if you are with a good provider. A hardware failure can paralyze a dedicated server for hours, while vServers (depending on the provider) can move to another physical server within seconds.

Disadvantages of an own server

Disadvantages of an own serverYou have booked your own server quickly, but setting it up and running it is a lot of responsibility. Because with your own server you can be held liable for any malfunctions (e.g. sending spam).

  • Secure configuration of server applications: Unfortunately, many server applications are configured insecurely by default. Therefore you should check for each server application which security measures have to be taken.
  • Security updates: New security holes will appear in the operating system as well as in the installed software. You must therefore ensure that security patches are applied immediately to all software on the server.
    Firewall, intrusion detection system, etc.: In addition to securely configuring applications and installing patches, appropriate security software such as a firewall or intrusion detection system should be installed and securely configured.
  • Protection against denial-of-service (DoS) attacks: Servers are repeatedly the target of attacks that aim to overload your server. This can happen, for example, through botnets that send millions of requests to your server. If you operate your own server, you should have a strategy to detect and fend off these DoS attacks.
  • Backups: Ideally, you should create daily backups of your server. The backup should not be stored on the same server, otherwise an attacker can delete your data and your backups. Instead, you need an external storage facility for the backups, e.g. a second server. The backups should be secure even if an attacker has broken into your server.
    Monitoring system logs: How do you know that there is no attacker on the server? You need to have a strategy to check the system logs for unusual entries that could indicate an attacker.
  • Availability monitoring: It will happen that the server goes down. This can be a hardware failure, a failed update or a targeted attack from outside. So you need to make sure that all services are available by using server monitoring software. In case of an outage, you should consider how quickly you can react to fix the problem. Also keep in mind that the failure might happen at night, on weekends, or during your vacation.

An own server is too much effort for me personally, especially because failures always happen at the most inconvenient times. Therefore I use shared web hosting or a managed web server for almost all web projects. Only for a few special applications, which are less critical, I rent appropriate vServers.

Advantages of an own server

Advantages of an own serverIf the above points have not scared you off, or you have special requirements, an own server / vServer brings the following advantages:

  • Running any server applications: With shared web hosting and managed servers, you have to use the server software provided by the provider. Installing your own server applications, such as a Redis server, is usually not possible. This is also the main reason why some people decide to run their own server.
  • Better performance through individual configurations: Shared web hosting and managed servers usually come with a configuration that can be used flexibly for as many customers as possible. Special customizations are not possible. Provided you have the knowledge, you can get a significant performance boost by configuring the server applications. However, if you leave the configuration in the factory settings, it can backfire: For example, you should make some adjustments to MySQL to get a fast database server. Without these adjustments, the MySQL server may be very slow, slower than managed servers.
  • Server caching mechanisms: Caching mechanisms are often quite limited with shared web hosting / managed servers. As long as you understand your business application, you can get a significant performance boost by using appropriate caching mechanisms. Popular caching mechanisms for web applications are e.g. Varnish or Fastcgi-Cache from nginx. However, setting up caching mechanisms can require some technical knowledge.

Dedicated server vs. virtual server vs. cloud server

For your own server, you can choose between the following variants:

  • Decentralized server: With the decentralized server, you own a physical server in the provider’s data center. You can use the complete hardware power for your applications. You can get good dedicated servers from 40 euros / month.
  • Virtual server: With virtual servers (vServer), several virtual servers are operated on one physical server. This allows you to book servers with fewer resources. For example, at netcup you get good vServer from about 3 euros per month, which I also use myself for some projects.
  • Cloud Server: The border between virtual and cloud server is fluid: servers in the cloud, for example at Amazon Web Services or Google Cloud, are also virtual servers. However, cloud servers are usually characterized by the fact that the performance is billed by the hour or minute. Likewise, one should be able to easily increase or reduce the server’s capacities.

In most cases, I advise virtual / cloud servers. This is due to the disadvantages of dedicated servers:

The required computing power (CPU, RAM and hard disk) must usually be known in advance. A change is not easily possible due to long contract periods and sometimes high setup fees. An extension / reduction of the computing power often means that you get a new server in the data center. You have to set up this new server again and migrate your data. Hardware problems: If there are hardware problems on the server, this usually means longer downtimes. This is because the hardware problem must first be fixed before your server is back online. Similar to a home PC, you can be unlucky and get a server where the hardware often breaks.

You don’t have these problems with good vServers / cloud servers offers. Many providers have gone over to offering short runtimes, e.g. there are many providers who bill vServers on an hourly basis or even on a per-minute basis. An extension or reduction of the computing resources is often easily possible. This expansion / reduction often works with minimal disruption to your server, as the virtual machine simply need to be allocated more resources. A new installation of the server or a migration of the data is spared to you in such a way.

Since you don’t have a fixed physical server with vServers / cloud servers, hardware problems can be responded to much better. Well-known cloud providers (such as Amazon Web Services – aws.amazon.com) simply move the vServers to another physical server in the event of hardware problems. This way, your server is only down for a few seconds in the event of a hardware failure, while a hardware failure on your dedicated server can cripple it for hours.

vServers used to have a negative image because the computing resources have to be shared with all customers. If you are unlucky, the vServer of another customer consumes a lot of resources and your server becomes correspondingly slow.

However, virtualization software has evolved significantly over time, so the good providers can assure your vServer a certain performance. Extreme performance drops or fluctuations are rarely or never noticed. With the cheap providers, however, it is unfortunately still a problem that sometimes too many vServers share the same physical server. This can lead to poor performance at peak times.

Managed Server

Since running your own server is quite labor-intensive, many providers offer managed servers or managed vServers. Here you get the full power of a server / vServer, but the management of the server is the responsibility of the provider. Also, the provider usually takes care of daily backups, which are securely stored on external storage media.

Usually, these managed servers are designed for running web applications. On the server is preconfigured appropriate software (web server, database server, e-mail server) and you can make certain settings via web interface, e.g. create e-mail accounts or manage domains. The provider takes care of the maintenance and security of the server. Therefore, with managed servers it is not possible to install your own server applications or to change the configuration of the applications extensively.

For most users a shared web hosting offer is absolutely sufficient. I also use corresponding shared hosting plans for my projects. Upgrading to a managed web server is recommended if you generate significant revenue from your site or if your site’s requirements are too high for shared hosting plans. A managed web server usually leads to less server downtime, since you can book the resources you need. Likewise, the switch often leads to faster loading times.

An accelerated load time should not be underestimated. Amazon found out that already a 100ms longer loading time leads to a 1% loss of revenue. Google or Mozilla Firefox have also been able to determine a strong correlation between loading speed and the number of page views.

I would recommend switching to a managed web server for online stores with a turnover of 5000 Euro / month or more. For content websites, e.g. based on WordPress, I would recommend the switch from about 200,000 page views / month. Of course, these are only rough guidelines, but if you stay below this limit, you are usually in good hands with shared hosting plans.

Managed vServers are particularly well suited for beginners. These are comparatively inexpensive, starting at 20 euros per month.

What features are important for managed servers?

The most important criteria when choosing a managed server are (sorted by importance):

Competent server administrators

The best CPU or the most RAM does not help if the server administrators of the provider are not able to operate and maintain a fast, secure and highly available web server. The system used on the server should be appropriately secured and optimized for performance. Likewise, the provider should react quickly to malfunctions to ensure smooth operation. Unfortunately, this criterion is difficult to check before buying. I would therefore look for short contract periods and consider an appropriate move in case of problems.

Working memory

One of the most important technical criteria when choosing a managed server is the available RAM. More RAM can give your server a significant performance boost if configured correctly (see point 1). If the server is configured correctly, the database can hold important tables and table indexes in memory. Likewise the PHP cache can be used and the finished compiled PHP files in the working memory be held ready. Since the access to the slow hard disk is omitted, you can achieve an extreme acceleration. Ideally, all PHP files and your database fit completely into the RAM.

After the main memory, the computing power is the most important component. Since a server tends to have to process several calls in parallel, it is particularly advantageous if the server has several CPU cores. This way, the work of the various calls can be conveniently distributed across the different cores. The clock frequency of the individual cores is then of secondary importance.

Hard disk

Many providers advertise with especially large hard disks in the terrabyte range. However, if you do not use the server to store large files, e.g. movies, then the hard disk space is of little use. As explained in the article Most important criteria for good web space, the storage requirements for many websites are much lower than you think. Even large webshops often manage quite well with 10GB of disk space. Much more important than the size of the hard disk is the type of hard disk. SSD hard disks offer much faster read and write access. Ideally, however, the server comes with enough RAM to be able to permanently store all important data in the RAM. In such a case, the read speed of the hard disk is secondary.

Costs of a managed server

The price depends largely on the required resources. Good managed vServers start at about 20 Euros per month. For a dedicated managed server you should plan at least 100 Euro per month. My recommendation is to start with a managed vServer, ideally from a recommended provider. When choosing a provider, you should make sure that you can easily increase the booked resources to find out step by step how many resources you actually need.

The resource requirements depend largely on the applications, the number of users and the caching mechanisms used. If I run this website (which is based on WordPress) on a vServer with a 1 CPU core and 1 GB RAM, the server can handle about 10 calls per second. This is equivalent to 36,000 calls per hour. If I activate a WordPress caching plugin (e.g. W3 Total Cache), the server manages 40 calls per second (144,000 calls per hour).

Of course, these values can vary greatly depending on the application. If only static content is delivered, a well configured server with 1 CPU core will easily manage 10,000 calls per second. If you have a very complex database or a poorly optimized web application, the one CPU core may only manage 2 or 3 calls per second.