What is Cloud Computing?
Cloud computing in simple terms refers to remotely running workloads like servers, storage, databases, networking, software, analytics, and intelligence—in a commercial provider’s data center over the Internet to offer faster innovation, flexible resources, and economies of scale. In other words, cloud computing may be defined as a kind of internet-based computing where distinct services are delivered to an organization through the network i.e. delivery of resources via creating a virtual simulation of the resource, selling of application software, and platform on which we need to execute the application. Examples of cloud services include online file storage, social networking sites, webmail, and online business applications.
|According to the U.S. National Institute of Standards and Technology (NIST), “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 promotes availability and is composed of five essential characteristics, three service models, and four deployment models.|
Five essential characteristics: The five essential characteristics that should be there in a computing environment so that it can be considered cloud computing are:
- On-demand self-service.
- Broad network access.
- Resource pooling.
- Rapid elasticity.
- Measured service.
Three service models: Cloud computing can be accessed for the usage of any particular software, platform, or complete infrastructure. Based on these the following three services are characterized:
- Cloud Software as a Service (SaaS).
- Cloud Platform as a Service (PaaS).
- Cloud Infrastructure as a Service (IaaS).
Four deployment models: There are four different ways through which cloud computing can be deployed:
- Private Cloud.
- Community Cloud.
- Public Cloud.
- Hybrid Cloud.
Five Essential Characteristics of Cloud Computing:
(1) On-Demand Self-Service: On-demand service means individual use on request. It means a user can use the resources when he desires, anywhere, and at any time via the global network. These resources include server time or a network space as physical space on storage devices that are accessed without the requirement of human involvement from a client or the service provider. It also provides computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service provider.
(2) Broad network access- All computing resources offered by cloud servers are available over the network. Users can access them from anywhere and at any time with the help of their devices and internet connection.
(3) Resource pooling- The provider’s computing resources are pooled to serve multiple consumers using a multitenant 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 the location at a higher level of abstraction (for example- country, state, or data center). Examples of resources include storage, processing, memory, and network bandwidth.
(4) Rapid Elasticity- Rapid elasticity and flexibility of the system can be available to the system user in a short period of time if it is necessary. Cloud dynamically allocates necessary resources in order to ensure a smooth operation, and when the flow decreases again, resources are automatically restored to their original condition. The user is free to purchase additional resources and opportunities in any amount and at any time.
(5) Measured Service- Cloud systems automatically control and optimize resource use by leveraging a metering capability according to the type of service (e.g., storage, processing, bandwidth, and active user accounts) i.e., the service provider will charge the user as per the usage of IT services. Resource usage can be monitored, controlled, and reported providing transparency for both the service provider and user who are utilizing the service. The resource service which is provided can be scaled larger or smaller; and according to the use of a service (type of service and amount of time which this service is used, also on a number of users), the customers are billed.
You can say, through cloud computing, service providers provide access to software, platform, or infrastructure on a basis of demand raised by the user and the user has to pay for it on a metered basis.
Three Service Models of Cloud Computing:
(1) Cloud Software as a Service (SaaS)- Software as a Service is a method for delivering software applications over the Internet, on-demand, and typically on a subscription basis. With SaaS, cloud providers host and manage the software application and underlying infrastructure and handle any maintenance, like software upgrades and security patching. Users connect to the application over the Internet, usually with a web browser on their phone, tablet, or PC. Examples: Many of the most popular cloud-based applications are business productivity tools such as email (e.g., Gmail, Hotmail), online productivity software (e.g., Google Docs, Microsoft Office 365), conferencing services (e.g., Microsoft LiveMeeting, WebEx), and customer relationship management software (e.g., Salesforce).
(2) Cloud Platform as a Service (PaaS)- Platform as a Service provides a platform for developing different business applications. It is one of the service models in which service providers or vendors provide hardware and software to create, test, run and manage the applications required by organizations or businesses. This service is useful for developers. PaaS vendors provide all computing resources like server-side components and support for multiple programming languages. Due to these features, developers can focus on writing the code for different applications for various projects and run them directly on the PaaS layer. There is no need to worry about the infrastructure. Your PaaS vendor manages and delivers the entire platform structure. The underlying architecture including operating systems, storage, servers, etc. is controlled by vendors and not by clients. The PaaS model comprises the following services:
- Platform: OS and Middleware.
- Infrastructure: Servers, Storage, Network, Security.
PaaS simplifies the process of application development and hence, saves time and operational costs. Examples of PaaS include Microsoft Azure, Google App Engine, etc.
(3) Cloud Infrastructure as a Service (IaaS)- Infrastructure as a Service model offers hardware and minimum software support for users to develop an application. Examples- virtual machines, virtual storage, and virtual infrastructure. All the infrastructures are managed by the cloud service provider. Users are responsible for installing and control of applications, OS, and interactions. An example of an IaaS provider is Rackspace.
Four deployment models of Cloud Computing:
(1) Private Cloud- When the cloud infrastructures are operated exclusively for some particular organization and are controlled and managed by that organization or by a third party, then that cloud is called a private cloud. A private cloud is one in which the services and infrastructure are maintained on a private network. It can be deployed either on-premises (on-site) or off-premises (off-site).
(2) Community Cloud- The cloud infrastructure is shared exclusively by a specific group of organizations, especially those, sharing common concerns (e.g., business interest, mission or goal, security requirements, policy, and compliance considerations). Similar to the private cloud, it may be managed by organizations or a third party and may exist on-premises or off-premises.
(3) Public Cloud- The cloud infrastructure is made available for use to the general public or a large industry group and is owned by an organization selling cloud services. Examples of public clouds are Amazon EC2, Amazon S3, Microsoft Azure, etc.
(4) Hybrid Cloud- The hybrid cloud deployment model combines the service of multiple clouds (private or public). The individual clouds retain their unique identities but are bound by standardized or proprietary technology that enables data and application portability. Hybrid clouds are best suited for organizations that want to take advantage of secured application and data hosting on a private cloud, and at the same time benefit from cost savings by hosting shared applications and data in public clouds.
Advantages of Cloud Computing:
Cloud computing is a big shift from the traditional way businesses think about IT resources. It has many advantages which are as follows:
(1) Cloud computing maintains a highly virtualized and standardized infrastructure which leads to simplified and more efficient IT and application management.
(2) Cloud computing offers cost-effective use of cloud applications and resources that would ideally require huge upfront investments, thereby reducing the expenses of the organization.
(3) An organization can scale up or down its IT usage, according to demand.
(4) No need to procure space for creating infrastructure.
(5) Cloud computing sustains massive scalability through which huge applications are delivered to a large number of users.
(6) Cloud computing makes data backup, disaster recovery, and business continuity easier and less expensive because data can be mirrored at multiple redundant sites on the cloud provider’s network.
(7) Provide more mobile solutions i.e., it is not necessary for the user to be in the office to access the information. He or she can access the information through mobile also.
(8) It ensures real-time and seamless integration of its application to the user’s environment and system. Users do not need to reinvent the wheel of such capability.
(9) It provides enormous storage capacity.
(10) The cloud is ready for use once the relevant cloud functionalities and parameter settings are completed.
(11) Organizations can easily upgrade their applications as they can change platforms simply by switching cloud service providers.
(12) It promotes green computing. Proper utilization of resources minimizes overall electronic resource requirement, hence reducing the generation of e-waste too. This is beneficial for the environment as e-wastes are harmful to an ecosystem if not processed properly. Apart from this, the reduced resource requirement results in lesser demand, hence the production of computing resources. This decrease in e-production reduces carbon emissions and helps to decrease the overall carbon footprint.
Disadvantages of Cloud Computing:
Following are the disadvantages of cloud computing:
(1) Internet Connection- If the system is not in the network, then cloud computing is inaccessible. One can use the internet to link applications and documents. Even the documents cannot be accessed if the customer does not have any network connection. Cloud computing does not employ when customers are offline.
(2) Security Issues- Although cloud service providers provide us with a great level of security. Sharing our data on a cloud system may be risky sometimes as it may provide a way for hackers to steal the information. The presence of data on the cloud may allow hackers to find loopholes in the framework and can hence be dangerous for the security of our information. Data stored on the cloud system is always a security challenge for service providers and concern for businesses.
(3) Compliance Concerns- The policy and compliance concerns are significant challenges as data usage and protection laws differ from one country to another.
(4) Dependency and Vendor Lock-in- One of the major disadvantages of cloud computing is the implicit dependency on the provider. Sometimes a user wishes to switch to some other provider, and then it can be really painful and burdensome to transfer huge data from the old provider to the new one. This is another reason that users should carefully and thoroughly consider all options when selecting a vendor.