Cloud Computing, Part III
As discussed in my previous articles, cloud computing is a system in which software programs and storage space can be accessed via the Internet. It can be used for hosting, thus eliminating the need for personal hosting services which can bog down. If you put your web design on a cloud server, you have instant access to computing power. As your needs grow, you can ramp up; as it ebbs, you release the servers back to the cloud.
There are several advantages to cloud computing:
• Scalability – easy to grow or shrink with demand
• Instantly available
• Save money – pay only for what you use
• No hardware to deal with
How it works:
Cloud computing involves surrendering control, which some people find liberating while it makes others very nervous. For instance, users of a site like Salesforce.com don’t know or care how the site is executed, how it deals with failures, where it is located, or any of the other little details one has to deal with when running business operations. So what DO they want? They want their service to work when they need it.
The potential uses of cloud computing are infinite. If you utilize the correct middleware, you can hand off all of your programming needs to a cloud computing system. Literally, everything from basic word processing software to customized computer programs designed for a specific company can work on a cloud computing system.
Cloud computing is a metered service similar to a public utility like cable, cell phone networks, electricity, water, and natural gas. It allows a computing system to attain and release computing resources on demand. Cloud computing also allows the deployment of software applications into an environment running the necessary technology stack for development, staging, or production of a software application. It manages this while minimizing the necessary interaction with the underlying layers of the technology stack.
There are three distinct sub-areas of cloud computing. They are IaaS, PaaS, and SaaS, which are discussed here.
Infrastructure as a Service (IaaS):
With IaaS clouds, it becomes simple and affordable to distribute resources such as servers, connections, storage, and any other tools necessary to build an application environment from scratch. In other words, rather than purchasing servers, software, data center space or network equipment, clients instead buy those resources as a fully outsourced service. IaaS clouds are the core infrastructure of PaaS and SaaS clouds.
Platform as a Service (PaaS):
PaaS clouds are designed to deliver a cost-effective cloud-based workspace environment (hardware architecture or software framework). They allow a company to deploy applications without the costs and complexities of buying and managing the essential hardware and software.
Software as a Service (SaaS):
Software as a Service has been around for a while and even precedes the term “Cloud Computing”. It is basically a cost effective way for businesses to acquire rights to use software as needed without having to buy licenses for all users and applications. With SaaS, a provider licenses an application to customers for use as a service on demand.
Recently Cisco Systems, EMC, and VMware announced that they are teaming up to sell hardware and software for cloud computing. The three companies are creating something they call the Virtual Computing Environment Coalition “to accelerate customers’ ability to increase business agility through greater IT infrastructure flexibility, and lower IT, energy and real-estate costs through pervasive data center virtualization and a transition to private cloud infrastructures.” With advocates like these, it looks like cloud computing is here to stay.