Technology Stack

So, I want to give a brief overview of the technology stack that we’re using at Zero Daedalus. But first, a little recap.

Priorities

In the last post, we highlighted some of the priorities that guide us in making decisions. To review, our key goals are making servers that:

  1. Provide content quickly (Speed)
  2. Protect users from Naughty Nellies (Security)
  3. Utilize the best free and open software solutions (Open Source).

At the same time, know that the landscape of the Web is constantly changing. One of the clear advantages of Zero Daedalus is that we’re a small hosting company. This allows us to focus on providing a stellar service to a small clientele, whereas larger hosting companies must weigh every performance decision against the mountain of logistics that must go into making even minor changes to their infrastructure. That’s why millions of webservers today are slow and insecure. They simply can’t afford to expend the resources upgrading their frameworks to present-day standard. Again, that’s what makes us different.

Basically, we make sure your website is running the best configuration available at the time. If a new package is released which works better for your scenario, we’ll upgrade it. And, we’ll do it quickly, safely and securely without disrupting your business. We aren’t tied to any decisions of the past, only to whatever solution provides you with the best service currently. So keep in mind that even though this is our stack today, it may look very different down the line as technologies and practices change.

Our Technology Stack (Right Now)

Debian Linux

We use Debian as the operating system for all of our servers. There are a couple of reasons for this (and not just because all of their releases are named after Toy Story characters.)

First, Debian is practically synonymous with “stability” in the Linux community.  Part of this has to do with the rigorous testing process that all packages and releases must go through before being included in final versions. This also means that the release cycle is much slower than other distributions; averaging around 3-6 months for new minor releases. But when you want a system running constantly without interruptions or unexplained hiccups, they don’t get much better.

Second reason is because it’s Linux. Say what you will but there is a reason roughly 80% of web servers are run on Linux. It’s secure, it’s fast and it’s open source. Boom!

HHVM

Quick history lesson for those of you who are unaware. Back in the day, a guy named Zuckerberg decided to build a little social media website using a cool little technology called PHP. This website grew to be really big, really fast and they eventually realized that PHP couldn’t really handle the demands of one of the most popular websites in the world. It was way too slow. (Remember how I said speed was important?) As a result, more Facebook nerds set out to build a system that would operate the same way as PHP (so they wouldn’t have to rewrite their incredibly popular website from scratch) but work a gajillion-million times faster. They succeeded in creating Hip Hop Virtual Machine (HHVM).

Now, a lot has changed since Facebook first shared HHVM with the open source community. PHP took notice and started making lots of optimizations to their own system. The newest version of PHP, 7.1 as of the time of this article, has shown some promising results approaching those of HHVM. Currently, from a speed standpoint, HHVM is still the clear choice, but it’s going to be interesting to see where things stand in the upcoming months. If down the road we determine that PHP 7 provides a better solution than we’ll make the switch.

MariaDB

This choice is primarily impacted by the third priority listed above (open source) than any other. From what I’ve seen, there are small gains of speed and reliability when using MariaDB vs. the primary alternative (MySQL) but not enough to justify the effort. However, it does scratch the Open Source itch on a fundamental level which is why we go through the trouble of including it.

MariaDB is a project that was actually birthed out of MySQL, the industry standard in terms of Relational Database Management Systems. After Oracle acquired Sun Microsystems (and MySQL, as a result), the creator of the program forked the project to start MariaDB, an fully Open Source alternative to be developed in parallel with the Oracle branch of MySQL. Some say this was a smart move as Oracle has been far from inspiring in the way they’ve handled the MySQL project after acquiring it. Regardless, it’s a win for the home team as far as we’re concerned.

Nginx

The last major cog in our web development stack is Nginx (pronounced “engine-x”). This replaces the standard Apache Web Server that is commonplace on most web servers today. The reasoning behind this is pretty clear.

Out of the box Nginx can handle a crap-ton (technical term) of simultaneous requests, far more than stock Apache, using a fraction of the memory. This is huge, especially if you website has a huge spike in traffic. On top of this, Nginx has lots of nifty little features (reverse proxying, load balancing) which can come in handy if you ever decide to build something a bit more complex.

That, and it just sounds cool.

 

Alright, so there is a little peek into what tools we’re using on the backend to provide you with a fast, secure and open service. I plan to dive deeper into these and other tools that we’re using in future blog posts.

Need a website? Looking to upgrade an old website? Get a free consult and we can have you up and running within 24 hours.

Leave a Reply

Your email address will not be published. Required fields are marked *