Podcast with Thijs: “Don’t throw servers at the problem”
In a conversation with podcaster @Edd_mann, Thijs Feryn explained how the (hosting) wheel does not always need to be reinvented and why you should not necessarily replace a stable hosting environment with a new one, just because you can.
From a more technical point of view, he also examined how systems such as Packer, Vagrant and Terraform allowed him to work vendor agnostically. Here are some excerpts, which will probably make you want to listen to the full podcast!
How it all started for Thijs
Thijs Feryn needs no introduction. He earned his title as “Combell tech evangelist” by explaining the benefits and possibilities of PHP at many meetings as an active member of the PHP community. And also by making it clear that Combell closely follows the latest developments in the field and implements them in its hosting range.
In the podcast, he explains how it all started: how he graduated in 2004, but also how, thanks to his excellent language skills (Dutch, English, French) and his knowledge of PHP, he started working for Combell as a support engineer – a task that suited him perfectly, because Thijs loves both technology and people.
The problems he solved mainly revolved around installing stacks and producing reliable code. But they were always individual solutions. And although Combell had very few employees in those early years, it was decided that Thijs would devote himself entirely to spreading his expertise to the entire community.
And Thijs has been doing this ever since with great enthusiasm: he has been blogging/vlogging for the past 7 years, is a very popular speaker and was (until recently) co-organiser of the PHP Benelux conference. You can follow his adventures on his own blog (Feryn.eu). Thijs has also become an expert in caching tools (especially Varnish) and, at the request of the renowned tech publisher O'Reilly, he wrote a book entitled “Getting Started with Varnish Cache”.
A stable hosting environment does not necessarily need to be replaced
In his conversation with @Edd_mann, which was recorded for the podcast, Thijs mentioned the term “Snowflake server”. Just like every snowflake is unique in structure, every server is unique, custom built, and therefore difficult to replicate.
He explained how, at Combell, different hosting customers hold on to their current VM environment. Because it works, and the customers want stability. If anything needs to be changed, the technical team will be happy to do so. “Combell focuses on what the customers need, and we try to guide them towards the 'best practices', i.e. automation of the configuration. But on the other hand, it is really not necessary for existing customers to change everything and replace an environment with a new one just because it can be done. Never change a winning team”, says Thijs.
It is not necessary to change everything and replace an environment with a new one just because it can be done. Combell focuses on what the customers need. [Thijs Feryn]
But what about the changing demands of today's 'always on' Internet, where servers have to cope with all the peaks and the increasing demand? Many see a benefit in working with dynamic resources. But Thijs has a number of reservations about this. “When you enter the world of public cloud (AWS, GCP, Azur) with a traditional mindset, it can become an expensive business scenario.
The power of public cloud clearly lies in the fact that it allows you to 'schedule' your own dynamic resources. But this requires advanced knowledge of the platform and the tooling available to measure and handle the load. The application must also be designed in such a way that it can easily respond to automatic scalability. If that knowledge is lacking, or if the project is not appropriate, you will step into a model known as a ‘lift & shift’ model, in which the current situation is replicated in the Cloud. This is too expensive, and that is where managed hosting can be a good solution.”
Managed hosting at Combell: you are not alone
Thijs argues in favour of the use of VMware: “People often portray VMware as a traditional solution, but it is battle-tested. A set of VMware servers is extremely stable, can handle a high load, and can be more budget-friendly. For applications with limited resources, this ‘old’ approach is still very efficient, and scalability based on periodic peaks is certainly possible.”
The main benefit of managed hosting at Combell is that the customer is not alone and receives expert advice. If, for example, the customer needs more resources, then the whole picture is taken into account. Why do we need these extra resources? Is a particular app using too many resources? “If a problem arises, you should not immediately change the infrastructure, because that costs money. It is better to look for the same feature but less infrastructure, i.e. addressing the root of the problem.”
And that is what Combell takes care of. “When it comes to the infrastructure, we focus on optimising your stack. An extra layer of caching may be necessary. This could reduce the footprint on the infrastructure and would therefore be a cheaper option. Application Performance Monitoring tools allow us to identify the hotspots of your application, so that we can advise the developers on how to optimise certain parts of the code. Some of the code's inefficiencies only become apparent when the load peaks, because the delay cannot be perceived when the load is low. Load tests enable us to identify specific hidden hotspots.”
Thijs has turned his motto “Don't throw servers at the problem” into a matter of honour. “Hosting is indeed our core business, but it is not our intention to sell too much hardware to our customers”.
New tools ensure automation without lock-in
In February of this year, Thijs held a talk at the PHPUK 2018 event. The theme was “Build, Provision and Deploy in the Cloud”. Some of the more technical topics he dealt with in his presentation were also discussed during the podcast conversation.
First of all, Thijs emphasized the fact that you need automation to keep your server infrastructure running smoothly. The time when people were ‘going on the Internet’ is now over, as everyone is constantly online, which means that everything has to run smoothly all the time. The Internet is also constantly expanding, with more and more servers being added. It is quite a challenge to manage them in order to maintain the resources and configuration of the infrastructure.
Standardised tools such as VMware, AWS (Amazon Web Services), Microsoft Azure, Google Cloud Platform and OpenStack are often used for this purpose, but they are usually designed to work with a particular infrastructure. Thijs discovered, however, that things could be done differently. With tools such as Packer and Terraform, for instance, you can set up the infrastructure automatically, without any vendor lock-in issue, in a cloud-vendor agnostic manner.
With Terraform, for example, you can manage and combine the entire stack of resources without being dependent on a specific cloud provider. However, this requires the specific features of this cloud environment to be supported by Terraform, which is not always the case.
“This, however, has a major consequence: sysadmins have become developers, and infrastructure has now become code. But if everywhere in the world sysadmins keep writing code to build an infrastructure, why not work with modules that can also be used by others? Why not write a script to automate these tasks?” says Thijs.
Sysadmins have become developers, and infrastructure has become code. [Thijs Feryn, Combell evangelist]
With cloud automation tools, you do not have to reinvent the wheel over and over again. They offer configurable modules that allow you to set up certain cloud components very quickly. Terraform e.g. offers open source modules that you can download from the Terraform registry. For more information on how these tools work, please listen to the podcast and/or visit the websites of Ansible, Terraform and Packer.