The Internet has expanded so quickly in just a couple of decades. This growth has also accompanied a tremendous uptick in technological advancement allowing Internet speeds to increase while server costs have dramatically fallen. I’m sure by now most of you have heard about hosting your files “within the cloud”. More advanced hosting companies have begun to offer cloud hosting solutions. But what does this really mean?
Lets look further into the details of cloud hosting. How do you end up with a server cluster managing as a complete web host environment? How much do these generally cost? And is the cloud really where the future is taking us?
Many of these questions can be answered with just a bit of information. Let’s first break down this idea of the “cloud” into more friendly terms.
Defining the Cloud
Technologists tend to provide an overly-complicated answer to the question “what is the cloud?”. In the context of cloud hosting there is no physical object which you can point to and label as the cloud. It’s more of an electronic structure where data is stored over many different computers and served up via a network connection, typically the Internet.
When you get into cloud hosting these server farms behave as one large storage space and processor. The actual website data(such as HTML/CSS files, images, etc.) is spread out over a cluster of hard drives connected together, much like one virtual disk with tremendous capacity. Server clusters can provide a cloud setup with literally unlimited machines to run through. You could also build a cloud space with just 5-10, so the methodology is scalable to boot.
The Cloud vs. The Internet
Is there really a difference between these terms? The short answer is yes, but not by much. Reference to the cloud is usually a reference to one small piece of the whole Internet. But if you take into consideration that the Internet behaves as one macroscopic cloud system you start to see the idea more clearly.
In truth the infrastructure we’re building today may be the underlying framework for our Internet of the future. Bandwidth speeds are only increasing while the price of data storage and transfer is dropping rapidly. The price of electricity is still enough to deter your average Joe from setting up his own personal cloud network, but for how long?
The Internet and cloud hosting have both grown out of a necessity for connectivity between humans. It’s a desire to simplify the most confusing aspects of our daily lives. I can imagine a future where the entire world population controls data flow to and from the cloud, a global Internet hierarchy. We will be free to connect and share data, stories, ideas, and most importantly communication!
Division of Computing Power
You may be wondering how the combination of multiple server environments will scale as any cloud system grows in size. The distribution of power and storage capacity is often controlled by a backend software OS/system.
The server admin would be able to log into the backend via terminal and check CPU load of all the machines, along with other vital system information. This process is called virtualization which provides a layer of abstraction between the software and hardware components. Cloud server administrators can easily optimize the cluster for storage efficiency, optimal energy usage, data backups and more.
In the long run it’s also a much cheaper solution than virtual or physical server plans. And since not every customer needs a server setup you can take on additional charges as a Content Delivery Network(CDN). Customers only pay for the bandwidth they use to deliver images, streaming music, and other large media files. Utility computing as this is referenced gained a lot of popularity from Amazon Web Services.
Amazon Web Services
The most popular book seller on the Internet made a huge decision in 2006 to begin constructing a cloud-based server environment. The whole company placed a large investment into this technology and it paid off handsomely. Now the AWS brand products are seen everywhere and power hundreds of thousands of websites.
What makes Amazon different than other cloud-server providers is their progressive business structure. When setting up an AWS account you will only be charged for the amount of space required for your files. Such a scenario is similar with their Simple Storage Service(S3) where you can externally host your website data and quickly scale with increasing traffic over time.
Even better is the CDN counterpart known as Amazon CloudFront. It’s a web service built for speedy content delivery so you may outsource a lot of that computation from your own server. For full web hosting you should turn your attention towards Elastic Compute Cloud(EC2). Their services are certainly not for everybody but will fit perfectly with a small/medium business or startup. The staff is always reliable and you aren’t over-paying for server space which isn’t used.
The biggest downside is that you must understand server management and provide routine maintenance. The Amazon staff is always on hand to help, but ultimately you are responsible for updates to firewalls, Operating System patches, security bugs, etc. You need to understand how to setup and run a web server to get any real benefit from EC2. We recommend skimming over this EC2 web server thread which provides a solid list of pros/cons for developers.