CC - Unit-2, Cloud Computing Architecture
CC - Unit-2, Cloud Computing Architecture
SOA is typically used to build distributed systems that are composed of loosely-coupled components
that can be developed and deployed independently. EDA is an architectural pattern that emphasizes the
use of events as the primary means of communication and coordination between software components.
1. Frontend :
Frontend of the cloud architecture refers to the client side of cloud computing system. Means
it contains all the user interfaces and applications which are used by the client to access the cloud
computing services/resources. For example, use of a web browser to access the cloud platform.
2. Backend :
Backend refers to the cloud itself which is used by the service provider. It contains the
resources as well as manages the resources and provides security mechanisms. Along with this, it
includes huge storage, virtual applications, virtual machines, traffic control mechanisms,
deployment models, etc.
1. Application –
Application in backend refers to a software or platform to which client accesses. Means it
provides the service in backend as per the client requirement.
2. Service –
Service in backend refers to the major three types of cloud based services like SaaS, PaaS
and IaaS. Also manages which type of service the user accesses.
3. Runtime Cloud-
Runtime cloud in backend provides the execution and Runtime platform/environment to the
Virtual machine.
4. Storage –
Storage in backend provides flexible and scalable storage service and management of stored
data.
5. Infrastructure –
Cloud Infrastructure in backend refers to the hardware and software components of cloud
like it includes servers, storage, network devices, virtualization software etc.
6. Management –
Management in backend refers to management of backend components like application,
service, runtime cloud, storage, infrastructure, and other security mechanisms etc.
7. Security –
Security in backend refers to implementation of different security mechanisms in the backend
for secure cloud resources, systems, files, and infrastructure to end-users.
8. Internet –
Internet connection acts as the medium or a bridge between frontend and backend and
establishes the interaction and communication between frontend and backend.
Define cloud computing as per National Institute of Standards and Technology. [2]
Cloud reference model
The reference model for cloud computing is an abstract model that characterizes and
standardizes a cloud computing environment by partitioning it into abstraction layers and
cross-layer functions.
To achieve the potential of cloud computing, there is a need to have a standard cloud
reference model for the software architects, software engineers, security experts and
businesses, since it provides a fundamental reference point for the development of cloud
computing.
The reference model:
As shown in Figure, the National Institute of Standards and Technology (NIST) cloud computing
reference architecture defines five major actors: cloud consumer, cloud provider, cloud carrier, cloud
auditor and cloud broker.
Actor Definition
A person or organization that maintains a business relationship with, and uses
Cloud Consumer
service from, Cloud Providers.
A person, organization, or entity responsible for making a service available to
Cloud Provider
interested parties.
A party that can conduct independent assessment of cloud services, information
Cloud Auditor
system operations, performance and security of the cloud implementation.
An entity that manages the use, performance and delivery of cloud services, and
Cloud Broker
negotiates relationships between Cloud Providers and Cloud Consumers.
An intermediary that provides connectivity and transport of cloud services from
Cloud Carrier
Cloud Providers to Cloud Consumers.
Table : Actors in Cloud Computing
The reference model as seen above find classification of cloud computing services:
1. Infrastructure-as-a-Service (IaaS),
2. Platform-as-a-Service (PaaS), and
3. Software-as-a-Service (SaaS).
Explain the cloud deployment model in details with their benefits and limitations while
implementing and application. [10 Marks] BCA TU, 2017
Deployment Models
The cloud deployment model identifies the specific type of cloud environment based on
ownership, scale, and access, as well as the cloud’s nature and purpose. The locations of the
servers we’re utilizing and who controls them are defined by a cloud deployment model.
It specifies how our cloud infrastructure will look, what we can change, and whether we will be
given services or will have to create everything ourselves. Relationships between the
infrastructure and our users are also defined by cloud deployment types.
Different types of cloud computing deployment models are:
1. Public cloud
2. Private cloud
3. Hybrid cloud
4. Community cloud
1. Public Cloud
The public cloud makes it possible for anybody to access systems and services. The public cloud
may be less secure as it is open for everyone. The public cloud is one in which cloud
infrastructure services are provided over the internet to the general people or major industry
groups.
The infrastructure in this cloud model is owned by the entity that delivers the cloud services,
not by the consumer. It is a type of cloud hosting that allows customers and users to easily access
systems and services. This form of cloud computing is an excellent example of cloud hosting, in
which service providers supply services to a variety of customers.
In this arrangement, storage backup and retrieval services are given for free, as a subscription, or
on a per-use basis. Example: Google App Engine etc.
Advantages of the public cloud model:
Minimal Investment: Because it is a pay-per-use service, there is no substantial upfront fee,
making it excellent for enterprises that require immediate access to resources.
No setup cost: The entire infrastructure is fully subsidized by the cloud service providers,
thus there is no need to set up any hardware.
Infrastructure Management is not required: Using the public cloud does not necessitate
infrastructure management.
No maintenance: The maintenance work is done by the service provider (Not users).
Dynamic Scalability: To fulfill your company’s needs, on-demand resources are accessible.
2. Private Cloud
The private cloud deployment model is the exact opposite of the public cloud deployment model.
It’s a one-on-one environment for a single user (customer). There is no need to share your
hardware with anyone else.
The distinction between private and public cloud is in how you handle all of the hardware. It is
also called the “internal cloud” & it refers to the ability to access systems and services within a
given border or organization.
3. Hybrid cloud
By bridging the public and private worlds with a layer of proprietary software, hybrid cloud
computing gives the best of both worlds. With a hybrid solution, we may host the app in a
safe environment while taking advantage of the public cloud’s cost savings.
Organizations can move data and applications between different clouds using a combination of
two or more cloud deployment methods, depending on their needs.
Advantages of the hybrid cloud model:
Flexibility and control: Businesses with more flexibility can design personalized solutions
that meet their particular needs.
Cost: Because public clouds provide for scalability, we’ll only be responsible for paying the
extra capacity if we require it.
Security: Because data is properly separated, the chances of data theft by attackers are
considerably reduced.
4. Community cloud
It allows systems and services to be accessible by a group of organizations. It is a distributed
system that is created by integrating the services of different clouds to
address the specific needs of a community, industry, or business.
The infrastructure of the community could be shared between the organization which has shared
concerns or tasks. It is generally managed by a third party or by the combination of one or
more organizations in the community.
Sample Questions
The user can only pay for what they use using utility computing. It is a plug-in that is
administered by an organization that determines what kind of cloud services must be deployed.
The majority of businesses prefer a hybrid strategy.
Question 6. How to secure data while transferring?
Solution:
To keep your data safe while being transported from one location to another is sure the
encryption key used with the data you’re transferring isn’t leaking.
Question 7. List some of the cloud-based services that you are using at present.
Solution:
Platform as a Service (PaaS) - Online Coding Platforms
Infrastructure as a Service (IaaS) - Amazon Web Services
Software as a Service (SaaS) - Google Docs
Discuss about the planning needed for building the service oriented architecture.[6]
Service-Oriented Architecture
Service-Oriented Architecture (SOA) is a stage in the evolution of application development
and/or integration. It defines a way to make software components reusable using the
interfaces.
Formally, SOA is an architectural approach in which applications make use of services
available in the network.
In this architecture, services are provided to form applications, through a network call
over the internet. It uses common communication standards to speed up and streamline
the service integrations in applications.
Each service in SOA is a complete business function in itself. The services are published in
such a way that it makes it easy for the developers to assemble their apps using those services.
SOA allows users to combine a large number of facilities from existing services to form
applications.
SOA encompasses a set of design principles that structure system development and provide
means for integrating components into a coherent and decentralized system.
SOA-based computing packages functionalities into a set of interoperable services, which
can be integrated into different software systems belonging to separate business domains.
specifies the nature of the service, how to use it, the requirements for the service, and the
fees charged.
2. Service consumer: The service consumer can locate the service metadata in the registry
and develop the required client components to bind and use the service.
Services might aggregate information and data retrieved from other services or create
workflows of services to satisfy the request of a given service consumer. This practice is
known as service orchestration
SOA architecture is viewed as five horizontal layers. These are described below:
Consumer Interface Layer: These are GUI based apps for end users accessing the
applications.
Business Process Layer: These are business-use cases in terms of application.
Services Layer: These are whole-enterprise, in service inventory.
Service Component Layer: are used to build the services, such as functional and
technical libraries.
Operational Systems Layer: It contains the data model.
Components of SOA:
Advantages of SOA:
Service reusability: In SOA, applications are made from existing services. Thus, services
can be reused to make many applications.
Easy maintenance: As services are independent of each other they can be updated and
modified easily without affecting other services.
Platform independent: SOA allows making a complex application by combining services
picked from different sources, independent of the platform.
Availability: SOA facilities are easily available to anyone on request.
Reliability: SOA applications are more reliable because it is easy to debug small services
rather than huge codes
Scalability: Services can run on different servers within an environment, this increases
scalability
Disadvantages of SOA:
High overhead: A validation of input parameters of services is done whenever services
interact this decreases performance as it increases load and response time.
High investment: A huge initial investment is required for SOA.
Complex service management: When services interact they exchange messages to tasks.
the number of messages may go in millions. It becomes a cumbersome task to handle a
large number of messages.
Practical applications of SOA: SOA is used in many ways around us whether it is mentioned
or not.
1. SOA infrastructure is used by many armies and air forces to deploy situational awareness
systems.
2. SOA is used to improve healthcare delivery.
3. Nowadays many apps are games and they use inbuilt functions to run. For example, an app
might need GPS so it uses the inbuilt GPS functions of the device. This is SOA in mobile
solutions.
4. SOA helps maintain museums a virtualized storage pool for their information and content.
Data Integrity
Data integrity is one of the most critical elements in any information system. Generally, data
integrity means protecting data from unauthorized deletion, modification, or fabrication.
Managing entity’s admittance and rights to specific enterprise resources ensures that valuable
data and services are not abused, misappropriated, or stolen.
Authorization is used to control the access of data. It is the mechanism by which a system
determines what level of access a particular authenticated user should have to secure resources
controlled by the system.
Data Confidentiality
Data confidentiality is important for users to store their private or confidential data in the cloud.
Authentication and access control strategies are used to ensure data confidentiality. The data
confidentiality, authentication, and access control issues in cloud computing could be addressed
by increasing the cloud reliability and trustworthiness.
Because the users do not trust the cloud providers and cloud storage service providers are
virtually impossible to eliminate potential insider threat, it is very dangerous for users to store
their sensitive data in cloud storage directly. Simple encryption is faced with the key
management problem and cannot support complex requirements such as query, parallel
modification, and fine-grained authorization.
Data Availability
Data availability means the following: when accidents such as hard disk damage, fire, and
network failures occur, the extent that user’s data can be used or recovered and how the users
verify their data by techniques rather than depending on the credit guarantee by the cloud service
provider alone.
The issue of storing data over the transboarder servers is a serious concern of clients because the
cloud vendors are governed by the local laws and, therefore, the cloud clients should be
cognizant of those laws. The cloud provider should share all such concerns with the client and
build trust relationship in this connection. The cloud vendor should provide guarantees of data
safety and explain jurisdiction of local laws to the clients.
Security issues in cloud computing environments can be divided into six sub-categories, which
include:
(a) how to provide safety mechanisms, so that to monitor or trace the cloud server,
(b) how to keep data confidentiality for all the individual and sensitive information,
(c) how to avoid malicious insiders illegal operation under the general lack of transparency into
provider process and procedure environments,
(d) how to avoid service hijacking, where phishing, fraud and exploitation are well known issues
in IT,
(e) how to management multi-instance in multi-tenancy virtual environments, which assume all
instance are completely isolated from each other. However, this assumption can sometime break
down, allowing attackers to cross virtual machines side channel, escape the boundaries of the
sandboxed environment and have full access to the host, and
(f) how to develop appropriate law and implement legal jurisdiction, so that users have a chain
against their providers if need.
2. Trust Issues
Trust is viewed as a measurable belief that utilizes experience, to make trustworthy decisions. It
is originally used in social science in constructing human beings’ relationship and is now an
essential substitute for forming security mechanism in distributed computing environments, as
trust has many soft security attributes, such as, reliability, dependability, confidence, honest,
belief, trustfulness, security, competence, and suchlike.
To protect clouds, traditional hard security techniques such as encryption and authorization
provide a solid foundation, but they fail when cooperating entities act maliciously due to scale
and temporary nature of collaborations. Trust as a soft social security philosophy can fight
against such security threats by restricting malicious entities from participating in interactions
and consequently offers a high trustworthiness cloud computing environment.
Trust issues in cloud computing environments can be divided into four sub-categories, which
include:
(a) how to definition and evaluation trust according to the unique attribute of cloud computing
environments,
(b) how to handle malicious recommend information, which is very important in cloud
computing environments, as trust relationship in clouds is temporary and dynamic,
(c) how to consider and provide difference security level of service according to the trust degree,
(d) how to manage trust degree change with interaction time and context, and to monitor, adjust,
and really reflect trust relationship dynamic change with time and space.
3. Privacy
Privacy is the ability of an individual or group to seclude themselves or information about
themselves and thereby reveal them selectively.
Privacy has the following elements.
(i) When: a subject may be more concerned about the current or future information being
revealed than information from the past.
(ii) How: a user may be comfortable if his/her friends can manually request his/her information,
but the user may not like alerts to be sent automatically and frequently
(iii) Extent: a user may rather have his/her information reported as an ambiguous region rather
than a precise point.
In the cloud, the privacy means when users visit the sensitive data, the cloud services can prevent
potential adversary from inferring the user’s behavior by the user’s visit model (not direct data
leakage).
The privacy issues differ according to different cloud scenarios and can be divided into four
subcategories as follows:
(i) how to enable users to have control over their data when the data are stored and processed in
cloud and avoid theft, nefarious use, and unauthorized resale,
(ii) how to guarantee data replications in a jurisdiction and consistent state, where replicating
user data to multiple suitable locations is an usual choice, and avoid data loss, leakage, and
unauthorized modification or fabrication,
(iii) which party is responsible for ensuring legal requirements for personal information,
(iv) to what extent cloud subcontractors are involved in processing which can be properly
identified, checked, and ascertained.
Practice Questions
1. Explain the NIST reference architecture of Cloud computing in detail.[10]
2. What is Cloud reference Model? What are the applications of these models? Explain
about layered cloud architecture.[10]
3. What are the fundamental components introduced in cloud reference model? Explain.
4. What are the benefits of using Software as a Service(SaaS) Model? Briefly discuss about
the maturity levels of SaaS Architecture.[2+4]
5. Explain the Cloud deployment models and the different layers of cloud computing.[10]
6. How testing under cloud can be performed? Explain it by taking service based models of
cloud computing under consideration. [7]
7. Explain the key steps in cloud implementation planning process with example.[7]
8. Discuss about the various challenges during architectural design. [6]
9. What do you mean by Service Oriented Architecture(SOA)? How cloud services get
benefited by SOA?
ooOoo