UNIT2 Architecture of Cloud Computing
UNIT2 Architecture of Cloud Computing
TYBCA (SEM-VI)
601-02: Fundamentals of Cloud Computing
1. Strategy Phase
o In this phase, we analyse the strategy problems that customer might
face. There are two steps to perform this analysis:
o IT management simplification
o Operation and maintenance cost reduction
o Business mode innovation
o Low-cost outsourcing hosting
o High service quality outsourcing hosting.
2. Planning Phase
o This step performs analysis of problems and risks in the cloud application
to ensure the customers that the cloud computing is successfully meeting
their business goals. This phase involves the following planning steps:
IT Architecture Development:
In this step, we identify the applications that support the
business processes and the technologies required to support enterprise
applications and data systems.
3. Deployment Phase
o This phase focuses on both of the above two phases. It involves the
following two steps:
o Virtualization
In computing, virtualization refers to the act of creating computing
resources that have no physical presence, that is, they are virtual. These
virtual resources are fundamentally pieces of software that act like their
tangible counterparts. Thus, they are also called virtual machines.
These virtual computing resources find many use cases in day-to-day life.
They enable a single computer, called the host, to run multiple operating
systems in isolation. Many of them also act as components of a physical
computer, such as storage locations or virtual routers, as well as
standalone computers. Users can also access virtualized applications
remotely and run them as if they are locally installed. In short, the
applications of virtualization are far and wide.
1. Server Virtualization
One of the primary reasons behind the need for virtualization was the
underutilization of hardware computing resources. And while all the
types of virtualizations today address this issue in their capacity, server
virtualization hits closer to home.
2. Storage Virtualization
3. Network Virtualization
4. Application Virtualization
Currently, if we need to use a computer application, we first install it
on our device and then launch it. But what if we never had to install
that application, or for that matter, any application again? What if we
could simply access applications on the cloud as and when required
that would work exactly as their local counterparts? This idea is what
application virtualization proposes.
5. Desktop Virtualization
Desktop virtualization is similar to application virtualization, but the
apps are now replaced with whole desktop environments.
6. Data Virtualization
Data virtualization is a solution to the data management problem of
analyzing data from different sources collectively and at a much faster
pace. It enables organizations to centrally manage and alter data from
several sources, such as excel files, google analytics reports, HubSpot
reports, etc., while offering a holistic view (single view) of the data.
Data virtualization works by separating the collected data from its
underlying data logic. A virtualization layer, called a data virtualization
tool, acts as a mediator between the source and the front-end usage
of the data.
Examples
o The Azure Virtual Desktop by Microsoft is an example of virtualization
in cloud computing. As the name suggests, this cloud service allows
users to deploy virtual desktops over the cloud. Using a virtual
desktop, users can enjoy a comprehensive experience of the Windows
OS without installing it on their personal computer.
These systems can call a single, common service to perform the patient
registration task.
Service-Oriented Architecture helps to use applications as a service for other
applications regardless the type of vendor, product or technology. Therefore,
it is possible to exchange the data between applications of different vendors
without additional programming or making changes to services.
Service-Oriented Architecture (SOA) allows organizations to access on-
demand cloud-based computing solutions according to the change of
business needs. It can work without or with cloud computing. The advantages
of using SOA are that it is easy to maintain, platform independent, and highly
scalable.
Service Provider and Service consumer are the two major roles within SOA.
The cloud computing service-oriented architecture is shown in the diagram
below.
o Interoperability
Each service in SOA includes description documents that specify the
functionality of the service and the related terms and conditions. Any
client system can run a service, regardless of the underlying platform or
programming language. For instance, business processes can use services
written in both C# and Python. Since there are no direct interactions,
changes in one service do not affect other components using the service.
o Loose coupling
Services in SOA should be loosely coupled, having as little dependency as
possible on external resources such as data models or information
systems. They should also be stateless without retaining any information
from past sessions or transactions. This way, if you modify a service, it
won’t significantly impact the client applications and other services using
the service.
o Abstraction
Clients or service users in SOA need not know the service's code logic or
implementation details. To them, services should appear like a black box.
Clients get the required information about what the service does and
how to use it through service contracts and other service description
documents.
o Granularity
Services in SOA should have an appropriate size and scope, ideally
packing one discrete business function per service. Developers can then
use multiple services to create a composite service for performing
complex operations.
o Service
Services are the basic building blocks of SOA. They can be private—
available only to internal users of an organization—or public—accessible over
the internet to all. Individually, each service has three main features.
Service implementation: The service implementation is the code that
builds the logic for performing the specific service function, such as user
authentication or bill calculation.
Service contract: The service contract defines the nature of the service
and its associated terms and conditions, such as the prerequisites for using
the service, service cost, and quality of service provided.
even users with little or no understanding of the underlying code logic can
use a service through its interface.
o Service provider
The service provider creates, maintains, and provides one or more services
that others can use. Organizations can create their own services or purchase
them from third-party service vendors.
o Service consumer
The service consumer requests the service provider to run a specific
service. It can be an entire system, application, or other service. The service
contract specifies the rules that the service provider and consumer must
follow when interacting with each other. Service providers and consumers
can belong to different departments, organizations, and even industries.
o Service registry
A service registry, or service repository, is a network-accessible directory
of available services. It stores service description documents from service
providers. The description documents contain information about the service
and how to communicate with it. Service consumers can easily discover the
services they need by using the service registry.
o Communication protocols
Services communicate using established rules that determine data
transmission over a network. These rules are called communication
protocols. Some standard protocols to implement SOA include the following:
You can even use more than one protocol in your SOA implementation.
Efficient maintenance
It’s easier to create, update, and debug small services than large code
blocks in monolithic applications. Modifying any service in SOA does not
impact the overall functionality of the business process.
Greater adaptability
SOA is more adaptable to advances in technology. You can modernize
your applications efficiently and cost effectively. For example, healthcare
organizations can use the functionality of older electronic health record
systems in newer cloud-based applications.
o Utility Computing
Utility computing is the most trending IT service model. It provides on-
demand computing resources (computation, storage, and programming
services via API) and infrastructure based on the pay per use method. It
minimizes the associated costs and maximizes the efficient use of resources.
Utility computing is a model in which computing resources are provided to
the customer based on specific demand. The service provider charges exactly
for the services provided, instead of a flat rate.
The foundational concept is that users or businesses pay the providers of
utility computing for the amenities used – such as computing capabilities,
storage space and applications services. The customer is thus, absolved from
the responsibility of maintenance and management of the hardware.
Consequently, the financial layout is minimal for the organization.
Utility computing helps eliminate data redundancy, as huge volumes of data
are distributed across multiple servers or backend systems. The client
however, can access the data anytime and from anywhere.
Utility computing enables client companies to procure computing resources
through an on-demand, pay-per-use billing method.
Utility computing is a subset of cloud computing, allowing users to scale up
and down based on their needs. For example, a consumer pays his electricity
bill as per the number of units consumed, nothing more and nothing less.
Similarly, utility computing works on the same concept, which is a pay-per-
use model.
The concept of utility computing is simple—it provides processing power
when you need it, where you need it, and at the cost of how much you use it.
The advantage of utility computing is that it reduced the IT cost, provides
greater flexibility, and easier to manage.
Large organizations such as Google and Amazon established their own utility
services for computing storage and application.
For years, enterprises have been looking for a model that provides
flexibility and a bottom-up provisioning system. Utility computing
provides utmost flexibility in terms of availability of resources, on-
demand usage, billing methods, and ease of accessing data anytime and
anywhere. Utility computing simplifies the process of handling peak
needs. For instance, since you don’t own the resources or are renting
them for a long time, it becomes extremely easy to change the number
of services, thereby shrinking or expanding them based on changes in
season, demand, audience, or new efficiencies.
Front End
The front end is used by the client. It contains client-side interfaces and
applications that are required to access the cloud computing platforms. The front
end includes web servers (including Chrome, Firefox, internet explorer, etc.), thin &
fat clients, tablets, and mobile devices.
Back End
The back end is used by the service provider. It manages all the resources that are
required to provide cloud computing services. It includes a huge amount of data
storage, security mechanism, virtual machines, deploying models, servers, traffic
control mechanisms, etc.
Note: Both front end and back end are connected to others through a network,
generally using the internet connection.
1. Client Infrastructure
Client Infrastructure is a Front end component. It provides GUI (Graphical User
Interface) to interact with the cloud.
2. Application
The application may be any software or platform that a client wants to access.
3. Service
A Cloud Services manages that which type of service you access according to the
client’s requirement.
4. Runtime Cloud
Runtime Cloud provides the execution and runtime environment to the virtual
machines.
5. Storage
Storage is one of the most important components of cloud computing. It provides a
huge amount of storage capacity in the cloud to store and manage data.
6. Infrastructure
It provides services on the host level, application level, and network level. Cloud
infrastructure includes hardware and software components such as servers,
storage, network devices, virtualization software, and other storage resources that
are needed to support the cloud computing model.
7. Management
Management is used to manage components such as application, service, runtime
cloud, storage, infrastructure, and other security issues in the backend and
establish coordination between them.
8. Security
Security is an in-built back end component of cloud computing. It implements a
security mechanism in the back end.
9. Internet
The Internet is medium through which front end and back end can interact and
communicate with each other.