Selfhosted Server as a Service - what you should know!

Selfhosted Server as a Service - what you should know!

For several years now, we have been maintaining a large number of different servers for various companies and institutions such as Dräxlmaier, Mitsubishi Chemical Advanced Materials, Karlsruhe University of Applied Sciences or the Bavarian State Sports Association. In this cooperation we regularly come across challenges of various kinds in the field of web and would like to go into some tools and terms in more detail.

High availability

A system is highly available if it can still be accessed despite the failure of one or more components and can be used without immediate intervention. To realize this, the following conditions must be observed: 

Single Point of Failure

One speaks of a Single Point of Failure, when a failure or malfunction of a single component renders the entire system inoperable. A possible Single Point of Failure must always be avoided.

Redundanz

Identical or comparable systems exist at least twice. In technical terms, this ensures that the provision of these services remains available even in the event of a fault in one area.

SOLUTIONS FOR INDIVIDUAL SERVICES

Multi-Webserver

To ensure the availability of your web pages even if a web server fails, more than one web server must be available. Apache or NGINX as web server can make this possible behind a load balancer, which checks the availability and function of each web server.

Database cluster

A database cluster is an association of several database servers, which all maintain the same data. Due to the redundancy between all servers in the database cluster, it is possible that if one database server fails, the other participants take over its tasks. Suitable database software includes MariaDB-Galera and PerconaXtraDB. The web servers can be connected to this cluster using ProxySQL or HAproxy
 

Filesystem cluster

A file system cluster is a file system that allows access to shared directories in a server group. By keeping files on several servers, they remain available even if one server in the cluster fails. A file system cluster is accessed by all servers that need files from these file shares. File system clusters include, for example, GlusterFS or CephFS.  

High performance

With a fast website you can only win! Your visitors will feel comfortable and search engines such as Google will thank you for this with a better search engine ranking. There are a few points to consider to tickle maximum performance from the available hardware.

Load balancing

For example, large volumes of requests are distributed to several systems working in parallel. Thus, requests can be processed simultaneously and the utilization of the individual components behind the load balancer can be controlled. These include, for example, the HA proxy, Google Seesaw or F5 load balancer.

Profiling

Profilers are programming tools that help the developer to analyze and compare running programs. In this way, performance and resource requirements can be checked and problem areas detected. Profiling should always be the first step towards high performance. If this analysis and optimization is missing, it can only be accomplished with hardware. In the long run this is very expensive. One such profiling tool is Blackfire, for example.

Caching

With caching you can cache recurring events of tasks and requests. For future requests, the data already available can be accessed. Retrieved or already calculated data can thus be delivered and processed much faster. Such caches are for example MemCache, QueryCache, Redis or Varnish. For TYPO3 the extension staticfilecache is recommended. Caching is a basic requirement for speed!

Security

One of the most important aspects of server maintenance is security. One wants to protect oneself around the clock against hacks, unrecognized cryptomers or loss of personal data. But you also need certain procedures and tools.

PROVISIONING

A big problem are so-called "snowflake servers". The term describes the situation that all servers are actually the same, but on closer inspection differences become apparent. Such a state can lead to problems in maintenance or further development. The solution for this is provisioning. Here the configuration of a server is stored as code in text form. From a program such as Ansible, Puppet, Chef or Saltstack the configuration is then rolled out to the desired servers. This procedure ensures that services and tools are configured the same on all servers. This code also provides complete technical documentation of the servers. A new installation, e.g. on new hardware, takes only a fraction of the time otherwise required with the help of existing provisioning.

Personalized Monitoring

In order to be able to look after servers with foresight, monitoring with personalized tests is a good solution. In the best case, meaningful test scenarios can be used to identify potential problems in advance. Furthermore, it is our claim to identify problems before our customers! Tools like Nagios or Icinga, as well as Zabbix are suitable for this.

Backup

A backup is defined as a backup copy that holds all required data in case of a system failure or data loss. This data can be copied back or restored at any time. A so-called restore of data from an older point in time is therefore also possible. There are different backup methods like a full backup with all files or an incremental/differential backup which contains only partial backups. It is also very important to test a backup, so that you will not be surprised in case of an emergency. An untested backup is in the worst case simply data garbage.

Disaster Recovery

Disaster Recovery means a recovery in case of a disaster. A disaster is for example a complete failure of hardware. A critical point here is the recovery of no longer usable infrastructure or hardware in the shortest possible time. The REAR (Relax and Recover) tool is used for this purpose.

Do you have any further questions on this topic or a concrete need for an infrastructure analysis? Martin Huber will be happy to assist you personally.

Martin Huber

Support for the server infrastructure?

Do you need assistance in managing your web infrastructure?

Our specialist for complex infrastructures Martin Huber will be happy to help you.

Martin Huber  |  Management Server Team & CTO

Commend International: Security-Audit, AI-Integration & TYPO3 v13 Launch

This could actually start a joke: A penetration test, an AI integration project, and a TYPO3 launch walk into a bar. But what's really going on is explained in our case study.

Go to news
Commend Communication Solutions - e.g. for offices

Helmholtz Munich Consolidation 2025: 6 launches in 7 months, massive budget savings and a 15-fold performance boost.

In 2025, Helmholtz Munich faced a mammoth task: migrating a historically grown, fragmented web landscape to a central TYPO3 v13 system while maintaining full operations. The result after a year of...

Go to news
Research in the medical field

No more chaos when the office is full - this is how we organize our team weeks

A large part of our team now works remotely, and we are proud that this way of working works so well at in2code. Nevertheless, it is important to see colleagues and employees in person on a regular...

Go to news

Behind the scenes: A conversation with Peter, team lead of the TYPO3 Localization Team

The TYPO3 Localization Team ensures that TYPO3 is understandable and accessible worldwide - but not in the way many people think. We spoke with Peter, team lead of the Localization Team, about...

Go to news

The future of websites in the age of generative AI

“The Internet is dying - not slowly, but now” headlined the FAZ last week. Until four weeks ago, I would have disagreed. Until I analyzed the traffic data of our university customers over the last few...

Go to news
Ein humanoider Roboter zeichnet mit einem digitalen Stift auf eine leuchtende, transparente Oberfläche und symbolisiert damit die Gestaltung und Entwicklung von Websites durch Künstliche Intelligenz.

in2code becomes part of the partner network for Government Site Builder 11

in2code is the implementation partner for Government Site Builder 11. Together with Materna and other specialists, we bring TYPO3 expertise to the federal administration.

Go to news
Gruppenfoto der Partner des Government Site Builder 11 (GSB 11) bei einem Treffen. Zahlreiche Personen stehen und knien lächelnd für die Kamera auf einer Terrasse mit Blick auf eine begrünte Umgebung und ein Stadion im Hintergrund. Die Stimmung wirkt kooperativ und professionell