Apis Networks

Archive for Miscellaneous

Introducing Apollo: Our Next Generation Platform

After a few months of strenuous development, testing, and problem-solving Apollo has touched down sporting our latest hosting platform.  Based on RedHat Enterprise Linux 5.5, this platform encompasses several key elements from the proposed Fifth Generation architecture.

Layered Filesystems
Accounts now reside upon stacks of folders (”layers”); each layer beyond the first, which holds user files, provides a collection of system files.  Our new layout provides a very efficient method of adding new software to accounts by injecting files into a particular layer, which propagate to all inheritable accounts.  Further, by residing on the top-most layer, instead of selectively backing up /home and /var/www, we have a comprehensive method of tracking which files to backup for clients.

Layered filesystems decrease the amount of storage required to populate an account, and allow a true 1:1 replication of system files.  The old system, a Replicated Filesystem, utilized hardlinks, which are references to files, to populate system files.  This posed several problems:

  1. very inefficient to create a reference for 50,000 files to each site
  2. filesystem limitations prevent creation of more than 32,768 hardlinks to a file introducing scalability concerns.  This limit prevented clients access to all locales, severely hindering application capabilities
  3. adding new software is quite cumbersome, which requires removing all references to the file (thankfully scripts are used to automate this exhaustive task), then copying the application to the filesystem template, then creating a reference for each file on each account (yikes!).  Any references that remain of the old file still count as occupied storage.
  4. servers accumulate wasted storage over time from old software references resident on the server and by storage occupied from duplication of folders and file references (17 MB vs 1.3 MB baseline)

Diagram of a Replicated FilesystemDiagram of a Layered Filesystem


Control Groups
Control groups (”cgroups“) provide an accurate and fair means of accounting for memory and CPU usage generated by an account.  cgroups aggregate memory and CPU generated by applications grouped by account, which means for clients, we can permit any software to be run on an account up to x MB or y CPU seconds.  CouchDB?  MongoDB?  MySQL 5.5? (might want to read the next note!) Jetty?  You name it!  If it fits within the container limits, have fun!  Even better – unlike a VPS, crucial system processes do not count against your limits – only applications that you explicitly start.

Software Upgrades
Along with the latest applications provided by RHEL, additional software upgrades were selected:

  • Percona MySQL 5.1  – clients now have privileges to create and run stored procedures/triggers.  InnoDB performance is greatly improved, on par with MySQL 5.5
  • Mercurial + Bazaar- two revision control tools clients have asked for in the past
  • mod_rails 2.2.15 – Rails and Rack functionality tested and working 100%
  • Horde Groupware – enhanced webmail now includes a calendar with memo and task-creation capabilities
  • Vim 7.2 – support for tabs
  • Pyzor – additional spam filter, which will enhance filtering capabilities

Suexec Changes
Clients bemoaned a super-restrictive suexec wrapper that, in all honesty, was a little too restrictive:  (1) FastCGI/CGI applications could not be executed inside /home/user, but could inside /home/user/public_html; (2) 775 parent directory permissions would cause a failure regardless of who owns the folder complicating Rails dispatcher deployment (you should be using mod_rails now!); (3) best of all, suexec logs, which contained invaluable clues why a script was denied execution, were never logged to your account!  All three of these problems have been resolved with a new suexec wrapper and those error messages?  Check /var/log/httpd/suexec.log ;)

Want to be a part of Apollo?  Open up a ticket beginning Monday for a server migration.  This process takes approximately 24 hours for a preparatory phase, followed by the actual move.  Moves take less than 5 minutes to complete and DNS is updated automatically.

Thank you everyone for your feedback,
Matt

Comments (1)

 

Interim Hosting Platform

As we wait patiently for RHEL6 to exit beta testing, we are rolling out an interim platform built around CentOS 5.5.  So far clients would like to see MySQL 5.1, Bazaar, and Mercurial support – all of which are coming.  Major changes slated for the fifth generation, such as memory containers and a revised filesystem layout, are too disruptive to mix into our present environment.  Look forward to those features later in the year assuming RHEL6 debuts in 2010.

Existing clients who would like to utilize Mercurial, Bazaar, or MySQL 5.1 (trigger/stored procedure support) can be migrated to the interim server beginning in July.  Until then, let me know of any other applications you would like to see.  “Apollo” will be deployed in 2 weeks.

- Matt (discussion)

Step Lives

Comments

 

Earn more revenue through referrals

Our new referral system is here!  Earn rewards faster just after 90 days.  Whenever a client mentions your e-mail address or domain name during sign-up, we’ll credit $5, $10, $20, or $30 to your account depending on the package.   Better yet, earn 150% after your first referral.  Refer more than 4 clients and each additional referral earns a 200% bonus.

Let’s say you refer 2 friends directly and post a link on your site.  2 friends sign-up immediately and 4 prospective clients stumble upon your site serendipitously, fed up with their current host.  The earning schedule would look like-

Day 1: Minimalist $5
referrals 2 – 3 are multiplied by a bonus of 1.5x
Day 5
: Basic $15
Day 7: Advanced $30
referrals 4-5 receive a 2x bonus
Day 60: Basic $20
Day 90: Basic $20
referrals 6 and beyond receive a 2.5x bonus
Day 195: Minimalist $12.50

Total Earnings: $102.50

To kick off the new system, commission is doubled until the end of the year.  Make at least $10 for referring a friend or placing a link on your site to Apis.  Refer 2 friends?  Earn at least $15.  Refer 6 or more over your lifetime?  Earn no less than $12.50 for each additional person that you recommend.

Linking to Apis is just as simple.  Make a link to http://apisnetworks.com/r?myuname where myuname is the username created within the control panel (Account > Client Referrals).  Referrals made through links are good for 30 days.  Don’t worry about asking to mention your domain – it’s taken care of by the username affiliation.  Append a page location after myuname to redirect to a specific page, e.g. to redirect to the hosting package matrix use http://apisnetworks.com/r?myuname/web_hosting_packages

Enjoy!

- Matt

Comments off