Cloud computing is getting a lot of attention today, much more than hosting ever did during the dot-com boom of the 1990s. But for small businesses using these services, what does it mean? How is cloud any different or better than shared hosting? And what can you use cloud computing for?
The first type of hosting that data centers provided was dedicated. This is simply hardware that the provider leases to you that runs outside your business environment in a data center that has better economies of scale for power, backup power, cooling, and physical hardware security.
Since the dedicated provider standardizes on the hardware and racks, it can achieve the cost and performance capabilities in operating the hardware. This makes it more affordable to small customers who would otherwise attempt to purchase, install, and maintain the hardware in a data center.
Unlike shared and cloud computing, no one but you is running software on the dedicated server. Dedicated hosting is still expensive, typically starting at a few hundred dollars per month for a low end configuration.
The dot-com boom saw a Cambrian explosion of web sites, and an increasing need for hosting. Dedicated hosting was too expensive for most small and medium companies to host just a simple web site. It was also overkill, since dedicated servers would be idle for web sites that did not have a lot of traffic.
Shared hosting is a way for hosting providers to create segments on a dedicated server. A single instance of an operating system, web server, application server, and file storage is partitioned so that a dedicated server can support 2 or even 20 customers. The figure below shows customer partitions created on a single physical dedicated server.
Each instance of shared hosting has some limited configuration capabilities for the web server, application server and database schema in the database. Access to the operating system is usually extremely limited. Each customer has a file directory with a predefined amount of storage that is part of an array of disks used by all other users.
Shared hosting provides some operational effeciencies compared to dedicated hosting. Instances are easy to manage by the provider, and it is easy to provision new customers with a pre-defined package of capabilities, such as 2 GB of storage, 20 GB of network transfer, an Apache web server, PHP application server, and MySQL database schema.
The cost savings for customers versus dedicated makes shared hosting ideal and common for sites like web hosting where there was not a lot of contention for resources among the customers.
Security - Shared
Security for shared hosting is based on applications, the file system and the database, and managed by the operating system. Hackers have an easier time infiltrating customers on shared hosting versus dedicated because they only need to access one shared hosting instance in order to get logical proximity to the other customers.
Performance - Shared
The cost of shared hosting can be as low as $5 per month up to around $50 per month. Prices generally increase with performance and options The main problem with shared hosting is that applications and databases are only good at partitioning disk space. Shared hosting is completely ineffective at allocating and partitioning CPU, memory, and network bandwidth.
Shared hosting customers usually see performance issues caused by heavier users on a shared hosting server. This cannot be easily resolved without sophisticated monitoring tools that throttle applications and databases for one customer in the case of heavy load, in order to maintain performance for all of the other customers. Shared hosting also does not provide a lot of options or custom configurations. Providers needed to create pre-defined segments that can quickly be provisioned.
Failures are also a problem with shared hosting. If there is a failure of a physical device, such as a motherboard, CPU, or disk, all of the customers on the shared hosting server are impacted. Most providers create application clusters and database clusters to reduce the impact of outages.
Another strategy is to maintain system backups and migrate customers to standby servers. But this still takes time and performance is still severely impacted. Recovery from outages can be as quick as 20 minutes or as long as a few hours. Providers might invest in higher quality hardware, backup software, and standby servers. But this cost is passed on to the customers.