Great article on why autoscaling does not work.
Archive for the ‘Technology’ Category
Saturday, December 6th, 2008
Friday, August 15th, 2008
We’ve been doing some research lately in order to determine the relative costs that a client or potential client might incur if they utilize other hosting methods.
The results have been interesting to say the least. For instance, let’s look at the rough costs of having your own internal server for one year:
- Hardware: $1500 Server, upgraded/replaced every 3 years = $500/yr
- Electricity: 165 watts continuous @ .14 per kWh = $202.50/yr
- Daily off site backups stored a minimum of 30 days: $800/yr
So, at this point we’re looking at approximately $1400 per year without even factoring in costs for:
- T1 or better connection
- Infrastructure – cooling, battery backup, firewall, and physical space to house the equipment
For argument’s sake, we’ll say that you already have a T1 connection ($450+/month), but even if so, we still need to add on the costs of an administrator. Even if we factor in very affordable system administration services ($35/hr) and estimate only 2 hours of SysAdmin time per week, we’re looking at another $3640 per year, bringing our total costs to over $5000. These estimations are on the very low-end and in reality will usually cost much more.
Considering that HostCube VPS configurations start at $960/year and top out at $2400/year for the XL plan, we’re thinking you’d need an interesting set of requirements before it would make sense to seriously consider in-house hosting over a VPS. This is especially true as the VPS configuration would significantly outperform the in-house hosting configuration noted above.
In the weeks to come we’ll be comparing VPS to dedicated hosted servers as well as trying to peer through some of the fog surrounding “the cloud.”
BTW If you’re interested in the differences between managed VPS and shared hosting, check out Shared hosting vs. managed VPS. When to upgrade?
Thursday, August 7th, 2008
We currently use Xen as our virtualization technology. To put it simply, Virtuozzo (or the open source version OpenVZ) is one level above chrooting or BSD jail. Yes, Virtuozzo has much less overhead per VPS instance and has some performance advantages, but at a cost of isolation and reliability. Virtuozzo uses OS level virtualization, while Xen uses paravirtualization.
When evaluating the different virtualization technologies we had very specific requirements. We wanted virtualization technology that allowed for:
- dedicated server like isolation.
- customizations to the installed operating system (i.e. kernel, iptables, etc.) just like a dedicated server.
- proven deployment.
- cannot oversell services (ensuring a specific level of quality of service).
- complete separation of each operating system installation.
The differences with Virtuozzo and Xen are:
- fixed memory and disk definitions.
- custom kernels.
- firewall configuration.
For our purposes Xen acts, breaths, and looks like a dedicated server.
Fixed Memory and Disk Definitions
In Xen’s current form, memory cannot be oversold. If the node only has 16 GB of ram, it means only 16 GB of ram can be allocated to all VPS instances. Virtuozzo offers bustable memory, whereas Xen has hard, fixed caps. Burstable memory is great if you have control over all of the VPSes (everyone is friendly), but when you have a diverse environment, we prefer hard memory caps (you’re guaranteed by the technology that you actually get what you pay for).
With Xen, like a real server, you get a specific amount of memory and swap space. This allows the operating system handle memory and swap to disk as needed. Memory on Virtuozzo is a much muddled situation. To the VPS instance, it all appears to be memory, when in fact it’s not. With Virtuozzo, It’s not uncommon for services to just die because no memory is available. Depending upon the provider, memory can be oversold and performance is then no better than shared hosting setups. Currently with Xen there is no way for us to do this and therefore you know that what you pay for is exactly what you are getting.
Firewall configuration with Virtuozzo is very limited and you do not have access to the full iptables setup. This means there are many hoops you must go through to firewall your VPS instance. Most Virtuozzo providers configure their setup to have the node control the firewall configuration.
Xen allows for custom kernels. Each VPS instance can be unique. Need a special module, or custom kernel? With Virtuozzo, since the virtualization uses the same kernel for all VPS instances, you can’t do this. With Xen, each virtual server has a separate kernel and allows for increased security.
This is an area that is typically more anecdotal than “hard facts,” and is always up for debate by both sides. While the Virtuozzo crowd states their virtualization technology performs better, the tests I’ve seen are not real world situations. The simple fact is that I’ve never heard of a Xen node getting overwhelmed and bringing down the other instances. With Virtuozzo we’ve seen this happen a lot and it is primarily because of two factors:
- Oversold memory and bustable memory.
- Hypervisor scheduler. While Xen’s scheduler options are much more limited, it works and works well.
In our case we’ve had many times where we’ve seen a specific VPS instance running at 100% CPU usage and high disk IO without the other VPS instances even missing a beat. With Virtuozzo it is assumed each VPS will play well with others and this simply is not always the case. The biggest limitation with Xen is it’s disk IO scheduler. The IO scheduler is somewhat simplistic, but does have the benefit that you can control unruly virtual servers and prevent them from affecting the other servers.
If you are looking for “dedicated-like” performance, customization, isolation and security, Xen is a perfect fit. With our managed virtual servers, it’s like getting a dedicated server for a fraction of the cost!
Also keep in mind that while we currently use Xen we are not married to it. We are always looking at the other virtualization technologies. With the recent announcement from Red Hat, KVM definitely has a chance. The way our cloud infrastructure is designed, the VM manager really doesn’t matter. In the end, what matters to us and our customers is running what works and is stable, secure and provides the best isolation. For now, Xen is that perfect fit, while Virtuozzo is simply not as robust.
Thursday, June 26th, 2008
What’s the difference between shared hosting and a managed VPS? When should you upgrade?
The primary reasons for using a VPS:
- Dedicated resources (Quality of Service).
- More control of installed software.
- More secure.
- Dedicated IP address.
With shared hosting the hosting provider has to make sure each customer’s hosting configuration performs well. The administrator might be able to perform proactive measures, but in many cases this isn’t possible. This is because each shared hosting account uses the same memory, CPU and disk space. This is similar to a noisy neighbor in a massive apartment building. All it takes is one bad tenant to affect the others. Each customer must share the same resources on a shared hosting server.
Dedicated Resources (Quality of Service)
With a VPS you are allocated a fixed amount of resources (just like a dedicated server) and these resources are dedicated to you. Each customer is separated at the operating system level and another customer cannot affect your VPS. This increases quality of service since you have a specific amount of memory, CPU and disk given to your account. This is also the main reason for the differences in price between VPS and shared hosting.
A common issue on many oversold shared hosting providers is that you are suspended once you use too much CPU, memory or disk space. On a VPS you will never get suspended for this reason. Also, shared hosting’s dirty little secret is that many dynamically generated web pages (i.e. blog, forum, CMS, E-commerce) are primarily CPU bound. On a massively oversold shared server there is only so much CPU to go around. These providers put 500-600 accounts on each server and for this reason the performance of ALL clients on that server is affected.
Other Advantages of Choosing a VPS Solution Include:
More Control of Installed Software
With a VPS we can customize the software to the customer’s exact specifications. Since software such as apache, PHP, MySQL, etc are dedicated to just your account. Conversely, shared hosting is configured to please the majority and exceptions are not possible. In addition, if you need a service (otherwise known as a daemon) running or custom programming libraries, this is all possible with a VPS.
Since each VPS is separated at the operating system level, each customer is running in its own memory, CPU and disk space. This prevents your account from getting compromised when another customer forgets to update their blog software to fix security risks that have been discovered – if hackers get into their shared hosting account they can quickly move horizontally into your account if you’re on the same shared server.
Dedicated IP address
This is important for any service that uses the source IP address for reputation purposes. This is extremely important with outbound E-mail (SMTP) and significantly decreases the chance of blockage because another customer sent out spam. To put this in perspective, we’ve seen cases where one misguided salesperson sending out less than 200 emails in an email blast has caused IP-based blocking of an entire IP (including all the responsible senders on that IP).
The HostCube Advantage
There’s one advantage that can sometimes be at credited to shared hosting: the provider manages all the system administration. Fortunately, this service is also provided when using a service like HostCube Managed Virtual Servers. The components of system administration include:
- Service monitoring
- Security monitoring
- Software updates
- Software configuration
There’s no need to worry if your VPS is secure, and is your site running as our managed VPSes give you the best of both worlds: the ability to work as if in a shared hosting environment with the performance of a dedicated server.