Although cloud computing is only a different way to deliver computer resources, rather than a new technology, it has sparked a revolution in the way organizations provide information and service.
Originally IT was dominated by mainframe computing. This sturdy configuration eventually gave way to the client-server model. Contemporary IT is increasingly a function of mobile technology, pervasive or ubiquitous computing, and of course, cloud computing. But this revolution, like every revolution, contains components of the past from which it evolved.
Thus, to put cloud computing in the proper context, keep in mind that in the DNA of cloud computing is essentially the creation of its predecessor systems. In many ways, this momentous change is a matter of “back to the future” rather than the definitive end of the past. In the brave new world of cloud computing, there is room for innovative collaboration of cloud technology and for the proven utility of predecessor systems, such as the powerful mainframe. This veritable change in how we compute provides immense opportunities for IT personnel to take the reins of change and use them to their individual and institutional advantage.
Cloud computing is a comprehensive solution that delivers IT as a service. It is an Internet-based computing solution where shared resources are provided like electricity distributed on the electrical grid. Computers in the cloud are configured to work together and the various applications use the collective computing power as if they are running on a single system.
The flexibility of cloud computing is a function of the allocation of resources on demand. This facilitates the use of the system’s cumulative resources, negating the need to assign specific hardware to a task. Before cloud computing, websites and server-based applications were executed on a specific system. With the advent of cloud computing, resources are used as an aggregated virtual computer. This amalgamated configuration provides an environment where applications execute independently without regard for any particular configuration.
Cloud computing building blocks
The cloud computing model is comprised of a front end and a back end. These two elements are connected through a network, in most cases the Internet. The front end is the vehicle by which the user interacts with the system; the back end is the cloud itself. The front end is composed of a client computer, or the computer network of an enterprise, and the applications used to access the cloud. The back end provides the applications, computers, servers, and data storage that creates the cloud of services.
Layers: Computing as a commodity
The cloud concept is built on layers, each providing a distinct level of functionality. This stratification of the cloud’s components has provided a means for the layers of cloud computing to becoming a commodity just like electricity, telephone service, or natural gas. The commodity that cloud computing sells is computing power at a lower cost and expense to the user. Cloud computing is poised to become the next mega-utility service.
The virtual machine monitor (VMM) provides the means for simultaneous use of cloud facilities. VMM is a program on a host system that lets one computer support multiple, identical execution environments. From the user’s point of view, the system is a self-contained computer which is isolated from other users. In reality, every user is being served by the same machine. A virtual machine is one operating system (OS) that is being managed by an underlying control program allowing it to appear to be multiple operating systems. In cloud computing, VMM allows users to monitor and thus manage aspects of the process such as data access, data storage, encryption, addressing, topology, and workload movement.
A Virtual Machine Monitor (VMM) is a software program that enables the creation, management and governance of virtual machines (VM) and manages the operation of a virtualized environment on top of a physical host machine.
VMM is also known as Virtual Machine Manager and Hypervisor. However, the provided architectural implementation and services differ by vendor product.
VMM is the primary software behind virtualization environments and implementations. When installed over a host machine, VMM facilitates the creation of VMs, each with separate operating systems (OS) and applications. VMM manages the backend operation of these VMs by allocating the necessary computing, memory, storage and other input/output (I/O) resources.
VMM also provides a centralized interface for managing the entire operation, status and availability of VMs that are installed over a single host or spread across different and interconnected hosts.
For example, IBM’s VM/ESA can control multiple virtual machines on an IBM S/390 system.
In Microsoft Virtual Server 2005, Virtual Machine Monitor is the proprietary name for a kernel-mode driver that functions as a firewall between the host OS and the virtual machines. It can prevent any single program, running in one of the virtual machines, from overusing the resources of the host OS.
A cloud server is primarily an Infrastructure as a Service (IaaS) based cloud service model. There are two types of cloud server: logical and physical. A cloud server is considered to be logical when it is delivered through server virtualization. In this delivery model, the physical server is logically distributed into two or more logical servers, each of which has a separate OS, user interface and apps, although they share physical components from the underlying physical server.
Whereas the physical cloud server is also accessed through the Internet remotely, it isn’t shared or distributed. This is commonly known as a dedicated cloud server.
The following are the layers the cloud provides:
The infrastructure layer is the foundation of the cloud. It consists of the physical assets — servers, network devices, storage disks, etc. Infrastructure as a Service (IaaS) has providers such as the IBM® Cloud. Using IaaS the IT organization don’t actually control the underlying infrastructure, but do have control of the operating systems, storage, deployment applications, and, to a limited degree, control over select networking components.
Print On Demand (POD) services are an example of organizations that can benefit from IaaS. The POD model is based on the selling of customizable products. PODs allow individuals to open shops and sell designs on products. Shopkeepers can upload as many or as few designs as they can create. Many upload thousands. With cloud storage capabilities, a POD can provide unlimited storage space.
The middle layer is the platform. It provides the application infrastructure. Platform as a Service (PaaS) provides access to operating systems and associated services. It provides a way to deploy applications to the cloud using programming languages and tools supported by the provider. IT Organizations do not have to manage or control the underlying infrastructure, but do have control over the deployed applications and, to some degree over application hosting environment configurations.
PaaS has providers such as Amazon’s Elastic Compute Cloud (EC2). The small entrepreneur software house is an ideal enterprise for PaaS. With the elaborated platform, world-class products can be created without the overhead of in-house production.
Amazon Elastic Compute Cloud (Amazon EC2) is a cloud infrastructure offered under Amazon Web Services (AWS) that provides raw computing resources on demand.
Amazon EC2 provides computing instances that can be scalable in terms of computing power and memory, flexible by providing the option to host applications on multiple different platforms, and secure thanks to a tightly coupled multi-tenant architecture. Amazon EC2 enables the provision of a virtual server, which can incorporate massive amounts of computing power. This is available on a subscription-based utility computing model, and the user is billed only for the resources used.
Amazon EC2 is also known as Amazon Web Services EC2 (AWS EC2).
Because the computing instances provided are software based, each unique instance is scalable and users can create an entire virtual data center over the cloud. Amazon EC2-created instances can be accessed by open-source Simple Object Access Protocol (SOAP) application programming interface (API) support, giving developers the liberty to create various types of applications, just as with an on-premises computing infrastructure. The instance provided by EC2, commonly known as a virtual machine, is created using Amazon Virtual Image and is hosted over Xen Hypervisor, a server virtualizing software.
The top layer is the application layer, the layer most visualize as the cloud. Applications run here and are provided on demand to users. Software as a Service (SaaS) has providers such as Google Pack. Google Pack includes Internet accessible applications, tools such as Calendar, Gmail, Google Talk, Docs, and many more.
There are three types of cloud formations: private (on premise), public, and hybrid.
Public clouds are available to the general public or a large industry group and are owned and provisioned by an organization selling cloud services. A public cloud is what is thought of as the cloud in the usual sense; that is, resources dynamically provisioned over the Internet using web applications from an off-site third-party provider that supplies shared resources and bills on a utility computing basis.
Private clouds exist within company’s firewall and are managed by your organization. They are cloud services organizations create and control within enterprise. Private clouds offer many of the same benefits as the public clouds — the major distinction being that your organization is in charge of setting up and maintaining the cloud.
Hybrid clouds are a combination of the public and the private cloud using services that are in both the public and private space. Management responsibilities are divided between the public cloud provider and the business itself. Using a hybrid cloud, organizations can determine the objectives and requirements of the services to be created and obtain them based on the most suitable alternative.
IT roles in the cloud
Let us consider the probability that management and administration will require greater automation, requiring a change in the tasks of personnel responsible for scripting due to the growth in code production, IT may be consolidating, with a need for less hardware and software implementation, but it is also creating new formations. The shift in IT is toward the knowledge worker. In the new paradigm, the technical human assets will have greater responsibilities for enhancing and upgrading general business processes.
The growing use of mobile devices, the popularity of social networking, and other aspects of the evolution of commercial IT processes and systems, will guarantee work for the developer community; however, some of the traditional roles of development personnel will be shifted away from the enterprise’s developers due to the systemic and systematic processes of the cloud configuration model.
A recent survey by IBM, New developerWorks survey shows dominance of cloud computing and mobile application development demonstrated that the demand for mobile technology will grow exponentially. This development, along with the rapid acceptance of cloud computing across the globe, will necessitate a radical increase of developers with an understanding of this area. To meet the growing needs of mobile connectivity, more developers will be required who understand how cloud computing works.
Cloud computing provides an almost unlimited capacity, eliminating scalability concerns. Cloud computing gives developers access to software and hardware assets that most small and mid-sized enterprises could not afford. Developers, using Internet-driven cloud computing and the assets that are a consequence of this configuration, will have access to resources that most could have only dreamed of in the recent past.
Administrators are the guardians and legislators of an IT system. They are responsible for the control of user access to the network. This means sitting on top of the creation of user passwords and the formulation of rules and procedures for such fundamental functionality as general access to the system assets. The advent of cloud computing will necessitate adjustments to this process since the administrator in such an environment is no longer merely concerned about internal matters, but also the external relationship of his enterprise and the cloud computing concern, as well as the actions of other tenants in a public cloud.
This alters the role of the firewall constructs put in place by the administration and the nature of the general security procedures of the enterprise. It does not negate the need for the guardian of the system. With cloud computing comes even greater responsibility, not less. Under cloud computing, the administrator must not only ensure data and systems internal to the organization, they must also monitor and manage the cloud to ensure the safety of their system and data everywhere.
The function of the architecture is the effective modeling of the given system’s functionality in the real IT world. The basic responsibility of the architect is development of the architectural framework of the agency’s cloud computing model. The architecture of cloud computing is essentially comprised of the abstraction of the three layer constructs, IaaS, PaaS, and SaaS, in such a way that the particular enterprise deploying the cloud computing approach meets its stated goals and objectives. The abstraction of the functionality of the layers is developed so the decision-makers and the foot soldiers can use the abstraction to plan, execute, and evaluate the efficacy of the IT system’s procedures and processes.
The role of the architect in the age of cloud computing is to conceive and model a functional interaction of the cloud’s layers. The architect must use the abstraction as a means to ensure that IT is playing its proper role in the attainment of organizational objectives.
To cloud or not to cloud: Risk assessment
The main concerns voiced by those moving to the cloud are security and privacy. The companies supplying cloud computing services know this and understand that without reliable security, their businesses will collapse. So security and privacy are high priorities for all cloud computing entities.
Governance: It addresses the question of how will industry standards be monitored?
Governance is the primary responsibility of the owner of a private cloud and the shared responsibility of the service provider and service consumer in the public cloud. However, given elements such as transnational terrorism, denial of service, viruses, worms and the like — which do or could have aspects beyond the control of either the private cloud owner or public cloud service provider and service consumer — there is a need for some kind of broader collaboration, particularly on the global, regional, and national levels. Of course, this collaboration has to be instituted in a manner that will not dilute or otherwise harm the control of the owner of the process or subscribers in the case of the public cloud.
If you are going to adopt the cloud framework, bandwidth and the potential bandwidth bottleneck must be evaluated in your strategy.
Virtualization implementers found that the key bottleneck to virtual machine density is memory capacity; now there’s a whole new slew of servers coming out with much larger memory footprints, removing memory as a system bottleneck. Cloud computing negates that bottleneck by removing the issue of machine density from the equation—sorting that out becomes the responsibility of the cloud provider, freeing the cloud user from worrying about it.
For cloud computing, bandwidth to and from the cloud provider is a bottleneck.
In today’s market the best answer is the blade server. A blade server is a server that has been optimized to minimize the use of physical space and energy. One of the huge advantages of the blade server for cloud computing use is bandwidth speed improvement. For example, the IBM BladeCenter is designed to accelerate the high-performance computing workloads both quickly and efficiently. Just as the memory issue had to be overcome to effectively alleviate the bottleneck of virtual high machine density, the bottleneck of cloud computing bandwidth must also be overcome, so look to the capabilities of your provider to determine if the bandwidth bottleneck will be a major performance issue.
Because a sizable proportion of the cost in IT operations comes from administrative and management functions, the implicit automation of some of these functions will per se cut costs in a cloud computing environment. Automation can reduce the error factor and the cost of the redundancy of manual repetition significantly.
There are other contributors to financial problems such as the cost of maintaining physical facilities, electrical power usage, cooling systems, and of course administration and management factors. As you can see, bandwidth is not alone, by any means.
Mitigate the risk
Consider these possible risks:
- Adverse impact of mishandling of data.
- Unwarranted service charges.
- Financial or legal problems of vendor.
- Vendor operational problems or shutdowns.
- Data recovery and confidentiality problems.
- General security concerns.
- Systems attacks by external forces.
With the use of systems in the cloud, there is the ever present risk of data security, connectivity, and malicious actions interfering with the computing processes. However, with a carefully thought out plan and methodology of selecting the service provider, and an astute perspective on general risk management, most companies can safely leverage this technology.
In this revolutionary new era, cloud computing can provide organizations with the means and methods needed to ensure financial stability and high quality service. Of course, there must be global cooperation if the cloud computing process is to attain optimal security and general operational standards. With the advent of cloud computing it is imperative for us all to be ready for the revolution.