Apis Networks

Sol: It’s Here!

I am pleased to announce Sol: our 6th hosting platform release since 2002. Sol incorporates the stability engineered on Helios, and improves upon performance by partitioning hosting servers into smaller, agile containers through virtualization while maintaining rivaling bare-metal performance with less than 5% decrease in throughput. Sol takes less than 20 seconds to boot up, and is stuffed with great features including support for PHP 5.6, Rails 4, Ruby 2.2, Django 1.7, and Python 3.4.

Sol will go through an open beta program over the next week to work out and last minute issues. Open a ticket if you would like migration. The process takes 24 hours, is fully automated, and will create zero downtime.

Ruby, Python, and Node.js Support

Overall, Sol provides clients with more options and more value than ever before. Beyond Rails 4 and Ruby 2.2, Sol includes support via RVM for multiple concurrent versions allowing you to run Rails 2 through Rails 4.0 on Ruby 1.8.7 all the way up to Ruby 2.2. Use rvm list to list available Rubies, rvm use to use a particular Ruby, and passenger-config --ruby-command to configure Passenger to launch your process using the specified Ruby. More details are available without the Resource Center. Passenger supports launching of Node.js and Python (Django) apps by specifying, within a .htaccess file, PassengerEnabled on and PassengerNodejs <interpreter> or PassengerPython <interpreter>. We’re also working on adding multiple Python version support via pyenv. Multiple Python versions are there, but no documentation as of yet. Rumor has it there’s also multiple PHP version support via phpbrew, but PHP is the last offender to leave a backwards-incompatible, scorched earth policy like Ruby and Python.

CentOS 7 Base Filesystem

RedHat did a thing right by patterning its seventh major Enterprise Linux release off Fedora 19, released July 2013, by delivering recent software to Enterprise markets. Previous RHELs based on much older Fedora releases leaving us and likewise you, our clients, behind in yesterday’s greatest instead of today’s greatest software including systemd. It is a gorgeous service manager written in C, instead of bash shell scripts like its SYSV predecessor, and fast. Really, really fast. From boot, it takes just 20 seconds to boot of which 7 seconds are wasted confirming and loading the Linux kernel. Actually, the system boots up in 13.26 seconds. systemd also constantly monitors and restarts processes that fail, so it can restart a downed mail server or web server instantly instead of waiting for our 2-minute periodic checks to kick in and restart a downed process.

Virtualization, Baby!

Helios is a massive server. A true gargantuan hosting over 1,000 domains. It’s strong, and over the last year only had 1 isolated outage resulting in 99.999% uptime. Not bad, but that one time Helios did go down, it took some time to recover. Take Helios, send it to fat camp, and you get Sol. Instead of filling out a modern server with clients, and creating a bloated web server, database server, and mail server handling enormous configuration files – HTTP server configuration is 800 KB! (each HTTP process is 300 MB) – keep it smaller by partitioning a hosting server into smaller units. We lose some storage by duplicating filesystems among multiple units, but also create smaller HTTP configuration and likewise a nimble server. Beyond basic virtualization through KVM, Sol uses LVM for its filesystem mapping that allows speed close to bare metal. Normal reads are 340 MB/s. Virtualized with LVM it’s 334 MB/s. Less than 2% loss in performance. Not bad!

Sol, and its cohorts, start with 16 GB memory, but can dynamically request up to 38 GB from its hypervisor should memory come under pressure via a balloon driver and release it when it’s done. If a server comes under resource pressure there is less chance of a hiccup, because now resources are shared on-demand between VMs. Even networking is virtualized through SR-IOV. A single NIC appears as 7 virtual NICs and again results in some marginal throughput losses. Much better than a software-emulated NIC or bridging that would otherwise be necessary and slow.

Miscellaneous Improvements

  • We also include Go and PHP 5.6 now. APC is gone. All hailĀ OPCache! This should clear up someĀ blank page issues we have seen in the past with certain PHP applications.
  • Maildrop filters now support \r\n EOL terminations for Windows users. Before, \r\n would throw a parser error.
  • Switched from our in-house monitoring scripts to Monit for performance and flexibility. There may be some service bumps in the road over the next couple weeks as this transition completes.
  • Percona MySQL is out. MariaDB is in. Percona was significantly more stable than MySQL, but still had some stability issues in particular scenarios. MariaDB is based off MariaDB 5.5 (MySQL rebase) with backports from MariaDB 5.6 in addition to code from MariaDB’s community of programmers.
  • Namebased shared hosting now rotates from a pool of IP addresses to reduce the impact of a null-route in the extraordinary event that a namebased account receives a denial of service attack.
  • PHP 5.6’s native OPcache module obsoletes APC for caching, but lacks userland caching via apc_add()/apc_fetch(). Userland caching spun-off as APCu, which is installed on Sol (thanks Brian Scholer!)
  • Primary user can su to other users now without password prompts
  • UTF-8 replaces latin1 as default charset for MySQL databases

Happy hacking!

Matt Saladna
Owner & Platform Architect

Comments (5)


New Feature: Forward-to-Learn Spam Filter

Over the last couple weeks, we’ve been busily testing a new feature to improve e-mail filtering quality: forwarding. Simply forward spam that slips through into your inbox to spam@apisnetworks.com. Our processor will devour the morsel and send its remains to your filtering database that will increase filtering accuracy.

There are 2 ways to forward e-mail: inline or as an attachment. Both forms are accepted, however, sending as an attachment will feed additional information that is typically not included in an inline attachment. To forward as an attachment, right-click on the e-mail(s) and select “Forward as Attachment“. On Apple Mail, choose Message >Forward as Attachment.

In the rare event mail gets mislabeled as spam, which in turn gets delivered to your Spam folder, just forward the message to ham@apisnetworks.com. Our processor will decompose the message, except this time learning from its mistakes.

Update: 2014/08/23 corrected confusing context for forwarding spam, thanks Scott Lincke!

Comments off


Coming Soon: New Hosting Platform

Our long beloved juggernaut of a server, Assmule, has seen its final days. Assmule has been retired as of April 18. Echelon was retired on April 21. We’re making room in the cabinet (and more important: circuit breaker) for another, beefier server to serve as a footprint for future accounts. So far here’s the checklist.

Built off Helios’ existing configuration. It will have the same excellent throughput and responsiveness, and with the following enhancements:

  • RHEL 7/CentOS 6.5 – contingent upon CentOS releasing 7RC1 in time
  • distributed shared IP addresses – primitive DoS mitigation for accounts without a unique IP address (SSL), because the last DoS during Snowpocalypse had me thinking… Sadly this is a real thing in Georgia
  • nodejs, mongodb available within accounts without the need to compile
  • Python 3
  • Ruby 2.1 for Rails 4
  • Possible: RPM management, sudo access for master account; nearing VPS flexibility. Layered filesystem permits this, but it will extend the testing phase a couple months

Clients can chime in with ideas until the server is put into production around June. So now is a great time to pitch some ideas for niggling things that been bothering you for so long. Make a change!

- Matt

Comments off