2. UNIT III CLOUD ARCHITECTURE AND SERVICES
Cloud Computing Architecture - Cloud computing stack Service Models
(XaaS): Infrastructure as a Service (IaaS), Platform as a Service (PaaS),
Software as a Service (SaaS) – Deployment Models: Public cloud, Private
cloud, Hybrid cloud. Case Study: Microsoft Azure, Amazon EC2.
3. Cloud Computing Architecture:
Cloud Computing, which is one of the demanding technology of the
current time and which is giving a new shape to every organization by
providing on demand virtualized services/resources.
Starting from small to medium and medium to large, every
organization use cloud computing services in storing information and
accessing that from anywhere and anytime only with the help of internet.
Architecture of cloud computing is the combination of both SOA
(Service Oriented Architecture) and EDA (Event Driven Architecture). Client
infrastructure, application, service, runtime, storage, infrastructure,
management and security all these are the components of cloud computing
architecture
5. 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.
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.
6. Benefits of Cloud Computing Architecture:
Makes overall cloud computing system simpler.
Improves data processing requirements.
Helps in providing high security.
Makes it more modularized.
Results better disaster recovery.
Gives good user accessibility.
Reduces IT operating costs.
7. Cloud computing stack Service Models (XaaS):
Cloud computing can be described as a stack that is formed by layers, similar to a
cake. Those layers will be built using cloud computing services, servers, and
components, which can leverage several different clouds forming a single application
stack.
8. The cloud stack organization from physical infrastructure to
applications. In this layered architecture, the abstraction levels are seen where
higher layer services include the services of the underlying layer.
9. Benefits of Using a Cloud Computing Stack
The main benefits of using a cloud stack for your application stack are:
The expertise of running your components is delegated to the vendor with
expertise.
Resources are available on demand, speeding up the go-to-market.
Focusing the development teams on the actual business use cases improves
developer productivity.
10. Infrastructure-as-a-Service (IaaS)
Infrastructure-as-a-Service (IaaS) can be defined as the use of servers, storage,
computing power, network and virtualization to form utility like services for
users.
It is a cloud service model that provides hardware resources virtualized in the
cloud. It provides virtual computing resources to the users through resource pool.
In IaaS, the CSP owns all equipment, such as servers, storage disks, and network
infrastructure.
Developers use the IaaS service model to create virtual hardware on which the
applications and/ or services are developed.
11. Some key providers of IaaS are
Amazon Web Services (AWS),
Microsoft Azure,
GoGrid,
Joyent,
Rackspace etc.
some of the private cloud softwares through
which IaaS can be setup are
Openstack,
Apache Cloud Stack,
Eucalyptus, and
VMware VSphere etc
12. Computing resource need for a new business launch or when the company may not want to
buy hardware or if the organization wants to expand.
They include:
1.Service management and provisioning, such as: virtualization, service provisioning,
call center, operations management, systems management, QoS management, billing and
accounting, asset management, SLA management, technical support, and backups.
2. Security management, such as: ID and authentication, certification and accreditation,
intrusion prevention, intrusion detection, virus protection, cryptography, physical security,
incident response, access control, audit and trails, and firewalls.
3. Customer services, such as: customer assistance and on-line help, subscriptions,
business intelligence, reporting, customer preferences, and personalization.
4. Integration services, such as: data management and development.
13. Platform as a Service (PaaS)
The Platform as a Service can be defined as a computing platform that allows the user to
create web applications quickly and easily and without worrying about buying and
maintaining the software and infrastructure.
Platform-as-a-Service provides tools for development, deployment and testing the
softwares, middleware solutions, databases, programming languages and APIs for
developers to develop custom applications; without installing or configuring the
development environment.
The PaaS provides a platform to run web applications without installing them in a local
machine i.e. the applications written by the users can be directly run on the PaaS cloud.
It is built on the top of IaaS layer.
14. The challenge associated with PaaS is
compatibility i.e.
if user wants to migrate the services
from one provider to other then they have
checked the compatibility of execution engine
and cloud APIs first.
Some key providers of PaaS clouds are
Google App Engine,
Microsoft Azure,
NetSuite,
Red hat Open shift etc.
15. PaaS is also useful in the following situations:
When the application must be portable.
When proprietary programming languages are used.
When there is a need for custom hardware and software.
Features which are important to ensure compatibility.
(i)Logs: PaaS must provide APIs to open and close log files, write and examine log
entries and send alerts for certain events. This is a basic requirement of
application developers irrespective of their projects.
(ii)Caching: This feature can greatly boost application performance. PaaS must
make available a tool for developers to send a resource to cache and to flush the
cache.
16. Software as a Service (SaaS)
Software-as-a-Service is specifically designed for on demand
applications or software delivery to the cloud users.
It gives remote access to software’s that resides on cloud server not on
the user’s device.
User does not need to install required software’s in their local device as
they are provided remotely through network.
The consumer of a SaaS application only requires thin client software
such as a web browser to access the cloud-hosted application.
17. Some examples of popular SaaS
applications are
Google Docs,
Hotmail,
Salesforce and
Gmail
SaaS apps can be accessed over a thin client
web interface. SaaS provides the following
services
Enterprise - level services
Web 2.0 applications including social
networking, blogs, wiki servers, portal services,
metadata management and so on.
18. Some of the common characteristics found in SaaS applications are as
follows:
Applications deployed on SaaS are available over the internet and can be
accessed from any location.
Software can be licensed based on subscriptions or billed based on usage,
usually on a recurring basis.
The vendor monitors and maintains the software and the service.
SaaS applications are cheaper because they reduce the cost of distribution
and maintenance. End - user costs are also reduced significantly.
19. SaaS enables faster rollout, as features such as automatic rollouts,
upgrades, patch management and other tasks are easier to implement
from a centralised system.
SaaS applications can scale up or scale down based on demand and they
have lower barrier entry compared to their locally installed competitors.
All SaaS users can have the same version of the software, and hence the
issue of compatibility is eliminated.
SaaS has the capacity to support multiple users.
20. Cloud Deployment Models
A cloud deployment models are defined according to where the
computing infrastructure resides and who controls the infrastructure.
The NIST have classified cloud deployment models into four
categories namely,
Public cloud
Private cloud
Hybrid cloud
Community cloud
22. Public Cloud
The public cloud services are runs over the internet.
The users who want cloud services have to have internet connection in their
local device like thin client, thick client, mobile, laptop or desktop etc.
The public cloud services are managed and maintained by the Cloud Service
Providers (CSPs) or the Cloud Service Brokers (CSBs).
23. The public cloud services are provided through internet and APIs.
Public model allows users to easily access the services without
purchasing any specialize hardware or software.
Any device which has web browser and internet connectivity can be a
public cloud client.
The popular public cloud service providers are
Amazon web services,
Microsoft azure and
Google app engine,
Salesforce etc.
25. Private Cloud
The private cloud services are used by the organizations internally.
Most of the times it run over the intranet connection.
They are designed for a single organization therefore anyone within the
organization can get access to data, services and web applications easily
through local servers and local network but users outside the organizations
cannot access them.
This type of cloud services are hosted on intranet therefore users who are
connected to that intranet get access to the services.
26. It is much more secure than public cloud as it gives freedom to local
administrators to write their own security policies for user’s access.
It also provides good level trust and privacy to the users.
Private clouds are more expensive than public clouds due to the capital
expenditure involved in acquiring and maintaining them.
The well-known private cloud platforms are
Openstack,
Open nebula,
Eucalyptus,
VMware private cloud etc
28. Hybrid Cloud
The hybrid cloud services are composed of two or more clouds that offers the
benefits of multiple deployment models.
It mostly comprises on premise private cloud and offpremise public cloud to
leverage benefits of both and allow users inside and outside to have access to it.
The Hybrid cloud provides flexibility such that users can migrate their
applications and services from private cloud to public cloud and vice versa.
29. Community Cloud
The community cloud is basically the combination of one or more public,
private or hybrid clouds, which are shared by many organizations for a single
cause.
The community cloud is setup between multiple organizations whose
objective is same.
The Infrastructure for community cloud is to be shared by several
organizations within specific community with common security, compliance
objectives which is managed by third party organizations or managed
internally.
The well-known community clouds are Salesforce, Google community
cloud etc.
31. Microsoft Azure:
Windows Azure is a cloud-based operating system that enables the
development, hosting, and service management environment for the
Azure Services Platform.
Windows Azure gives developers an on-demand compute and storage
environment that they can use to host, scale, and manage web
applications through Microsoft data centers.
To build applications and services, developers can use the Visual
Studio skills they already have.
Further, Azure supports existing standards like SOAP, REST, and
XML.
32. Windows Azure can be used to
• Add web service capabilities to existing applications
• Build and modify applications and then move them onto the Web
• Make, test, debug, and distribute web services efficiently and
inexpensively
• Reduce the costs of IT management
33. Azure core components
Windows Azure has three core components. Compute which
provides a computation environment, Storage for scalable storage, and
Fabric Controller which deploys, manages, and monitors applications;
it interconnects nodes consisting of servers, high-speed connections,
and switches.
34. The computations carried out by an application are implemented as one or
more roles; an application typically runs multiple instances of a role. One
distinguishes:
(i)Web role instances used to create web applications;
(ii)Worker role instances used to run Window-based code; and
(iii)VM role instances running user-provided Windows Server 2008 R2
images.
35. Benefits of Microsoft Azure
Cost Effective
Hybrid Environments
Big data Applications
Integration Capabilities
Storage and Security
Scheduling and Automation
Data Backup and Recovery
36. Amazon EC2:
Amazon Elastic Compute Cloud (Amazon EC2) is a web service
that offers resizable compute capacity in the cloud and is designed to
make web scaling easier for developers
Amazon EC2 provides a simple web interface that allows you to
obtain and configure capacity with little difficulty.
It allows you control of your computing resources.
Amazon EC2 cuts the time it takes to obtain and boot new server
instances to a few minutes, allowing you to change scale as your needs
change
37. EC2 Components
In AWS EC2, the users must be aware about the EC2 components,
their operating systems support, security measures, pricing structures, etc.
(i)Operating System Support
Amazon EC2 supports multiple OS in which we need to pay additional
licensing fees like:
Red Hat Enterprise,
SUSE Enterprise and
Oracle Enterprise Linux, UNIX, Windows Server, etc.
These OS needs to be implemented in conjunction with Amazon Virtual
Private Cloud (VPC).
38. Security
Users have complete control over the visibility of their AWS account.
In AWS EC2, the security systems allow create groups and place
running instances into it as per the requirement.
You can specify the groups with which other groups may
communicate, as well as the groups with which IP subnets on the Internet
may talk.
Pricing
AWS offers a variety of pricing options, depending on the type of
resources, types of applications and database.
It allows the users to configure their resources and compute the
charges accordingly.
39. Fault tolerance
Amazon EC2 allows the users to access its resources to design fault-
tolerant applications.
EC2 also comprises geographic regions and isolated locations known
as availability zones for fault tolerance and stability.
It doesn’t share the exact locations of regional data centers for
security reasons.
Migration
This service allows the users to move existing applications into EC2.
It costs $80.00 per storage device and $2.49 per hour for data
loading.
This service suits those users having large amount of data to move.