I’m on my way to Dublin where I’ll take the AirCoach bus to Cork. For the coming two days, the local university will be the venue for DrupalCamp Cork. Judging from the list of participants, Drupalcamp Cork is going to be a nice, small gathering of Drupal users from all over Ireland. I like it already.
Tomorrow, I’ll participate actively by giving a talk. I’ve submitted it as “Building a high-performance system stack” but I’ll shorten the title to “Supercharging Drupal”. In this talk, I’ll cover the most common ways of optimizing Drupal performance on the hosting layer.
I’ll also see if there’s an opportunity to demonstrate how easy it is to launch a website on freistilbox.
If you’re in Cork for DrupalCamp, be sure to say hello to me! Who knows, I just might invite you for a beer. And if that’s not enough: Order your new freistilbox cluster during the conference through me and get the first month for free!
07 Nov 2013
One of the most important keys to website performance is caching. That’s why freistilbox includes multiple caching services, first and foremost the Varnish HTTP cache. On our load balancers, Varnish stores all the content your web application allows to be cached. During the lifetime of the respective cache content, Varnish answers incoming requests right from its memory cache instead of forwarding them to the application boxes. This speeds up delivery by orders of magnitude.
But what about these requests that can’t be cached? Of course, not everything can be delivered from the cache all the time. Before it can be cached, content needs to be generated by your web application at least once in a while. So a certain percentage of web requests must be processed by your application. Each request your application receives is assigned to a single Processing Unit (PU). This PU then executes your application code in order to process and respond to the request.
The number of simultaneous requests that can be handled is limited by the total PU available to your freistilbox cluster which in turn depends on the size and number of boxes that make up your cluster. Up until now, these were the effective PU limits for our freistilbox sizes:*freistilbox S: 5 PU
- freistilbox M: 15 PU
- freistilbox L: 35 PU
- freistilbox XL: 75 PU
After a number of small freistilbox setups experienced occasional overload, we realised that with 5 PU, a single freistilbox S just doesn’t have enough capacity for production websites (except the most static ones). Since modern web browsers open multiple connections to fetch different assets in parallel, even only a single visitor could use up all five available Processing Units and block the website for everyone else. That’s why we recently started to advise customers not to use a single freistilbox S for production websites.
That didn’t feel right, though. There shouldn’t be even a single freistilbox configuration that isn’t up to the task. So we decided to increase the PU limits on freistilbox S, M and L. The new specs are as follows:
- freistilbox S: 10 PU (+5)
- freistilbox M: 25 PU (+10)
- freistilbox L: 40 PU (+5)
With 10 PU, a single freistilbox S still won’t be powerful enough to run a busy community website but it should now have enough capacity to reliably serve a medium website that has a decent cache hit ratio.
Oh, and all existing freistilbox customers have already been auto-upgraded!
freistilbox with more power — for the same price. What’s not to love?
What do you think? Leave us a comment below!
17 Oct 2013
Last week, Markus and I returned from DrupalCon Prague back to our desks in Germany and Ireland, respectively. It was a fun event and I’d like to tell you about my personal highlights.
First of all, DrupalCon is the biggest event for the Drupal community and the perfect opportunity to see and meet all the people that make Drupal a great open source project. Actually, meeting people was the main reason I flew to Prague. Especially in terms of customer contact, talking in person can’t be beat. The more if they praise our services in front of a lot other Drupal business people. ;-) That’s why I had a great conference start at the CxO meeting on Monday.
The fun continued early Tuesday morning (sadly, too early for many) with “Tutti fan’ Drupal”, a musical play “in which ‘The N00b’, a young, inexperienced web developer meets ‘The Client’ who needs a website”. The hilarious piece also featured “The Drupal Community on a Bad Day”, “Drupalgeno and Drupalgena” as well as “The Drupal Community on a Good Day”. I had a lot of laughs and learned that the highly sought-after “Drupal Talent” also includes fabulous singing voices.
Later, in his “State of Drupal” keynote, project founder Dries Buytaert explained his vision: “Drupal is bigger than technology. It’s an idea.” So, before going into detail about what’s happening around the next major release of Drupal 8, Dries listed what he sees as the most important drivers for our activities:
- “We’re changing the world.”
- “We help individuals build a dream.”
- “We give small organizations a big voice.”
- “We give enterprises a new idea.”
- “We inspire wonder and delight.”
- “We admit no boundaries.”,
Especially for me as someone who isn’t directly involved in Drupal development, it was highly interesting to see what technological changes Drupal 8 will bring. And I was amazed by the community support this new release enjoys: With more than 1600 contributors, Drupal 8 in its current pre-alpha stage already has more than twice the number of people involved than Drupal 7 when it was finally released!
The second reason I attended DrupalCon was because I had volunteered to curate its DevOps session track. For months, the DrupalCon content team had done a lot of work to make sure that conference attendees got to select from a wealth of high-quality talks on many different topics. I’d like to thank all speakers I got to work with before and during DrupalCon for their willingness to stand in front of a crowd and share their knowledge. After all, sharing is an integral part of DevOps culture.
During the week in Prague, Markus and I had many valuable conversations with our customers. Not rarely, we got critical feedback on our Drupal hosting platform. While criticism isn’t as easy to accept as praise, it’s essential for us in order to achieve better service quality, so we appreciate your constructive openness.
Although Prague was my third DrupalCon, it was the first time I attended Trivia Night on the last conference day. Organised by my new home team, Drupal Ireland, this entertaining event drew so many Drupalistas to the Hilton Hotel that we ended up sending away people because the room was stuffed with more than 100 people. Alan, you did a tremendous job as MC!
As it is tradition, at the end of this DrupalCon the location of next year’s DrupalCon Europe was announced and we’re looking forward to see what the passionate Dutch Drupal community has in store for us. Another important European event, the Drupal Developer Days, will take place in Szeged, Hungary; you’ll probably see us there, too.
Not so long ago, I had some doubts if attending DrupalCon for me still was worth spending the time and money. DrupalCon Prague got rid of them. I’ll see you in Amsterdam!
11 Oct 2013
We’re happy to move another entry on our new product roadmap to the “Finished” column: We’ve greatly improved the error handling on our load balancers.
Handling of application errors
Before this change, our load balancers delivered a terse “503 Server Error” page for each and every condition that prevented the content requested from being delivered. Unfortunately, this included the situation when it wasn’t a part of the hosting platform failing but the web application. For example, if Drupal is put into maintenance mode or has issues connecting to its database, it delivers an error page with a HTTP error code 500 and an error message in the page body. But instead of delivering this page, our load balancers replaced it with their plain “Server Error” page. In other words, they made the issue worse by concealing its cause.
We’ve improved the load balancer configuration so that now, a “503 Server Error” is only displayed when there is no way of delivering useful content. But if its just the application sending an error page, its content will be passed through to the visitor.
Trying everything to deliver
The most frequent cause of the dreaded “503 Server Error” is that a load balancer has run out of healthy application boxes to which it can pass on incoming requests. Especially customers that with only a single box ran into this problem when that box got overloaded, even if only for a few seconds.
We’ve found a way to prevent ugly error messages even in this situation: A Varnish function named “grace mode” allows us to keep content remaining in the cache for a defined period of time after its expiry time. If a request can neither be answered with fresh cache content nor be forwarded to any box, Varnish will now try to deliver recently expired cache content (max. 1 hour over expiry time). Only if there isn’t anything left that can be delivered to the visitor within reason, an error message will come up.
Minimizing box downtime
We’ve also optimized the intervals in which our load balancers check if the application boxes in a freistilbox cluster are healthy. An unresponsive box is now detected and taken out of the load balancing pool within only 5 seconds. Previously, the delay was about 15s, so we’ve greatly reduced the amount of failed load balancer requests. And boxes that have recovered are also taken back into the pool fare more quickly, giving us a more stable load distribution.
Looking at our monitoring metrics, we’re quite happy with the results of these changes. We see far less failing requests, less spikes in box usage and overall more stable website operation.
We’d love to hear from you: Are you experiencing a positive change in your application’s stability? Please let us know in the comments!
28 Sep 2013
DrupalCon, the biggest Drupal community gathering of the year, is always a great time to talk to the people that make this open source project so great: developers, users and businesses providing services of all kinds. Of course, it’s also an opportunity for us to meet our hosting customers from all over the world in person.
For all attendees, DrupalCon is a valuable opportunity to learn how other people make use of Drupal. More than 100 sessions, divided into 8 topical tracks, will offer plenty of insight and know-how to attendees. When I was asked to curate the DevOps track, I was honoured and more than happy to accept the track chair duty. I had the chance to get some session previews and I can certify that they’ll be great!
DrupalCon Prague will be my first time in eastern Europe and I am looking forward to a week of inspiration and fun! If you’re in Prague for DrupalCon, be sure to find us and say hello!
21 Sep 2013
We are developing and running our growing freistilbox infrastructure with a tiny team. This limited capacity requires from us careful prioritization and task management so that the right things get done at the right time. And let’s be honest: We don’t always succeed in that regard. Several times, we got feedback from customers saying that…
- …they weren’t sure what we were working on (or if we were working at all), or…
- …they knew what we were working on and didn’t agree that it was the most urgent issue at the time.
Both kinds of feedback are warning signs. They mean that either we were spending time and effort on things that didn’t matter nearly as much to our customers as they did to us, or we might even have had the right goals but had failed to communicate our efforts properly.
It’s all a matter of transparency. Transparency is important because it is the precondition for trust. In the case of product development, transparency also helps us to effectively focus our efforts and let our customers know that we’re working on the right issues.
That’s why we decided to make our product roadmap publicly available.
- Planned work: Things we’re planning to tackle next
- Work in progress: Things we’re currently working on
- Finished work: What we got done recently
For each new feature, each improvement of an existing component and each known problem, we’ll create a separate card that will go through these three phases. That way, you can see exactly what we’re doing to make freistilbox an even better hosting platform.
We don’t want the roadmap page to be a one-way channel, though. With a free Trello login, you are able — and explicitly invited! — to comment and vote on any card. So, if you have questions or feedback on a specific project, please let us know!
The best ideas for improvements come from our customers and they aren’t always obvious to us. So, if there is a topic close to your heart that you feel we should put on our roadmap, please post a suggestion to our Ideas and Feature Requests forum on our Help Center website!
We’re very excited about this new way of communicating our efforts to improve freistilbox so that you can work more efficiently and sleep more peacefully.
We’d like to thank all our customers for their continued loyalty and their feedback that helps us improve. We’ve always been working hard to justify your trust, and with our freistilbox Roadmap page, you can now see and influence what exactly will be keeping us busy.
05 Sep 2013
As GigaOm reports, Edward Snowden’s email provider LavaBit got shut down under strange circumstances. This incident adds more fuel to the running discussion how much power law enforcement and other state agencies should have over information trusted to internet service providers.
In this regard, Ladar Levison, the creator of LavaBit, comes to a devastating conclusion:>”This experience has taught me one very important lesson: Without congressional action or a strong judicial precedent, I would strongly recommend against anyone trusting their private data to a company with physical ties to the United States.”
It’s important to note that “physical ties” is not limited to just companies located in the US. For example, while Amazon Web Services do have a hosting location in Europe, they’re no less an american company. And it’s unclear how much access US agencies actually have to data stored by Amazon, even if it’s hosted in Europe.
With freistilbox, on the other hand, the situation is transparent: freistilbox is hosted in data centres in Germany and the german data protection laws are among the most restrictive ones in the world. That means your data is guaranteed all the legal conditions regarding data protection and information security that your business needs, especially if it’s operating in international markets.
If you have any questions regarding the security of your data on freistilbox, we’re happy to answer them. Just drop us a line!
09 Aug 2013
Much too quickly, the Drupal Dev Days in Dublin were over. About 150 people had come to do code sprints, pub tours and participate in talks about project management, Drupal internals and — looking at myself — building virtual development environments. (More on that later.)
We were lucky that the Dublin Institute of Technolgy provided the conference venue for free. Its building in Aungier Street was easy to reach and had more than enough space for us. Thanks, DIT!
freistil IT supported the Dev Days as Gold Sponsor and we’re very happy with our engagement. freistilbox was featured prominently both at the conference venue and at the Odeon where we had the freistilbox Party with drinks and barbecue on Saturday night. The organization team managed to answer all our questions quickly and always kept us up-to-date on what was relevant for us as a sponsor.
We participated in the Job Speed Dating on Friday afternoon, but unfortunately, there were only a handful of interested applicants. Actually, there were quite obviously more companies looking for people than people looking for jobs. But that doesn’t make the idea of quickly connecting job seekers with relevant businesses a bad one. On the contrary, we hope that more conferences are going to add such an event to their programme!
The session schedule on Saturday and Sunday was diverse and interesting. (I have to say that it made me sad to see attendance dropping heavily on Sunday, probably because of the freistilbox Party the night before.) Together with Steven Jones and Marcus Deglos, I gave an introduction into easy VM management with Vagrant. In my part, I highlighted how using automation tools like Chef simplify setting up an individual system configuration from scratch that can then be replicated exactly and within minutes.
Since I’m going to move to Ireland next month, I was double happy to visit the green island for Drupal Dev Days. I enjoyed my stay very much and would like to thank everyone for making it a great Drupal community event! Special thanks go to the organization team for their tremendous efforts. Togha oibre!
08 Jul 2013