Unit 2 (Cloud Computing Architecture)
Unit 2 (Cloud Computing Architecture)
Unit 2
Cloud Computing Architecture
Cloud computing architecture is simple; it clearly states the components and subcomponents embedded in
it There’s no question that cloud computing is here to stay. It touches every part of our lives today,
offering many advantages in terms of flexibility, storage, sharing, maintenance, and much more.
A standard internet connection or a virtual network provides us access to cloud-based applications and
services like Google Docs, Skype, and Netflix. Most companies are shifting their businesses into the
cloud as they require significant storage, which cloud platforms provide. A cloud computing architecture
provides higher bandwidth to its users due to which data over the cloud can be used from anywhere across
the world at any time. Due to its architecture, it not only shares resources among client source consumers
but also with open-source communities like Microsoft and Red hat.
Cloud Computing Architecture is divided into two parts, i.e., front-end and back-end. Front-end and
back-end communicate via a network or internet. A diagrammatic representation of cloud computing
architecture is shown below:
Back-End
It is responsible for monitoring all the programs that run the application on the front-end
It has a large number of data storage systems and servers. The back-end is an important and huge part of
the whole cloud computing architecture, as shown below:
The components of the back-end cloud architecture are mentioned below. Let's understand them in detail
one by one.
Application
It can either be a software or a platform
Depending upon the client requirement, the application provides the result to the end- user (with
resources) in the back end.
Service
Service is an essential component in cloud architecture
Its responsibility is to provide utility in the architecture
In a Cloud, few widely used services among the end-users are storage application
development environments and web services
Storage
It stores and maintains data like files, videos, documents, etc. over the internet
Some of the popular examples of storage services are below:
Amazon S3
Oracle Cloud-Storage
Microsoft Azure Storage
Its capacity varies depending upon the service providers available in the market
Management
Its task is to allot specific resources to a specific task, it simultaneously performs various
functions of the cloud environment.
It helps in the management of components like application, task, service, security, data storage,
and cloud infrastructure
In simple terms, it establishes coordination among the cloud resources
Security
Management Software
Deployment Software
Network
Cloud Server
Cloud Storage
Its responsibility is to manage and monitor cloud operations with various strategies to increase the
performance of the cloud
compliance auditing
contingency plans
Deployment Software
It consists of all the mandatory installations and configurations required to run a cloud service
The three different models which can be deployed are the following:
SaaS - Software as a service hosts and manages applications of the end-user. Example: Gmail
NETWORK
It connects the front-end and back-end. Also, allows every user to access cloud resources
Cloud Storage
Here, every bit of data is stored and accessed by a user from anywhere over the internet
Data can be modified and retrieved from cloud storage over the web
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.
Characteristics of IaaS
1. Shared infrastructure
IaaS allows multiple users to share the same physical infrastructure.
2. Web access to the resources
Iaas allows IT users to access resources over the internet.
3. Pay-as-per-use model
IaaS providers provide services based on the pay-as-per-use basis. The users are required to pay
for what they have used.
4. Focus on the core business
IaaS providers focus on the organization's core business rather than on IT infrastructure.
5. On-demand scalability
On-demand scalability is one of the biggest advantages of IaaS. Using IaaS, users do not worry
about to upgrade software and troubleshoot the issues related to hardware components.
Top Iaas Providers who are providing IaaS cloud computing platform
Amazon Web Elastic, Elastic Compute The cloud computing platform pioneer,
Services Cloud (EC2) MapReduce, Amazon offers auto scaling, cloud
Route 53, Virtual Private monitoring, and load balancing features as
Cloud, etc. part of its portfolio.
Netmagic Netmagic IaaS Cloud Netmagic runs from data centers in Mumbai,
Solutions Chennai, and Bangalore, and a virtual data
center in the United States. Plans are
underway to extend services to West Asia.
Rackspace Cloud servers, cloud files, The cloud computing platform vendor
cloud sites, etc. focuses primarily on enterprise-level hosting
services.
Reliance Reliance Internet Data RIDC supports both traditional hosting and
Communications Center cloud services, with data centers in Mumbai,
Bangalore, Hyderabad, and Chennai. The
cloud services offered by RIDC include IaaS
and SaaS.
8. For users PaaS interfaces can be in the form of a Web-based interface or in the form of programming
APIs and libraries.
9. PaaS solutions generally include the infrastructure as well.
10. Pure PaaS offered only the user-level middleware.
11. PaasS classification:
a. PaaS-I: Runtime environment with Web-hosted application development platform.
Rapid application prototyping. For example Force.com which is a combination of
middleware and infrastructure product type.
b. PaaS-II: Runtime environment for scaling Web applications. The runtime could be enhanced
by additional components that provide scaling capabilities. For example Google AppEngine
which is a combination of middleware and infrastructure product type. Appscale is
middlware product type.
c. PaaS-III: Middleware and programming model for developing distributed applications in the
cloud. For example Microsoft Azure which is a combination of middleware and infrastructure
product type. Manjrasoft Aneka is a middleware product type.
12. Some examples:
a. Google App Engine
b. Force.com
PaaS providers provide the Programming languages, Application frameworks, Databases, and Other tools:
1. Programming languages
PaaS providers provide various programming languages for the developers to develop the
applications. Some popular programming languages provided by PaaS providers are Java,
PHP, Ruby, Perl, and Go.
2. Application frameworks
3. Databases
PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and
Redis to communicate with the applications.
4. Other tools
PaaS providers provide various other tools that are required to develop, test, and deploy the
applications.
Characteristics of PaaS:
Advantages of PaaS
1) Simplified Development
2) Lower risk
No need for up-front investment in hardware and software. Developers only need
a PC and an internet connection to start building applications.
Some PaaS vendors also provide already defined business functionality so that users
can avoid building everything from very scratch and hence can directly start the
projects only.
4) Instant community
PaaS vendors frequently provide online communities where the developer can
get the ideas to share experiences and seek advice from others.
5) Scalability
Applications deployed can scale from one to thousands of users without any changes
to the applications.
1) Vendor lock-in
One has to write the applications according to the platform provided by the PaaS
vendor, so the migration of an application to another PaaS vendor would be a
problem.
2) Data Privacy
It may happen that some applications are local, and some are in the cloud. So there
will be chances of increased complexity when we want to use data which in the
cloud with the local data.
The below table shows some popular PaaS providers and services that are provided by them -
Providers Services
Google App Engine App Identity, URL Fetch, Cloud storage client library, Logservice
(GAE)
Salesforce.com Faster implementation, Rapid scalability, CRM Services, Sales cloud,
Mobile connectivity, Chatter.
Windows Azure Compute, security, IoT, Data Storage.
AppFog Justcloud.com, SkyDrive, GoogleDocs
Openshift RedHat, Microsoft Azure.
Cloud Foundry from Data, Messaging, and other services.
VMware
Characteristics of SaaS:
Social Networks - As we all know, social networking sites are used by the general
public, so social networking service providers use SaaS for their convenience and
handle the general public's information.
Mail Services - To handle the unpredictable number of users and load on e-mail
services, many e-mail providers offering their services using SaaS.
Unlike traditional software, which is sold as a licensed based with an up-front cost (and
often an optional ongoing support fee), SaaS providers are generally pricing the
applications using a subscription fee, most commonly a monthly or annually fee.
2. One to Many
SaaS services are offered as a one-to-many model means a single instance of the application is
shared by multiple users.
The software is hosted remotely, so organizations do not need to invest in additional hardware.
Software as a service removes the need for installation, set-up, and daily maintenance for the
organizations. The initial set-up cost for SaaS is typically less than the enterprise software.
SaaS vendors are pricing their applications based on some usage parameters, such as a
number of users using the application. So SaaS does easy to monitor and automatic updates.
All users will have the same version of the software and typically access it through the web
browser. SaaS reduces IT support costs by outsourcing hardware and software maintenance
and support to the IaaS provider.
6. Multidevice support
SaaS services can be accessed from any device such as desktops, laptops, tablets, phones,
and thin clients.
7. API Integration
SaaS services easily integrate with other software or services through standard APIs.
8. No client-side installation
SaaS services are accessed directly from the service provider using the internet connection, so
do not need to require any software installation.
1) Security
Actually, data is stored in the cloud, so security may be an issue for some users. However,
cloud computing is not more secure than in-house deployment.
2) Latency issue
Since data and applications are stored in the cloud at a variable distance from the end-user,
there is a possibility that there may be greater latency when interacting with the application
compared to local deployment. Therefore, the SaaS model is not suitable for applications
whose demand response time is in milliseconds.
Switching SaaS vendors involves the difficult and slow task of transferring the very
large data files over the internet and then converting and importing them into another
SaaS also.
The below table shows some popular SaaS providers and services that are provided by them
Provider Services
Deployment models
Deployment models define the type of access to the cloud, i.e., how the cloud is located? Cloud
can have any of the four types of access: public, private, hybrid and community.
Public cloud:
The public cloud allows systems and services to be easily accessible to general public.
Amazon Elastic Compute Cloud (EC2), Microsoft Azure, IBM's Blue Cloud, Sun
Cloud, and Google Cloud are examples of the public cloud.
Benefits
There are many benefits of deploying cloud as public cloud model. The following diagram
shows some of those benefits:
Cost effective
Since public cloud share same resources with large number of consumer, it has low cost.
Reliability
Since public cloud employs large number of resources from different locations, if any of the
resource fail, public cloud can employ another one.
Flexibility
It is also very easy to integrate public cloud with private cloud, hence gives consumers a
flexible approach.
Location independence
Since, public cloud services are delivered through internet, therefore ensures location
independence.
High scalability
Cloud resources are made available on demand from a pool of resources, i.e., they can be
scaled up or down according the requirement.
Disadvantages
Here are the disadvantages of public cloud model:
Low security
In public cloud model, data is hosted off-site and resources are shared publicly, therefore
does not ensure higher level of security.
Less customizable
It is comparatively less customizable than private cloud.
Private cloud:
The private cloud allows systems and services to be accessible within an organization. The
private cloud is operated only within a single organization. However, it may be managed
internally or by third-party. The chief advantage of these systems is that the enterprise
retains full control
Over corporate data, security guidelines, and system performance.
Benefits
There are many benefits of deploying cloud as private cloud model. The following diagram
shows some of those benefits:
Higher security and privacy
Private cloud operations are not available to general public and resources are shared from
distinct pool of resources, therefore, ensures high security and privacy.
More control
Private clouds have more control on its resources and hardware than public cloud because it
is accessed only within an organization.
Restricted area
Private cloud is only accessible locally and is very difficult to deploy globally.
Inflexible pricing
In order to fulfill demand, purchasing new hardware is very costly.
Limited scalability
Private cloud can be scaled only within capacity of internal hosted resources.
Additional skills
In order to maintain cloud deployment, organization requires more skilled and expertise.
Hybrid cloud:
This can be a combination of private and public clouds that support the requirement to retain
some data in an organization, and also the need to offer services in the cloud. A company
may use internal resources in a private cloud and maintain total control over its proprietary
data. It can then use a public cloud storage provider for backing up less sensitive
information.
Benefits
There are many benefits of deploying cloud as hybrid cloud model. The following diagram
shows some of those benefits:
Scalability
It offers both features of public cloud scalability and private cloud scalability.
Flexibility
It offers both secure resources and scalable public resources.
Cost efficiencies
Public cloud are more cost effective than private, therefore hybrid cloud can have this saving.
Security
Private cloud in hybrid cloud ensures higher degree of security.
Disadvantage
s Networking
issues
Networking becomes complex due to presence of private and public cloud.
Security compliance
It is necessary to ensure that cloud services are compliant with organization's security policies.
Infrastructural dependency
The hybrid cloud model is dependent on internal it infrastructure, therefore it is necessary
to ensure redundancy across data centers.
Community cloud:
The community cloud allows system and services to be accessible by group of
organizations. It shares the infrastructure between several organizations from a specific
community. It may be managed internally or by the third-party.
Benefits
There are many benefits of deploying cloud as community cloud model. The following
diagram shows some of those benefits:
Cost effective
Community cloud offers same advantage as that of public\ cloud at low cost. Sharing
between organizations community cloud provides an infrastructure to share cloud resources
and capabilities among several organizations.
Security
Community cloud is comparatively more secure than the public cloud.
Issues
since all data is housed at one location, one must be careful in storing data in community
cloud because it might be accessible by others.
It is also challenging to allocate responsibilities of governance, security and cost.
It
Service
Service Connections
The figure given below illustrates the service-oriented architecture. Service consumer sends
a service request to the service provider, and the service provider sends the service response
to the service consumer. The service connection is understandable to both the service
consumer and service provider.
Service-Oriented Terminologies
o Services - The services are the logical entities defined by one or more
published interfaces.
o Service provider - It is a software entity that implements a service specification.
o Service consumer - It can be called as a requestor or client that calls a service
provider. A service consumer can be another service or an end-user application.
o Service locator - It is a service provider that acts as a registry. It is
responsible for examining service provider interfaces and service locations.
o Service broker - It is a service provider that pass service requests to one or
more additional service providers.
Characteristics of SOA
The service-oriented architecture stack can be categorized into two parts - functional aspects
and quality of service aspects.
Functional aspects
o Transport - It transports the service requests from the service consumer to the
service provider and service responses from the service provider to the service
consumer.
o Service Communication Protocol - It allows the service provider and the
service consumer to communicate with each other.
o Service Description - It describes the service and data required to invoke it.
o Service - It is an actual service.
o Business Process - It represents the group of services called in a particular
sequence associated with the particular rules to meet the business requirements.
o Service Registry - It contains the description of data which is used by service
providers to publish their services.
Advantages of SOA
parallel development.
o Available - The SOA services are easily available to any requester.
o Reliable - As services are small in size, it is easier to test and debug them.
Practical applications of SOA:
SOA is used in many ways around us whether it is mentioned or not.