Cloud computing is the most recent emerging paradigm promising to turn the vision of “computing utilities” into a reality. Cloud computing is a technological advancement that focuses on the way we design computing systems, develop applications, and leverage existing services for building software. It is based on the concept of dynamic provisioning, which is applied not only to services but also to compute capability, storage, networking, and information technology (IT) infrastructure in general. The term is generally used to describe data centers available to many users over the Internet.
Cloud computing at a glance:
As of now, computer networks are still in their infancy, but as they grow up and become sophisticated, we will probably see the spread of ‘computer utilities’ which, like present electric and telephone utilities, will service individual homes and offices across the country. This vision of computing utilities based on a service-provisioning model anticipated the massive transformation of the entire computing industry in the 21st century, whereby computing services will be readily available on demand, just as other utility services such as water, electricity, telephone, and gas are available in today’s society. Similarly, users (consumers) need to pay providers.
only when they access the computing services. In addition, consumers no longer need to invest heavily or encounter difficulties in building and maintaining complex IT infrastructure. In such a model, users access services based on their requirements without regard to where the services are hosted. This model has been referred to as utility computing or, recently (since 2007), as cloud computing. The latter term often denotes the infrastructure as a “cloud” from which businesses and users can access applications as services from anywhere in the world and on demand. Hence, cloud computing can be classified as a new paradigm for the dynamic provisioning of computing services supported by state-of-the-art data centers employing virtualization technologies for consolidation and effective utilization of resources. Cloud computing allows renting infrastructure, runtime environments, and services on a payper-use basis. This principle finds several practical applications and then gives different images of cloud computing to different people. Chief information and technology officers of large enterprises see opportunities for scaling their infrastructure on demand and sizing it according to their business needs. End users leveraging cloud computing services can access their documents and data anytime, anywhere, and from any device connected to the Internet. Service orientation allows cloud computing to deliver its capabilities with familiar abstractions, while virtualization confers on cloud computing the necessary degree of customization, control, and flexibility for building production and enterprise systems.
“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”.
The vision of cloud computing
Cloud computing allows anyone with a credit card to provision virtual hardware, runtime environments, and services. These are used for as long as needed, with no up-front commitments required. The entire stack of a computing system is transformed into a collection of utilities, which can be provisioned and composed together to deploy systems in hours rather than days and with virtually no maintenance costs.
The long-term vision of cloud computing is that IT services are traded as utilities in an open market, without technological and legal barriers. In this cloud marketplace, cloud service providers and consumers, trading cloud services as utilities, play a central role. Many of the technological elements contributing to this vision already exist. Different stakeholders leverage clouds for a variety of services. The need for ubiquitous storage and compute power on demand is the most common reason to consider cloud computing. A scalable runtime for applications is an attractive option for application and system developers that do not have infrastructure or cannot afford any further expansion of existing infrastructure. The capability for Webbased access to documents and their processing using sophisticated applications is one of the appealing factors for end users.
The cloud computing reference model
A fundamental characteristic of cloud computing is the capability to deliver, on demand, a variety of IT services that are quite diverse from each other. This variety creates different perceptions of what cloud computing is among users. Despite this lack of uniformity, it is possible to classify cloud computing services offerings into three major categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS). These categories are related to each other as described in below Figure, which provides an organic view of cloud computing.
The Conceptual Reference Model
The model organizes the wide range of cloud computing services into a layered view that walks the computing stack from bottom to top. At the base of the stack, Infrastructure-as-a-Service solutions deliver infrastructure on demand in the form of virtual hardware, storage, and networking. Platform-as-a-Service solutions are the next step in the stack. They deliver scalable and elastic runtime environments on demand and host the execution of applications. These services are backed by a core middleware platform that is responsible for creating the abstract environment where applications are deployed and executed. It is the responsibility of the service provider to provide scalability and to manage fault tolerance, while users are requested to focus on the logic of the application developed by leveraging the provider’s APIs and libraries. At the top of the stack, Software-as-a-Service solutions provide applications and services on demand. Most of the common functionalities of desktop applications—such as office automation, document management, photo editing, and customer relationship management (CRM) software—are replicated on the provider’s infrastructure and made more scalable and accessible through a browser on demand. These applications are shared across multiple users whose interaction is isolated from the other users. The SaaS layer is also the area of social networking Websites, which leverage cloud-based infrastructures to sustain the load generated by their popularity.
Infrastructure as a service (IaaS):
IaaS contains the basic building blocks for cloud IT. It typically provides access to networking features, computers (virtual or on dedicated hardware), and data storage space. IaaS refers to the fundamental building blocks of computing that can be rented: physical or virtual servers, storage and networking. It involves a method for delivering everything from operating systems to servers and storage through IP-based connectivity as part of an on-demand service. Some benefits are-
- Infrastructure scales on demand to support dynamic workloads
- Flexible, innovative services available on demand
- No need to invest in your own hardware
Platform as a service (PaaS):
PaaS removes the need for you to manage underlying infrastructure (usually hardware and operating systems), and allows you to focus on the deployment and management of your applications. Platform as a service refers to cloud computing services that supply an on-demand environment for developing, testing, delivering and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile apps, without worrying about setting up or managing the underlying infrastructure of servers, storage, network and databases needed for development. Some benefits are-
- Reduce complexity with middleware as a service
- Deploy new web applications to the cloud in minutes
- Develop application and get to market faster
Software as a service (SaaS):
SaaS provides you with a complete product that is run and managed by the service provider. In most cases, people referring to SaaS are referring to end-user applications. 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. Some benefits are-
- Apps and data are accessible from any connected computer
- No data is lost if your computer breaks, because the data is in the cloud
Actors in Cloud Computing-
|1||Cloud Consumer||A person or organization that maintains a business relationship with, and uses service from, Cloud Providers.|
|2||Cloud Provider||A person, organization, or entity responsible for making a service available to interested parties.|
|3||Cloud Auditor||A party that can conduct independent assessment of cloud services, information system operations, performance and security of the cloud implementation.|
|4||Cloud Broker||An entity that manages the use, performance and delivery of cloud services, and negotiates relationships between Cloud Providers and Cloud Consumers.|
|5||Cloud Carrier||An intermediary that provides connectivity and transport of cloud services from Cloud Providers to Cloud Consumers.|
Cloud computing layers:
- Foundation layer of the cloud infrastructure.
- Specifies entities that operate at this layer : Compute systems, network devices and storage devices. Operating environment, protocol, tools and processes.
- Functions of physical layer : Executes requests generated by the virtualization and control layer.
- Deployed on the physical layer.
- Specifies entities that operate at this layer : Virtualization software, resource pools, virtual resources.
- Functions of virtual layer : Abstracts physical resources and makes them appear as virtual resources (enables multitenant environment). Executes the requests generated by control layer.
- Deployed either on virtual layer or on physical layer
- Specifies entities that operate at this layer : control software
- Functions of control layer : Enables resource configuration, resource pool configuration and resource provisioning. Executes requests generated by service layer. Exposes resources to and supports the service layer. Collaborates with the virtualization software and enables resource pooling and creating virtual resources, dynamic allocation and optimizing utilization of resources.
Service Orchestration Layer
- Specifies the entites that operate at this layer : Orchestration software.
- Functions of orchestration layer : Provides workflows for executing automated tasks. Interacts with various entities to invoke provisionning tasks.
- Consumers interact and consume cloud resources via thos layer.
- Specifies the entities that operate at this layer : Service catalog and self-service portal.
- Functions of service layer : Store information about cloud services in service catalog and presents them to the consumers. Enables consumers to access and manage cloud services via a self-service portal.
Cloud computing deployment models
The various types of cloud computing deployment models include public cloud, private cloud, hybrid cloud and multicloud.
A public cloud is generally thought of as simply the cloud. This type of cloud is available to the public and is provided by a third party. With public cloud services, users don’t need to purchase hardware, software or supporting infrastructure, all of which is owned and managed by providers.
A private cloud is infrastructure operated solely for a single organization, whether managed internally or by a third party, and hosted either internally or externally. An organization like a corporation or a university can create its own infrastructure for a private cloud either onsite or at a remote location. Private clouds are not accessible to the public. These can also be called a corporate cloud, internal cloud, or on-premises cloud.
A hybrid cloud uses both a private cloud and a public cloud for its computing needs. The two cloud types are linked over the internet and can share resources when needed. Most companies with private clouds will evolve to manage workloads across data centers, private clouds, and public clouds, thereby creating hybrid clouds.
Characteristics and benefits of Cloud Computing:
Cloud computing has some interesting characteristics that bring benefits to both cloud service consumers (CSCs) and cloud service providers (CSPs). These characteristics are:
- No up-front commitments
- On-demand access
- Nice pricing
- Simplified application acceleration and scalability
- Efficient resource allocation
- Energy efficiency
- Seamless creation and use of third-party services
The most evident benefit from the use of cloud computing systems and technologies is the increased economical return due to the reduced maintenance costs and operational costs related to IT software and infrastructure. This is mainly because IT assets, namely software and infrastructure, are turned into utility costs, which are paid for as long as they are used, not paid for up front.
I hope this post helps you to understand the “Cloud Computing”, Architecture of Cloud Computing, Cloud Computing Layers, and its Benefits.
Keep learning 🙂