Since the emergence of cloud computing many researchers have given definitions trying to define what exactly it is. So far, there is not a universal definition that gives a complete and sufficient understanding of the nature of this phenomenon. Let’s see below few definitions of Cloud computing to get a hint of it:
A Gartner report listing cloud computing at the top of its strategic technology areas further reaffirmed its prominence as an industry trend by announcing its formal definition as:
“A style of computing in which scalable and elastic IT-enabled capabilities are delivered as a service to external customers using Internet technologies.”
Forrester Research provided its own definition of cloud computing as:
“A standardized IT capability (services, software, or infrastructure) delivered via Internet technologies in a pay-per-use, self-service way.”
"Cloud computing a general term for anything that involves delivering hosted services over the Internet. These services are broadly divided into three categories: Infrastructure-as-a-Service , Platform-as-a-Service and Software-as-a-Service ."
The definition that received industry-wide acceptance was composed by the National Institute of Standards and Technology (NIST). NIST published its original definition back in 2009, followed by a revised version after further review and industry input that was published in September of 2011:
“Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model is composed of five essential characteristics, three service models, and four deployment models.”
As we know Cloud Computing is quickly becoming one of the most popular and promising technologies. It also offers variety of opportunities that help the organizations to improve their business and use technology more efficiently. Many organizations have started adopting cloud computing in their business. It is difficult for the organizations to survive in the traditional ways and they are unable to compete with their competitors. Especially in this competitive environment, respond quickly to business demands is necessary. The organizations are necessary to implement strategic ideas to gain competitive advantages. Cloud computing is an enhanced technology and become a vital technology to run business. It acts as an excellent technological tool that helps the organizations to stay competitive as it can be considered as an innovative way to increase business value. It enables the users and consumers to integrate and combine many different services together that increases the creativity and productivity. Cloud computing has successfully gained the interested from organizations because it offers a wide range of solutions and advantages to business.
Cloud Computing Deployment Models:
A cloud deployment model represents a specific type of cloud environment, Cloud environment are mainly categorized on the basis of access, size and proprietorship. There are four common cloud deployment models:
- Public Cloud: Public cloud is a form of cloud computing in which a company relies on a third-party cloud service provider for services. In this model, all of the physical resources are owned and operated by a third party cloud computing provider. The provider services multiple clients that may consist of individuals or corporations utilizing these resources through the public Internet. Services can be dynamically provisioned and are billed based on usage alone. This model provides the highest degree of cost savings while requiring the least amount of overhead. This model is best suited for business requirements wherein it is required to manage load spikes, host SaaS applications, utilize interim infrastructure for developing and testing applications, and manage applications which are consumed by many users that would otherwise require large investment in infrastructure from businesses
- Private Cloud: Private cloud is the phrase used to describe a cloud computing platform that is implemented within the corporate firewall, under the control of the IT department. A private cloud is designed to offer the same features and benefits of public cloud systems, but removes a number of objections to the cloud computing model including control over enterprise and customer data, worries about security, and issues connected to regulatory compliance.
- Hybrid Cloud: A combined form of private clouds and public clouds in which some critical data resides in the enterprise’s private cloud while other data is stored in and accessible from a public cloud. This is a setup that is much used for large companies. Vital data is usually preferred in a Private Cloud and supporting services in Public, for instance search, email, blogs, CRM etc. In other words strategic applications are run separately.
- Community Cloud:A community cloud in computing is a collaborative effort in which infrastructure is shared between several organizations from a specific community with common concerns (security, compliance, jurisdiction, etc.), whether managed internally or by a third-party and hosted internally or externally. This is cooperation between users who share some concerns like security, application types, legislative issues and efficiency demands. In other words, a Community Cloud is a closed Private Cloud for a group of users. For governments this is called Government Cloud and is a type of Cloud that is more and more adapted. Due to legislative issues, a Government Cloud may be the answer to country specific judicial concerns.
Cloud Service Models
There are various broad ways a cloud-based service is consumed and utilized. In the world of cloud computing, there are three different approaches to cloud-based services:
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
- IaaS: Infrastructure as a Service model provides infrastructure components to clients. Components may include virtual machines, storage, networks, firewalls, load balancers, and so on. With IaaS, clients have direct access to the lowest-level software in the stack – that is, to the operating system on virtual machines, or to the management dashboard of a firewall or load balancer. The cloud provider manages and delivers the underlying infrastructure, including storage, network and computing resources. Among the most familiar IaaS provides for business are Amazon AWS, Windows Azure, Google Compute Engine, Rackspace Open Cloud, IBM SmartCloud Enterprise, Virtustream, and VMware.
- PaaS: Gartner defines PaaS as a cloud service model where the cloud is used to deliver a platform to users from which they can develop, initialize and manage applications. PaaS offerings typically include a base operating system and a suite of applications and development tools. PaaS eliminates the need for organizations to build and maintain the infrastructure traditionally used to develop applications. The cloud provider manages and delivers programming languages, frameworks, libraries, services and tools for you to create and deploy applications. Among the most familiar PaaS providers for business are Red Hat OpenShift, Google App Engine, Amazon AWS, SAP HANA Cloud Platform
- SaaS: Software-as-a-Service is a software model that incorporates the delivery of a software application to a remote client via the Internet. The cloud provider manages and controls the underlying cloud infrastructure, operating systems, application platform and even individual application capabilities, with the possible exception of limited user-specific configuration. SaaS is the most familiar form of cloud service for consumers. SaaS moves the task of managing software and its deployment to third-party services. Among the most familiar SaaS applications for business are customer relationship management applications like Salesforce, productivity software suites like Google Apps, and storage solutions brothers like Box and Dropbox.
- On-premises servers are the traditional way of hosting applications and services and unless you have a private cloud, are not cloud computing. In contrast to public cloud services, they are physical computers you can touch because they’re located where you are. On-prem servers give you ultimate control but you manage everything about your machines
The essential characteristics of Cloud Computing include:
- On demand self-service: A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider
- Broad network access: Cloud Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms such as mobile phones, laptops and PDAs
- Resource pooling: Cloud provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state or datacenter). Examples of resources include storage, processing, memory and network bandwidth.
- Rapid elasticity:By providing pools of IT resources, along with tools and technologies designed to leverage them collectively, clouds can instantly and dynamically allocate IT resources to cloud consumers, on-demand or via the cloud consumer’s direct configuration. This empowers cloud consumers to scale their cloud-based IT resources to accommodate processing fluctuations and peaks automatically or manually.
- Measured Usage:Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., memory, storage, processing, bandwidth and active user accounts). Resource usage can be monitored, controlled and reported, providing transparency for the provider and consumer
- Multi Tenacity: Multi Tenacity is the 6th characteristics of cloud computing advocated by the Cloud Security Alliance. It refers to the need for policy-driven enforcement, segmentation, isolation, governance, service levels, and chargeback/billing models for different consumer constituencies. Consumers might utilize a public cloud provider’s service offerings or actually be from the same organization, such as different business units rather than distinct organizational entities, but would still share infrastructure.
Potential Benefits of Cloud Computing:
By adoptive Cloud Computing you can solve many problems. Here are some benefits of cloud Computing.
- Flexibility: Cloud-based services are ideal for businesses with growing or fluctuating bandwidth demands. When an application is experiencing increased traffic it is difficult to scale resources on the fly to meet the increasing demand.
- Availability: Most cloud providers are extremely reliable in providing their services, with many maintaining 99.99% uptime. The connection is always on and as long as workers have an Internet connection, they can get to the applications they need from practically anywhere. Some applications even work off-line.
- Backup and Recovery: Setup entire data center could double the cost with required a complex disaster recovery plan. Disaster recovery on the cloud can be setup much more quickly with much better control over the resources.
- Almost Unlimited Storage: As Data is exploding at an unprecedented rate Organizations in fields such as scientific research, genomics, aerospace, weather modeling, oil and gas, and national intelligence soon will generate and analyze data volumes in the tens of petabytes and potentially hundreds of petabytes by 2020. To meet exponential storage growth requirement and storage scale requirements adopting cloud is the best use case.
- Multi-region Infrastructure: When you want to setup multi-region IT Infrastructure with all the associated resource, maintenance, time, human, and error control effort is going to be a challenging.
- Fast Deployment: For fast application implementation and deployment, while reducing infrastructure overhead.
- Improved mobility: When you want to build widely distributed development team. Cloud computing technology allow remotely located employees to access applications and work via the Internet. Data and applications are available to employees no matter where they are in the world
- No Up-Front Cost: Cloud computing shifts IT expenditure to a pay-as-you-go model, which is an attractive benefit, especially for startups. It helps to reduce overall operational costs, while increasing the effectiveness of IT processes. With traditional computing, a company can spend millions before it gets any value from its investment in the data center.
- Increases collaboration: According to the Cloud Security Alliance, 79% companies receive regular requests from users to buy more cloud applications with file sharing and collaboration being one of the top-requested cloud services.
- Automatic software updates: Cloud service providers do the server maintenance including software upgrades, security updates, freeing up their customers’ time and resources for different other tasks.
Potential Disadvantages of Cloud Computing:
In spite of its many benefits, as mentioned above, Cloud computing also has its disadvantages:
- Security: Major issue of Cloud is represented by security. Cloud Customer should know that they will be surrendering all their company’s sensitive information to a third-party cloud service provider. This could potentially impose a great risk to the company. Hence, business need to make sure that they choose the most reliable service provider, who will keep their information totally secure.
- Technical Issues: Though it is true that information and data on the cloud can be accessed anytime and from anywhere at all, there are times when this system can have some serious dysfunction. You should be aware of the fact that this technology is always prone to outages and other technical issues. Even the best cloud service providers run into this kind of trouble, in spite of keeping up high standards of maintenance.
- Bandwidth limitations: Bandwidth is a measure of how much data can be moved from one spot to another in a given amount of time. If bandwidth is not as fast as the customer need, the solution would be not suitable.
- Latency: The sum of temporal delays in propagation and packages transmission within the network affects the cloud storage solution.
- Prone to attack: Storing information in the cloud could make the companies vulnerable to external hack attacks and threats, therefore there is always the lurking possibility of stealth of sensitive data.
- Possible downtime: Cloud computing makes the small business dependent on the reliability of their Internet connection.
- Lack of support: Customer service for Web apps leaves a lot to be desired too many cloud-based applications make it difficult to get customer service promptly.