Unit 3,4,5-1
Unit 3,4,5-1
Front End
The front end is the side of computer user or client.
It involves the interfaces and the applications that are necessary to access the Cloud Computing
system.
Back End
The back end is the cloud section of the system.
It involves all the resources which are necessary to give Cloud computing services.
It includes huge data storage, virtual machines, security mechanism, services, deployment models,
servers etc.
To give built-in security mechanism, traffic control and protocols is the responsibility of the back
end.
Management Software
It helps to maintain and configure the infrastructure.
Deployment Software
It helps to deploy and integrate the application on the cloud.
Network
It is the key component of cloud infrastructure. It allows to connect cloud services over the
Internet. It is also possible to deliver network as a utility over the Internet, which means, the
customer can customize the network route and protocol.
Server
The server helps to compute the resource sharing and offers other services such as resource
allocation and de-allocation, monitoring the resources, providing security etc.
Storage
Cloud keeps multiple replicas of storage. If one of the storage resources fails, then it can be
extracted from another one, which makes cloud computing more reliable.
Infrastructural Constraints
Fundamental constraints that cloud infrastructure should implement are shown in the following
diagram:
Transparency
Virtualization is the key to share resources in cloud environment. But it is not possible to satisfy
the demand with single resource or server. Therefore, there must be transparency in resources,
load balancing and application, so that we can scale them on demand.
Scalability
Scaling up an application delivery solution is not that easy as scaling up an application because
it involves configuration overhead or even re-architecting the network. So, application delivery
solution is need to be scalable which will require the virtual infrastructure such that resource
can be provisioned and de-provisioned easily.
Intelligent Monitoring
To achieve transparency and scalability, application solution delivery will need to be capable of
intelligent monitoring.
Security
The mega data center in the cloud should be securely architected. Also the control node, an
entry point in mega data center, also needs to be secure.
Service models:
Cloud computing is based on Service model.
1) Software-as-a-Service (SaaS)
2) Platform-as-a-Service (PaaS)
3) Infrastructure-as-a-Service (IaaS)
1) Software-as-a-Service (SaaS)
2) Platform-as-a-Service (PaaS)
PaaS is a programming platform for developers. This platform is generated for the programmers to
create, test, run and manage the applications.
A developer can easily write the application and deploy it directly into PaaS layer.
PaaS gives the runtime environment for application development and deployment tools.
Google Apps Engine(GAE), Windows Azure, SalesForce.com are the examples of PaaS.
Advantages of PaaS
PaaS is easier to develop. Developer can concentrate on the development and innovation without
worrying about the infrastructure.
In PaaS, developer only requires a PC and an Internet connection to start building applications.
Disadvantages of PaaS
One developer can write the applications as per the platform provided by PaaS vendor hence the
moving the application to another PaaS vendor is a problem.
3) Infrastructure-as-a-Service (IaaS)
IaaS is a way to deliver a cloud computing infrastructure like server, storage, network and operating
system.
The customers can access these resources over cloud computing platform i.e Internet as an on-
demand service.
In IaaS, you buy complete resources rather than purchasing server, software, datacenter space or
network equipment.
IaaS was earlier called as Hardware as a Service(HaaS). It is a Cloud computing platform based
model.
HaaS differs from IaaS in the way that users have the bare hardware on which they can deploy their
own infrastructure using most appropriate software.
Advantages of IaaS
In IaaS, user can dynamically choose a CPU, memory storage configuration according to need.
Users can easily access the vast computing power available on IaaS Cloud platform.
Disadvantages of IaaS
IaaS cloud computing platform model is dependent on availability of Internet and virtualization
services.
Cloud uses a network layer to connect different devices to provide access to resources that are
residing in the centralized data center of the cloud. Cloud technology users can use the data center
through the company's network or internet facilities. This technology provides various advantages; as
users can access the cloud from anywhere at any time, but the network bandwidth should have to be
more. This technology not only facilitates desktop and laptop users but the mobile users can also
access their business systems based on their demand.
As we already know that cloud computing is fast and efficient, applications running on the cloud take
advantages of flexibility and computing power, i.e., the speed of processing a task. Many computers
of a single organization work together along with their application on the cloud as if all the
applications were running on a single machine. This flexibility of accessing the cloud resources
allows users to use much or little of the resource based on the demand.
In the Cloud computing system architecture, there is another mechanism of shifting the workload.
Local machines don't have to perform massive lifting operations when it comes to run applications.
Cloud technology can handle those heavy loaded tasks automatically easily and efficiently. This
brings down the hardware & software demands. The only thing that the users have to think is the
cloud computing interface software of the system, which works merely as a web-browser in the front
end of the user. The cloud's network takes care of the rest along with the back-end.
The back-end is connected through a virtual network or internet. Other than that, there are few more
components such as Middleware, cloud resources, etc. that includes the cloud computing
architecture. The backend is used by service providers that include various servers, computers,
virtual machines & data storage facilities that are combined to form the cloud technology. Its
dedicated server handles each application in the system. The front end includes the cloud computing
system or network that is used for accessing the cloud computing system. The cloud computing
systems' interface varies from cloud to cloud.
The back-end has two principal responsibilities:
1. Provides traffic control mechanisms, security postures & governing the protocols
2. To employ those internet protocols that are connected to the networked computer for
communication
One central server is used to manage the entire cloud system architecture. The server is solely
responsible for handling the smoothness of traffic without disruption. Middleware is a particular type
of software that is used to perform processes & also connects networked computers. Depending on
the demand of client/user, the storage is provided by the cloud technology's service provider.
Types of Cloud
i) Public cloud
ii) Private cloud
iii) Hybrid cloud
iv) Community cloud
i) Public cloud
In the public cloud, systems and services are accessible to the general public. For example, Google,
IBM, Microsoft etc.
Public cloud is open to all. Hence, it may be less secure.
This cloud is suitable for information which is not sensitive.
Advantages of Public cloud:
Public cloud is less expensive than the private cloud or hybrid cloud because it shares same
resources with many customers.
It is easy to combine public cloud with private cloud so it gives the flexible approach to the
customer.
It is reliable because it provides large number of resources from various locations and if any
resource fails, another is employed.
In the private cloud, systems and services are accessible within an organization.
This cloud is operated only in a particular organization. It is managed internally or by third party.
Community cloud enables the system and services which are accessible by group of organizations.
It shares the infrastructure between several organizations from a specific community.
It is managed internally and operated by several organizations or by the third party or combination
of them.
As cloud technology is providing users with so many benefits, these benefits must have to be
categorized based on users requirement. Cloud deployment model represents the exact category of
cloud environment based on proprietorship, size, and access and also describes the nature and
purpose of the cloud. Most organizations implement cloud infrastructure to minimize capital
expenditure & regulate operating costs.
The National Institute of Standards and Technology (NIST) is an agency under the scope of US
Department of Commerce which is responsible for expounding & defining standards in Science and
Technology. The Computer Security Division of NISD has provided a formal definition of Cloud
computing. The US government is a major consumer of computer technology and also one of the
major cloud computing network users. According to the NIST working definition of cloud,
deployment model is one of the two categories of model illustrated by NIST. The NIST model
doesn't require cloud technology to use virtualization to share resources. Cloud support multi-
tenancy; multi-tenancy is the concept of sharing of resources among two or more clients. The latest
NIST model of cloud computing requires virtualization and utilizes the concept of multi-tenancy.
As the cloud computing us approaching towards a set of interacting components, such as Service-
oriented Architecture, users can expect the future versions of the NIST model may include more
features also.
Cloud-based services and applications are setting new paradigms for business process management
improvement. With its alluring promises of “faster time to market” and “self-service provisioning,”
cloud brings in the importance of “automation” in all its processes.
From managing cloud sales to billing the customers, every step needs to be automated. One of such
important processes which needs automation is cloud services accounting management.
Cloud computing involves a large number of subscribers. As a result of which it has heterogeneous
data, coming from multiple systems. Hence, cloud billing and accounting automation in such a
case needs to be a highly efficient process so that it can deliver a convergent system to the end user,
allowing him to have a unified view of the services that he consumes.
In sync with billing, every activity performed by the end user, while using a particular service needs
to be represented in the accounting system. Here, by automating the cloud services’ accounting,
service providers will:
Allow customers to set up and perform upgradation or renewal of services themselves through a
client user interface.
Get a clear visibility into each customer’s account history with a system which can provide him
information as and when required.
Traditional vs Cloud
Traditional Computing. If you own the server, you have incurred some capital expenditure
(e.g. cost of the server, hiring admins, and physical rent etc.)--capexand recurrent operational
expenditure (e.g. power and cooling, admin wages, software and hardware upgrades)--opex. This
cost is almost constant regardless of whether the server is fully utilized or not. Otherwise, if you
use the traditional web hosting infrastructure that predates the cloud era, well, though you may
have eliminated the capex, there are still other issues.
You are storing your files and data with other users with often conflicting objectives.
The lack of isolation exposes you to the risk of security and poor performance.
You also probably pay a fixed charges regardless of how much of your bandwidth or
storage portion you actually use.
The way you subscribed to storage is not 'automatic', i.e. if you need more storage you
have to inform the administrator and then you wait for them to upgrade your
subscription etc. Even if it seems like automatic, in almost all cases, there is some
human sysadmins doing the dirty work at the back-end
Cloud Computing[1] . The cloud changes the story in many ways.
You don't have to own the remote server. You can simply rent one off the shelf. The
take here is that you have not only eliminated the capex, but you have also greatly
minimized the opex as well.
What's more? You don't have to care about sharing your remote server or storage with
others. Thanks to virtualization technology, you are very well isolated. The risk of
security, privacy violations and performance violation is greatly minimized.
And again, it is 'pay as you go or use'. You can rent a 3GB/1CPU server for less than
a dollar! Cloud resources are disposable!
The icing on the cake is that you can initiate, modify and terminate your cloud
subscription in an on-demand manner! The cloud is highly autonomous, powered by
highly intelligent systems that allows end users to create, modify and terminate cloud
servers with relative ease without any human intervention.
Lastly, you are not limited to just storage. In the cloud, you can rent just about
anything, from a large cluster of servers, block storage (or disk arrays), operating
systems, software development platforms, and to your favorite application software,
etc. There are over a dozen cloud providers over the Internet.
UNIT V: CLOUD SECURITY
Planning of security
In security planning, before deploying a particular resource to cloud there is a need to analyze
different aspects of the resources which are as follow:
Select resource which requires to move to the cloud and examine its sensitivity risk.
The cloud service models i.e IaaS, PaaS and SaaS are necessary to be considered for security at
different level of services.
The cloud types, i.e public, private, community, hybrid also need to be considered.
The risk in a cloud deployment generally depends on the types of cloud and service models.
Security Boundaries
A specific service model defines the boundary among the responsibilities of customer and service
provider.
The boundaries between each service model are defined by Cloud Security Alliance (CSA) stack
model.
Following diagram shows the cloud security alliance (CSA) stack model.
Key things in above model:
IaaS is the basic level of service. PaaS and SaaS are next levels of services.
IaaS gives the infrastructure, PaaS gives platform development environment and SaaS gives
operating environment.
IaaS has the minimum level of integrated functionalities and integrated security while the SaaS has
the highest.
The security boundaries are described in this model. At the security boundary, cloud service
provider responsibilities end and the customer's responsibilities start.
The security mechanism below the security boundary is necessary to construct into the system and
should be maintained by the customer.
I) Access Control
ii) Auditing
iii) Authentication
iv) Authorization
Isolated Access to Data
Data stored in cloud can be retrieved from anywhere, hence it should have a mechanism to isolate
data and protect it from clients direct access.
To isolate storage in the cloud, Brokered Cloud Storage Access is an approach.
Following two services are generated in this approach:
The client data request goes to the external service interface of the proxy.
The proxy forwards the request to the broker.
The broker request the data from cloud storage system.
The cloud storage system returns the data to the broker.
In next step, broker returns the data to the proxy.
At the last proxy sends the data to the client.
Many SLAs have specified the privacy of the sensitive information, however, it is
difficult for customers to make sure the proper rules are enforced. There is a lack
of transparency in the cloud that allows the customers to monitor their own privacy
information.
When a customer decide to use multiple cloud service, the customer will have to store
his/her password in multiple cloud, the more cloud service the customer is subscript to,
the more copy of the user’s information will be. This is a security issue for the customers
and the cloud service providers.
The multiple copies of account will lead to multiple authentication processes. For every
cloud service, the customer needs to exchange his/her authentication information.
This redundant actions may lead to an exploit of the authentication mechanism.
Cloud service providers use different authentication technologies for authenticating users,
this may have less impact on SaaS than PaaS and IaaS, but it is present a challenge to the
customers.