Things certainly move fast on the web. Just a few weeks ago we described our PHP setup on this blog and we proudly explained that we had both PHP 5.2 and 5.3 installed on our servers. But now that blog post is obsolete because PHP 5.4 was just released!
Fortunately we’ve already installed PHP 5.4 on all of our servers, just days after it was released:
Nine years ago we registered python-hosting.com which later became WebFaction.
Since the beginning we focused on building solid foundations: fast and stable servers, great customer service and up-to-date software. A lot has happened in 9 years but we’re proud to say that the foundations are still there.
But most importantly we hope that we have sustainably kept our customers happy and we want to thank all of you for the nice comments on Twitter, on your websites and in support tickets.
To celebrate our 9-year birthday we are offering a $50 discount on all new signups (minimum one-year pre-payment). Existing customers can also get the discount if they buy extra plans for their account. To receive the discount just use the promo code “9YEARS” when you signup at https://www.webfaction.com/signup or mention “9YEARS” when you request an upgrade in the control panel (under Account->Upgrade/Downgrade). This code is valid until February 12th 2012 at midnight UTC.
A few months ago we started offering servers in Europe. Today we’re happy to announce that we’re now offering servers in Asia too (in Singapore to be exact).
Most hosting providers charge an extra fee for hosting in Asia but we’ve decided to charge the same price as in the US and in Europe.
If your websites’ visitors are mostly in Asia then you might want to consider putting your sites on our Singapore servers rather than our American or European servers to make your sites slightly more responsive for these visitors.
When you sign up for an account you can now choose between USA, Europe or Asia for the server location (note that the Singapore location is not available for our managed dedicated servers just yet).
If you’re an existing customer you can also go to Account->migrate in the panel and request a migration of your account to a Singapore server. You can also go to Account->Upgrade/downgrade in the panel and order an extra plan in Singapore if you want one (you can have multiple plans in multiple locations from the same account).
Six months ago we started using much beefier servers for our shared hosting plans. We also started upgrading the hardware on our existing servers. We did that because we wanted to give you as much memory for your apps as possible without overselling the RAM and overloading the servers.
Today we’re happy to announce that our shared hosting plan has been upgraded from 80MB of app memory to 256MB! This applies not only to new customers but to all existing accounts as well. You can also buy an upgrade to 512MB for an extra $7/month*.
Keeping in mind that the memory used by the operating system, the MySql and Postgresql database servers and the frontend web server don’t count towards your app memory usage (unlike on a VPS) it should be plenty for most Django, Rails, PHP and other apps you might want to run.
*The upgrade from 256MB to 512MB is only available on our newer servers (Web300 and over and all servers in Amsterdam) and the following servers: Web4, Web27, Web28, Web70, Web114, Web129, Web174, Web184, Web200 and Web213. This is because the other servers don’t have enough RAM. If you’re on another server and want 512MB of memory you can request a migration from the control panel (Account->Server migration).
Update: The list of servers where you can upgrade to 512MB is now: Web300 and over, Web4, Web27, Web28, Web70, Web114, Web129, Web174, Web182, Web200, Web208, Web209, Web210, Web211, Web213, Web216, Web217, Web218, Web223, Web224, Web225, Web226.
SNI allows you to use an SSL certificate for your secure site (https) without having to buy a dedicated IP address.
It works by having the browser send the hostname as part of the initial handshake so the webserver knows which certificate to use even if multiple certificates are used on the same IP address.
Note however that while SNI is supported by most modern browser some older browsers (notably all versions of Internet Explorer on Windows XP) don’t support it. If you choose to use SNI and someone visits your secure site with a browser that doesn’t support SNI they will receive our default certificate and their browser will display a certificate-mismatch warning.
We’re pleased to announce that starting today we’re guaranteeing a 1h account activation time for all new signups*. This guarantee also applies to upgrade/downgrade requests from the control panel (except dedicated IP addresses). This will allow you to rapidly scale your apps up or down as you need.
* A small number of payments get flagged for manual fraud checks. In that case the 1h starts once the payment has cleared the checks. If for some reason we cannot activate the account within 1h then the first month is free.
Traditional shared hosting has always suffered from the “bad neighbor problem”: your site runs fine until another user on the machine decides to encode 20 video files and all of the sudden your site is very sluggish.
That problem is now history on our centos6 servers thanks to a relatively unknown feature recently added to the linux kernel: cgroups.
cgroups allow admins to define various groups and various rules for which processes should go into which groups. Each group can then be allocated various resources or resource priorities relative to other groups.
Here is how cgroups get rid of the traditional “bad neighbor problem” in shared hosting:
Imagine a CPU-intensive script called “cpu-eater”
Imagine that user A runs 3 instances of the script (process 1, 2 and 3) and users B and C each run one instance of that script (process 4 and 5)
Without cgroups each of these 5 processes gets allocated the same amount of CPU (20% each if all the CPU power is available) which means that user A gets 60% in total and user B and C get 20% each. User A is being a bad neighbor and that’s not fair to users B and C.
With cgroups we can configure it so that each user gets their own cgroup and all of a user’s processes go in that user’s cgroup. We then configure it so that all cgroups have the same CPU priority. This means that users A, B and C each get 33.3% of the CPU to run their “cpu-eater” scripts which is fair.
Note that cgroups keep all the CPU power available to processes who want it: if there are only two CPU-intensive processes on the machine they’ll get 50% CPU each. If there is only one CPU-intensive process on the machine it’ll get 100% CPU.
Also, this example mentions CPU usage but cgroups can do the same for disk IOs and network IOs.
We’ve been running cgroups on all of our Centos6 servers for a few months and we’ve seen great results! No longer can a single user affect all other users on the machine.
Dedicated 1: $250/mo, Dual-core 2.8Ghz CPU, 4GB of RAM, 2 x 500GB disks in a RAID-1, 2TB of bandwidth
Dedicated 2: $350/mo, Quad-core 2.6Ghz CPU, 8GB of RAM, 2 x 500GB disks in a RAID-1, 4TB of bandwidth
Dedicated 3: $500/mo, Two Quad-core 2.3Ghz CPUs, 16GB of RAM, 4 x 1TB disks in a RAID-10, 6TB of bandwidth
We’ve also made the following improvements:
No more setup fees
1h server activation*
Available in both the US and in Europe (Amsterdam)
Centos6-64bit on all new servers
If you have a shared account with us we can migrate it for you to a dedicated server**
Our managed dedicated servers are perfect if you want the power of our server setup and control panel on your own server without the hassle of setting it up and maintaining it. Here is what you get with our managed dedicated servers:
We setup the server just like our shared servers, with Centos6-64bit plus hundreds of our own packages that don’t come with Centos6
You have access to our control panel for easy app installation, site configuration, email management etc.
We apply frequent security patches for you to keep the server secure at all times
We backup your data to remote servers every day
We monitor your server availability from multiple points around the globe and handle alerts within minutes
Your server runs “bare metal” (no virtualization layer) so you have access to all the server’s power
If you’re interested you can view the configurations and sign-up at http://www.webfaction.com/services/dedicated.
If you’re an existing customer you can order a dedicated server by going to “Account -> Upgrade / Downgrade” in the control panel.
* The 1h activation period starts once your payment has cleared our fraud checks. If for some reason we are unable to provision the server within 1h we will email you immediately and will give you the option to either get a $50 refund as compensation or to cancel the order and get a full immediate refund.
** If your shared account is on a Centos-5-32bit server there may be post-migrations steps which you will have to do yourself. See this page for more information.
A few weeks ago we quietly started using a new setup for our new servers based on Centos-6-64bit. Apart from the new Centos version and the new architecture the main difference is that they run the latest MySql and Postgresql versions: MySql-5.5 and Postgresql-9.1.
If you would like to migrate your account to a Centos-6 server you can do so by going to “Account -> Server migration” in the control panel. There you will have the option to either migrate the data yourself (see this page for the procedure) or ask us to do it for you.
Regardless of the migration method that you choose be aware that in many cases you will need to tweak your apps in order for them to work on Centos-6-64bit:
Apps that use only a scripting language such as pure-PHP apps (WordPress/Drupal/etc.), pure Python apps, pure Ruby apps etc. usually work without any modification.
Anything that is compiled will most likely need to be re-compiled or replaced with Centos-6/64bit versions of the binaries. For instance Django apps will need to have the Apache binary and its modules replaced. See this page for details on how to migrate Django, Rails and Trac apps.
We’ve been working hard on making our control panel easier to use and today we’ve released a new email management interface.
The new interface allows you to manage your emails from a single screen, even if you need to create new domains and mailboxes.
You can save your emails to local mailboxes, forward them to other email addresses, set up an autoresponder or send your emails to a script written by you for automated processing.
A video speaks a thousand pictures so here is how you create an email address (including a new domain and mailbox) in a few clicks with the new interface:
As a reminder the control panel isn’t the only way to manage your email addresses. Our API lets you automate the process and if you have tons of email addresses you’ll be thankful for it!
We’d love to hear your feedback or suggestions for improvements so let us know in the comments or using the “Feedback” button in the panel.