Cloud Technology Explained
The core components of cloud technology are service architectures known as IaaS, PaaS, and SaaS. People are most familiar with Software as a Service.
By Howard Young
Introduction to Cloud Computing
Cloud computing is often misunderstood as a complex arbitrary technology but it is greatly simplified if the generic misused “cloud” term is removed and replaced with “service.” However, service computing doesn’t have that catchy brand name that is easy to market with fluffy white clouds, so the term never caught on. But that is exactly what Cloud Computing is defined as: a set of computer resources that are provided as a service. These services are neatly bundled by companies – or cloud service providers – and offered for lease or metered by use to the public as a tenancy business model.
The cloud computing architecture is designed for elasticity so resources are conserved and used on an as needed basis. This flexibility benefits both the provider and end user allowing both the scale the services as required. Often the service provider can oversubscribe yet provide more than adequate and fair services to the user.
To the end user, the Cloud simply appears like an application or device to them performing the needed task to their satisfaction. Yet, below the cloud cover, there are three distinct facets:
- Cloud Applications – Software-as-a-Service (SaaS)
- Cloud Platforms – Platform-as-a-Service (PaaS)
- Cloud Infrastructure – Infrastructure-as-a-Service (IaaS)
Cloud Computing Architecture
Even though there are three distinct layers – or a stack as we in the industry like to call them – they work in tandem to form a single service to the end user. The architecture presents a frontend view or interface via a public network where the user will have access to it. The public network is typically exposed to the internet; however, it may be protected and restricted in a company intranet. Usually there is a backend private network where additional resources are only available to the cloud providing the service.
The infrastructure or IaaS is the hardware and operating systems which the platforms and applications run on top of. Common components such as switches and routers are implied in the architecture; yet, some service providers like RackSpace now include load balancers as part of their IaaS offering.
The onset of server virtualization within the past 5 years or so has made the scalability in cloud computing possible. Before that, a single server was often deployed per application creating an underutilized resource in the data center. Now with VMware’s ESX and Citrix’s XEN hypervisors, the same server has the capability to run many applications in isolated Virtual Machines (VM) using the same resource. VM’s can scale on the server by increasing memory and storage allocations enabling elasticity as the application’s demands grow.
Each VM emulates an AMD or Intel x86 processor and imports a shared virtual instance of the underlying server hardware. Typically these are drivers that allow network access and to a local disk drive image. Some enterprise servers may have Fibre Channel HBAs allowing access to a SAN. Regardless of the base hardware, configuration of VMs is flexible enough where only the required resources are imported.
While you could argue that the OS running in the VM is part of the infrastructure layer, I would argue against it. The OS is some flavor of Linux or a Windows server that rapidly deployed as the platform service for the applications to run on. Most IaaS providers have preconfigured PaaS base images consisting of Ubuntu LTS, Red Hat or even Windows 2008 servers enable quick provisioning of the platform without the lengthy install process.
Cloud platform management companies like RightScale take provisioning to the next level where they can manage platforms and applications within the clouds and across different IaaS vendors such as Amazon and RackSpace. Their template system can create a base platform or preinstalled applications saving countless man hours to the SaaS developer. Organizations can leverage from RightScale’s Multicloud Marketplace to cut costs and reduce time to market for their service.
The line blurs between platform and applications because they are inherently the same. That is, a PaaS may be a SaaS or a PaaS may be a SaaS. For example, in one instance you may have a LAMP server (Linux, Apache, MySQL, Php/Python) behaving as a PaaS. But if you create an instance of a MySQL server, this is a SaaS with respect to a LAP (LAMP – MySQL) Server.
Regardless, it is easier to think of applications as what service it provides instead of the infrastructure and platform it runs on. Examples like storage, database, word processor, spreadsheet, email, website, etc. are typically cloud applications. Most services are offered without fees, but providers like Google will display advertising to offset infrastructure and development costs.
Where is Cloud Technology Heading?
Cloud technology continues to evolve but the technology lacks common standards that would accelerate the adoption of moving resources and services into the cloud. The Cloud Standards Customer Council is an advocacy group working towards cloud standardization and should help the convergence of the technology.
As more companies adopt the cloud, the consumer will see lower infrastructure costs and rapid deployment of new and exciting services that will help us get our job done faster, cheaper and more efficiently.