Written by Kawha Yang
Cloud computing is a type of computing that relies on sharing computing resources rather than having local servers or personal devices to handle applications. In cloud computing, the word cloud is used as a metaphor for “the Internet”, so the phrase cloud computing means “a type of internet-based”, where different service such as servers, storage and applications are delivered to an organization’s computers and devices through internet.
Technically, we only need to purchase the amount of storage space that is necessary for one’s particular use. For example, a business can purchase more space or increase their subscription as their business grows or reduce the storage if necessary. Cloud computing has one major requirement: we need to have an internet connection in order to access the cloud. If we want to look at a specific document that is housed in our cloud we must first establish an internet connection. This connection can either be a wireless/wired internet or a mobile connection. The benefit to cloud computing is that is allows access to one document from wherever we are or on any device that can access the internet.
The goal of cloud computing is to apply traditional super-computing and high performance computing power normally used by military and research facilities to perform tens of trillions of computations per second, in consumer oriented applications such as financial portfolios to deliver personalized information, to provide data storage or to power large, immersive computer games. Many companies are delivering services from cloud. Some notable examples include the following:
- Google – Has a private cloud that is uses for delivering many different services to its users, including email access, document applications, text translation, maps, web analytics etc.
- Microsoft – Has Microsoft SharePoint online service that allows for content and business intelligence tools to be moved into the cloud and Microsoft currently makes its office application available in a cloud
- com – Run its application set for its customer in a cloud and its force.com and vmforce.com products provide developers with the platform to build customized cloud services.
The goal of cloud computing is also allows users to take benefit from existing technologies without the need for deep knowledge or expertise with each one of them. The cloud aims to cut costs, and help users focus on their core business instead of being impeded by IT obstacles.
- Client-server model – Client-server computing refers broadly to any distributed application that distinguishes between service providers (servers) and service requestors (clients).
- Grid computing – “A form of distributed and parallel computing, whereby a ‘super and virtual computer’ is composed of a cluster of networked, loosely coupled computers acting in concert to perform very large tasks.”
- Utility computing – The “packaging of computing resources, such as computation and storage, as a metered service similar to a traditional public utility, such as electricity.”
- Peer to peer – A distributed architecture without the need for central coordination. Participants are both suppliers and consumers of resources in contrast to the traditional client-server models.
Cloud computing is different from traditional hosting with its essential characteristics such as
- On-demand self service – A consumer with an instantaneous need at a particular timeslot can avail particular resources in an automatic fashion without restoring to human interactions with providers of these resources.
- Broad network access – capabilities are available over it the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms.
- Resource pooling– the cloud service provider’s computing resource are pooled to serve multiple consumer using a multi-tenant model with different physical and virtual resources dynamically assigned and reassigned accordingly to consumer demand.
- Rapid elasticity – capabilities can be elastically provisioned and released in some case automatically to scale rapidly outward and inward commensurate with demand.
- Measured service – cloud service automatically control and optimize resource use by leveraging a meeting capabilities at some level of abstraction appropriate to the type of service.
- Ubiquitous network access-capabilities are available over the network and access through standard mechanism that promote use by heterogeneous thin or thick client platform.
- Agility – improves user’s ability to re-provision technological infrastructure resources.
- Device and location independence – enable users to access systems using a web browser regardless of their location or what device they use.
- Productivity – may be increased when multiple users can work on the same data simultaneously.
- Security – often good or better than other traditional systems, in part because providers are able to devote resources to solving security issues that customers cannot afford to tackle.
Once a cloud is established, the service provider develops business models that can differ depending on requirements. The primary service models being deployed are commonly known as:
- Software as a service (SaaS) – consumer purchases the ability to access and use an application or service that is hosted in the cloud. Cloud customer don’t have control over the cloud infrastructure that often employs a multi-tenancy system architecture, namely, different cloud customer application are organized in a single logical environment on the SaaS cloud to achieve economies of scale and optimization in terms of speed, security, availability and maintenance.
- Platform as a service (PaaS) – consumer purchase access to the platform, enabling them to deploy their own software and applications in the cloud. The operating system and network access are not managed by the consumer and there might be constrains as to which applications can be deployed. Hence the difference between SaaS and PaaS is that SaaS only hosts complete cloud application whereas PaaS offers a development platform that host both completed and in progress cloud application.
- Infrastructure as a service (IaaS) – consumer control and manage the system in terms of the operating systems, applications, storage and network connectivity but do not themselves control the cloud infrastructure. Also known are the various subsets of these models that may be related to a particular industry or market.
- Communication as a service (CaaS) – is one subset model used to describe hosted IP telephony services.
There are different types of cloud that can subscribe to depending on user’s needs. As a home user or small business owner will most likely use public cloud services.
- Public cloud – a public cloud can be accessed by any subscriber with an internet connection and access to the cloud space. Public cloud services are available to clients from a third party service provider via internet. Public cloud provides an elastic, cost efficient means to deploy solution and take care of deploying and securing the infrastructure.
- Private cloud – A private cloud establish for a specific group or organization and limits access to just that group. A private cloud offer some of the benefits of public cloud environment, such as elastic on demand capacity, self-provisional and service based access.
- Community cloud – A community cloud is controlled and used by a group of organization that has shared interest, such as specific security requirements or a common mission. The members of the community share access to the data and applications in cloud
- Hybrid cloud – a hybrid cloud is essentially a combination of at least two clouds, where the cloud included are a mixture of public, private or community. Hybrid cloud is a combination of an interoperating public and private cloud. In this model, users typically outsource non business critical information and processing to the public cloud, while keeping business critical services and data in their control.
Pros of Cloud Computing
- On demand – whenever the user demands the services it is ready to provide the services.
- Reduced cost – cloud computing offers cost much less than you would spend on desktop software.
- Increased mobility – with cloud computing you can access your information anywhere there is a network connection.
- Storage capacity – it is almost unlimited so you can store your data with no worries to increase your system’s storage capabilities.
- Elasticity – you can access as much or as a little service as per your need or you can scale your needs up and down depends on the service models.
- Fully managed by service providers – in the cloud, software upgrades and enhancements are no cost, automatic.
- Availability – your data is still available even if you lose your laptop.
- Support services – the cloud venders provide a range of services to their services.
Cons of Cloud Computing
- Accessibility concerns – although all the resources in a cloud computing system are handled by the service providers, the user has to concern about accessing the services. Due to any technological problems such as loss of internet connectivity, we will be unable to get services of the cloud. In the worst case scenario the user can lose the access to data he has stored on the cloud.
- Security concerns – as cloud computing shifts the computing and storage from local machine to network, the security is much more critical issue. Sometimes it is difficult to trust on the service provider in case of critical and confidential data which has to be stored in the site of cloud service providers.
- Limited flexibility – with the use of a cloud computing services, upgrading and new software features are ultimately in the hands of the service providers you have chosen. Although the service provider has various things to offer to the client, it still limits the flexibility of the user, as compared to the service which all are local in absence of cloud computing.
- Dependencies – it means the loss of control to certain degree which may further results in quality problem with cloud providers.
The following are some of the notable challenges associated with cloud computing, and although some of these may cause as slowdown when delivering more services in the cloud, most also can provide opportunities if resolved with due care and attention in planning stages.
- Security and privacy – Perhaps two of the more “hot button” issues surrounding the cloud computing relate to storing and securing data, and monitoring the use of the cloud by service providers. These issues are generally attributed to the slowing deployment of cloud services.
- Lack of standard – cloud has documented interfaces however no standards are associated with these and thus it is unlikely that most cloud will be interoperable. In recent years NIST development a Cloud Computing Framework to address the standards as well as security, privacy and other issues. Some cloud providers started using the Framework in their cloud development.
- Continuously evolving – user experiences as well as the requirements for interfaces, networking, and storage are continuously evolving. This means that a cloud especially a public one does not remain static and is also continuously evolving.
- Compliance concerns – the Sarbanes-Oxley Act (SOX) in the US and data protection directives in the EU are just two among many compliance issues affecting cloud computing based on the type of data and applications for which the cloud is being used. The EU has a Legislative backing for data protection across all members’ states but in the US data protection is different and can vary from state to state.
Security is the biggest problem of this system, because the services of cloud computing are based on sharing. Virtualization is one of the most important elements that make cloud computing. Virtualization is a term that refers to the abstraction of computer resources. The main component of a virtualized system is hypervisor and is responsible to enforce isolation among client leased resources and other tools/resources in the resource pool. A hypervisor is a virtualizer that maps from physical resources to virtualized resources and vice versa. It is the main controller of any access to the physical server resources by virtual machines. Any compromise of the hypervisor violates the security of the virtual machines because all virtual machine operations become traced unencrypted.
Security Principles in Cloud
- Confidentiality: the prevention of unauthorized disclosure of information that may be intentionally or unintentionally refers to the confidentiality.
- Integrity: Integrity is the assurance that information can only be accessed or modified by those authorized to do so.
- Authentication: it is the process of testing user’s identity and ensures that user is who they claim to be.
- Availability: This principle ensures the availability of data and computing resources when needed.
- Authorization: it refers to the process of giving someone any individual to access any authorized data and computing resources.
Possible Vulnerabilities and Security Attacks on Hypervisor Cloud
- Network based attack
- Flooding attack
- Man in the middle attack
- Web based attack
- Weak authentication or weak username, password
- Cross site scripting (XSS)
- Session hijacking
- Malware injection based attack
- Virtual machine based vulnerabilities
Cloud computing is one of the most promising emerging technologies. Many organizations are using this computing paradigm to increase the performance and to decrease the cost included. Cloud computing is the more powerful movements in the web 2.0. Many businesses are seeking customer service applications that can capture the crowd sourced pools of knowledge floating across the internet from sited like Google, Facebook and Amazon and then use this information to better equip commercial customer service operations with useful knowledge. It’s of no surprise that companies want an easy and simple way to capture all of the information that is relevant to their business and then leverage this knowledge to improve customer service.