The Evolution of Web Hosting
Hanson often provides hosting recommendations, solutions and services to our clients. Like most technologies we deal with, this is a rapidly evolving part of web development. The hosting options available today would appear alien to developers and system engineers from only a few years ago. So for those interested in a little technology time travel, I present: the evolution of web hosting.
Workstations (Hostopithecus)
Early on there were workstations. Nomadic; wandering around offices, cubicles and closets. They sometimes got lost and were often the prey of predators who unplugged them, spilled coffee on them or just neglected them entirely.
Running a web server from a workstation tucked beneath someone’s desk represents one of the most primitive forms of web hosting. While (hopefully) not widespread today, it is the type of solution that kept CTOs awake at night, worrying that a critical system was being unplugged by the cleaning staff’s vacuum.
An astute observer can still find these servers if they know where to look, such as dorm rooms or companies with nebulous IT policies.
Data Center, Physical Servers (Hostus Habilis)
Eventually the workstation grew larger and noisier and found itself climbing into a server cabinet hosted at a data center with other servers. High above the floor, in the rack, it was safe from the cleaning staff, sprinkler systems and other predators.
Hosting servers in datacenters had many advantages over hosting them in a closet or beneath a desk. The data centers had infrastructure that provided redundant hardware, power and connectivity. They also provided services such as fire suppression and physical security, only allowing authorized users physical access to servers. Additionally, they had teams that specialized in keeping the systems running, applying patches, replacing failed hardware and testing backup systems.
This form of hosting is still used and contains the chromosomes for modern web hosting; however, it is rapidly being replaced by more advanced solutions. Why?
Physical servers hosted in a data center have some disadvantages compared to newer hosting options, including:
- They require a capital investment
- They are challenging to scale, particularly regionally
- They take up physical space
- They require advanced planning and lead time
- They incur avoidable management overhead
- They are inflexible
While much better than random workstations and servers littered throughout offices, data centers still left CTOs awake some nights, particularly when they found their business growth outpacing their ability to build costly data centers.
This form of hosting is probably the most prevalent in the wild at this time, but is quickly being displaced or assimilated by cloud based solutions.
Data Center, Virtual Servers (Hostus Erectus)
Populations of physical servers exploded and quickly found themselves competing for habitat (space and electricity) in overpopulated data centers. These physical servers had grown fat and lazy high up in their rows of cozy server racks. They were weak and unable to resist pressures from their more nimble and longer-lived, virtualized cousins.
Virtualization, the next evolutionary leap, offered a layer of abstraction that separated the operating system (OS) from the physical hardware on which it ran. This abstraction offered benefits such as application isolation and the ability to better utilize the available hardware. There were maintenance and hardware scaling benefits to virtualization as well; however, developers were still constrained by systems with finite resources.
Virtualization really started to become powerful once the virtual servers started to cooperate and work together within a virtual cluster. But developers and businesses were still constrained by finite server capacity and had to make capital investments in hardware that would often be under-utilized in order to meet growing demand.
Cloud Computing (Hamazon Sapiens)
Eventually data centers, filled with virtual servers, found themselves faced with the same problems as physical servers, being tied to a physical location. So, defying natural laws and building codes, they floated into the clouds where companies such as Amazon, Rackspace, Microsoft, IBM and others harnessed them into hosting and application service platforms.
The current evolutionary stage is cloud-based hosting and application services. The cloud takes the concept of a virtual cluster and puts near-infinite resources, powerful APIs, and application services behind it for use by application developers.
Additionally, it gives your infrastructure global reach and distribution capabilities at fractions of the cost and effort that were previously required. In the same way that virtualization abstracted hardware from software, the cloud abstracts the datacenter from the hardware and software.
Instead of virtual machines being thought of as static resources, powerful application programming interfaces (APIs) and software development kits (SDKs) allow them to become shorter lived, smaller and more specialized. Being added and removed automatically to meet demand, they’re spreading around the globe as needed.
One of the most popular cloud-based web hosting providers is Amazon Web Services (AWS). Because we use it at Hanson, internally we refer to it as HAWS (rhymes with “Laws”) or (H)Amazon Web Services, but you should only refer to it as that at the risk of looking foolish.
Recently we put AWS to use developing an iPad application for a client. We developed a service-oriented architecture (SOA) that automatically scales to meet demand across multiple regions in the US. To achieve this, we utilized AWS to help overcome some technical implementation challenges that included:
- Automatically scaling to meet rapid spikes in traffic related to a nationally televised ad campaign, ensuring performance can meet demand
- Minimizing costs by automatically scaling down to a minimal configuration during traffic lulls
- Aggregation of tens of thousands of assets into a scalable asset curation tool
- Designing a highly scalable, durable and dynamic service architecture across multiple AWS regions
Beyond the Cloud (Hostus Futuricus)
Cloud-based hosting is the present, but it’s definitely not the last stage in the evolution of web hosting. (So I’m going to use this opportunity to coin the phrase “Moon-based Hosting.”)
The cloud is rapidly changing the way that applications are being architected and deployed to users. We’re currently in the infancy of cloud computing, and there will be a lot of innovation in the ways that companies and individuals put this to use in the future. Expect to see more services that leverage the existing cloud infrastructure such as Amazon’s Elastic Beanstalk, OpWorks and Elastic Transcoder services; as well as more companies that are dependent on cloud services such as LoadImpact, Loggly, Netflix and others. And, finally, expect to see costs continue to lower as well.
It will be some time before [nearly] everything, not just web, is hosted in the cloud. While legacy applications may not always be the best fit, one of their strengths is their flexibility. Applications that don’t take advantage of many of the advanced cloud services can still be hosted in the cloud in a more traditional fashion. There are also options and benefits to augmenting existing applications to utilize the cloud in a hybrid fashion, such as a content delivery network (CloudFront) or as a database platform (DynamoDB, RDS).
In the meantime, there’s more to say about AWS and the cloud. I’ll be writing about some AWS services in detail, so watch this space for more to come.