SlideShare a Scribd company logo
1 of 33
Download to read offline
UNIT I
Fundamentals of Cloud Computing
Introduction:
Cloud Computing provides us means by which we can access the applications as utilities over
the internet. It allows us to create, configure, and customize the business applications
online.
WhatisCloud?
The term Cloud refers to a Network or Internet.
In other words, we can say that Cloud is something, which is present at remote location. Cloud
can provide services over public and private networks, i.e., WAN, LAN or VPN.
Applications such as e-mail, web conferencing, customer relationship management (CRM)
execute on cloud.
On demand delivery of IT resources through the Internet with payment depending on the use
of the service is known as cloud computing. And It gives a solution for infrastructure at low
cost.
Whatis CloudComputing?
Cloud Computing refers to manipulating, configuring, and accessing the hardware and
software resources remotely. It offers online data storage, infrastructure, and application.
Cloud computing offers platform independency, as the software is not required to be
installed locally on the PC. Hence, the Cloud Computing is making our business
applications mobile and collaborative.
1. It accesses the multiple server-based computer resources through a network.
2. Cloud user accesses the server resources using the computer, smart phones, notebook,
tablets or other devices.
3. Cloud server maintains all the processing and storage.
Features of Cloud Computing
High scalability - It means on demand provisioning of resources on a large scale without
requiring human interaction with each service provider.
High availability and reliability - Availability of servers is more reliable and high because
it minimizes the chances of infrastructure failure.
Agility - It shares the resources between users and works very quickly.
Multi-sharing - Multiple user and applications work more efficiently with less cost by
sharing common infrastructure using cloud computing.
Maintenance - Maintenance of cloud computing applications is easier as they are not
required to be install on each computer and can also be accessed from various places,
ultimately reducing the cost.
Low cost - It is cost effective because the company no more needs to set its own
infrastructure. It pays according to resources it has consumed.
Services in pay-per-use mode - APIs(Application Programming Interfaces) are provided to
the users for accessing the services on the cloud and pay according to use of the service.
HistoryofCloudComputing
The concept of Cloud Computing came into existence in the year 1950 with implementation
of mainframe computers, accessible via thin/static clients. Since then, cloud computing has
been evolved from static clients to dynamic ones and from software to services. The following
diagram explains the evolution of cloud computing:
BasicConcepts
There are certain services and models working behind the scene making the cloud computing
feasible and accessible to end users. Following are the working models for cloud computing:
 Deployment Models
 Service Models
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 the general
public. Public cloud may be less secure because of its openness.
 PRIVATE CLOUD
The private cloud allows systems and services to be accessible within an organization.
It is more secured because of its private nature.
 COMMUNITY CLOUD
The community cloud allows systems and services to be accessible by a group of
organizations.
 HYBRID CLOUD
The hybrid cloud is a mixture of public and private cloud, in which the critical
activities are performed using private cloud while the non-critical activities are
performed using public cloud.
PUBLIC CLOUD
Public Cloud allows systems and services to be easily accessible to general public. The IT
giants such as Google, Amazon and Microsoft offer cloud services via Internet. The Public
Cloud Model is shown in the diagram below.
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 shares same resources with large number of customers it turns out
inexpensive.
 Reliability
The public cloud employs large number of resources from different locations. If any
of the resources fails, public cloud can employ another one.
 Flexibility
The public cloud can smoothly integrate with private cloud, which gives customers a
flexible approach.
 Location Independence
Public cloud services are delivered through Internet, ensuring location independence.
 Utility Style Costing
Public cloud is also based on pay-per-use model and resources are accessible
whenever customer needs them.
 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 some 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 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 by the organization itself or by third-party. The private cloud model is shown in the
diagram below.
Benefits
There are many benefits of deploying cloud as private cloud model. The following diagram
shows some of those benefits:
 High Security and Privacy
Private cloud operations are not available to general public and resources are shared
from distinct pool of resources. Therefore, it ensures high security and privacy.
 More Control
The private cloud has more control on its resources and hardware than public cloud
because it is accessed only within an organization.
 Cost and Energy Efficiency
The private cloud resources are not as cost effective as resources in public clouds but
they offer more efficiency than public cloud resources.
Disadvantages
Here are the disadvantages of using private cloud model:
 Restricted Area of Operation
The private cloud is only accessible locally and is very difficult to deploy globally.
 High Priced
Purchasing new hardware in order to fulfill the demand is a costly transaction.
 Limited Scalability
The private cloud can be scaled only within capacity of internal hosted resources.
Hybrid Cloud is a mixture of public and private cloud. Non-critical activities are
performed using public cloud while the critical activities are performed using private cloud.
The Hybrid Cloud Model is shown in the diagram below.
Benefits
There are many benefits of deploying cloud as hybrid cloud model. The following
diagram shows some of those benefits:
 Scalability
It offers features of both, the public cloud scalability and the private cloud scalability.
 Flexibility
It offers secure resources and scalable public resources.
 Cost Efficiency
Public clouds are more cost effective than private ones. Therefore, hybrid clouds can
be cost saving.
 Security
The private cloud in hybrid cloud ensures higher degree of security.
Disadvantages
 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 security policies of the
organization.
 Infrastructure Dependency
The hybrid cloud model is dependent on internal IT infrastructure, therefore it is
necessary to ensure redundancy across data centers.
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 by organizations or by the third-party. The Community Cloud Model
is shown in the diagram below.
Benefits
There are many benefits of deploying cloud as community cloud model.
 Cost Effective
Community cloud offers same advantages as that of private cloud at low cost.
 Sharing Among Organizations
Community cloud provides an infrastructure to share cloud resources and capabilities
among several organizations.
 Security
The community cloud is comparatively more secure than the public cloud but less
secured than the private cloud.
Issues
 Since all data is located at one place, one must be careful in storing data in community
cloud because it might be accessible to others.
 It is also challenging to allocate responsibilities of governance, security and cost among
organizations.
Service Models
Cloud computing is based on service models. These are categorized into three basic service
models which are -
 Infrastructure-as–a-Service (IaaS)
 Platform-as-a-Service (PaaS)
 Software-as-a-Service (SaaS)
Anything-as-a-Service (XaaS) is yet another service model, which includes Network-as-a-
Service, Business-as-a-Service, Identity-as-a-Service, Database-as-a-Service or Strategy-as-
a-Service.
The Infrastructure-as-a-Service (IaaS) is the most basic level of service. Each of the service
models inherit the security and management mechanism from the underlying model, as shown
in the following diagram:
INFRASTRUCTURE-AS-A-SERVICE (IAAS)
IaaS provides access to fundamental resources such as physical machines, virtual machines,
virtual storage, etc. Apart from these resources, the IaaS also offers:
 Virtual machine disk storage
 Virtual local area network (VLANs)
 Load balancers
 IP addresses
 Software bundles
All of the above resources are made available to end user via server virtualization. Moreover,
these resources are accessed by the customers as if they own them.
Benefits
IaaS allows the cloud provider to freely locate the infrastructure over the Internet in a cost-
effective manner. Some of the key benefits of IaaS are listed below:
 Full control of the computing resources through administrative access to VMs.
 Flexible and efficient renting of computer hardware.
 Portability, interoperability with legacy applications.
PLATFORM-AS-A-SERVICE (PAAS)
PaaS provides the runtime environment for applications, development and deployment tools,
etc.
Platform-as-a-Service offers the runtime environment for applications. It also offers
development and deployment tools required to develop applications. PaaS has a feature
of point-and-click tools that enables non-developers to create web applications.
App Engine of Google and Force.com are examples of PaaS offering vendors. Developer may
log on to these websites and use the built-in API to create web-based applications.
But the disadvantage of using PaaS is that, the developer locks-in with a particular vendor.
For example, an application written in Python against API of Google, and using App Engine
of Google is likely to work only in that environment.
The following diagram shows how PaaS offers an API and development tools to the
developers and how it helps the end user to access business applications.
Benefits
 Lower administrative overhead
Customer need not bother about the administration because it is the responsibility of
cloud provider.
 Lower total cost of ownership
Customer need not purchase expensive hardware, servers, power, and data storage.
 Scalable solutions
It is very easy to scale the resources up or down automatically, based on their demand.
 More current system software
It is the responsibility of the cloud provider to maintain software versions and patch
installations.
SOFTWARE-AS-A-SERVICE (SAAS)
Software-as–a-Service (SaaS) model allows to provide software application as a service to
the end users. It refers to a software that is deployed on a host service and is accessible via
Internet. There are several SaaS applications listed below:
 Billing and invoicing system
 Customer Relationship Management (CRM) applications
 Help desk applications
 Human Resource (HR) solutions
Some of the SaaS applications are not customizable such as Microsoft Office Suite. But SaaS
provides us Application Programming Interface (API), which allows the developer to
develop a customized application.
The following diagram shows the SaaS implementation based on SOA:
Benefits
Using SaaS has proved to be beneficial in terms of scalability, efficiency and performance.
Some of the benefits are listed below:
 Modest software tools
 Efficient use of software licenses
 Centralized management and data
 Platform responsibilities managed by provider
 Multitenant solutions
Network-as-a-Service allows us to access to network infrastructure directly and securely.
NaaS makes it possible to deploy custom routing protocols.
NaaS uses virtualized network infrastructure to provide network services to the customer.
It is the responsibility of NaaS provider to maintain and manage the network resources.
Having a provider working for a customer decreases the workload of the customer. Moreover,
NaaS offers network as a utility. NaaS is also based on pay-per-use model.
HowNaaSisdelivered?
To use NaaS model, the customer is required to logon to the web portal, where he can get
online API. Here, the customer can customize the route.
In turn, customer has to pay for the capacity used. It is also possible to turn off the capacity at
any time.
MobileNaaS
Mobile NaaS offers more efficient and flexible control over mobile devices. It uses
virtualization to simplify the architecture thereby creating more efficient processes.
Following diagram shows the Mobile NaaS service elements:
NaaSBenefits
NaaS offers a number of benefits as discussed below:
 Independence
Each customer is independent and can segregate the network.
 Bursting
The customer pays for high-capacity network only on requirement.
 Resilience
The reliability treatments are available, which can be applied for critical applications.
 Analytics
 The data protection solutions are available, which can be applied for highly sensitive
applications.
 Ease of Adding New Service Elements
It is very easy to integrate new service elements to the network.
 Support Models
A number of support models are available to reduce operation cost.
 Isolation of Customer Traffic
The customer traffic is logically isolated
BenefitsOfCloudComputing
Cloud Computing has numerous advantages. Some of them are listed below -
 One can access applications as utilities, over the Internet.
 One can manipulate and configure the applications online at any time.
 It does not require to install a software to access or manipulate cloud application.
 Cloud Computing offers online development and deployment tools, programming
runtime environment through PaaS model.
 Cloud resources are available over the network in a manner that provide platform
independent access to any type of clients.
 Cloud Computing offers on-demand self-service. The resources can be used without
interaction with cloud service provider.
 Cloud Computing is highly cost effective because it operates at high efficiency with
optimum utilization. It just requires an Internet connection
 Cloud Computing offers load balancing that makes it more reliable.
Risks relatedtoCloudComputing
Although cloud Computing is a promising innovation with various benefits in the world of
computing, it comes with risks. Some of them are discussed below:
 Security and Privacy
It is the biggest concern about cloud computing. Since data management and
infrastructure management in cloud is provided by third-party, it is always a risk to
handover the sensitive information to cloud service providers.
Although the cloud computing vendors ensure highly secured password protected
accounts, any sign of security breach may result in loss of customers and businesses.
 Lock In
It is very difficult for the customers to switch from one Cloud Service Provider
(CSP) to another. It results in dependency on a particular CSP for service.
 Isolation Failure
This risk involves the failure of isolation mechanism that separates storage, memory,
and routing between the different tenants.
 Management Interface Compromise
In case of public cloud provider, the customer management interfaces are accessible
through the Internet.
 Insecure or Incomplete Data Deletion
It is possible that the data requested for deletion may not get deleted. It happens because
either of the following reasons
1. Extra copies of data are stored but are not available at the time of deletion
2. Disk that stores data of multiple tenants is destroyed.
CharacteristicsofCloudComputing
There are four key characteristics of cloud computing. They are shown in the following
diagram:
 On Demand Self Service
Cloud Computing allows the users to use web services and resources on demand. One
can logon to a website at any time and use them.
 Broad Network Access
Since cloud computing is completely web based, it can be accessed from anywhere and
at any time.
 Resource Pooling
Cloud computing allows multiple tenants to share a pool of resources. One can share
single physical instance of hardware, database and basic infrastructure.
 Rapid Elasticity
It is very easy to scale the resources vertically or horizontally at any time. Scaling of
resources means the ability of resources to deal with increasing or decreasing demand.
The resources being used by customers at any given point of time are automatically
monitored.
 Measured Service
In this service cloud provider controls and monitors all the aspects of cloud service.
Resource optimization, billing, and capacity planning etc. depend on it.
Architecture of Cloud Computing
Cloud Computing architecture comprises of many cloud components, which are loosely
coupled. We can broadly divide the cloud architecture into two parts:
 Front End
 Back End
Each of the ends is connected through a network, usually Internet. The following diagram
shows the graphical view of cloud computing architecture:
 FrontEnd
The front end refers to the client part of cloud computing system. It consists of
interfaces and applications that are required to access the cloud computing platforms,
Example - Web Browser.
 BackEnd
The back End refers to the cloud itself. It consists of all the resources required to
provide cloud computing services. It comprises of huge data storage, virtual machines,
security mechanism, services, deployment models, servers, etc.
Cloud infrastructure consists of servers, storage devices, network, cloud management
software, deployment software, and platform virtualization.
 Hypervisor
Hypervisor is a firmware or low-level program that acts as a Virtual Machine
Manager. It allows to share the single physical instance of cloud resources between
several tenants.
 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.
CLOUD CUBE Model
There is an open-group association Jericho Forum & their focus is on how to protect
and secure cloud network. They put forward a model that helps to categorize a cloud network
based on four-dimensional factors. The figure is drawn below showing the Cloud Cube model.
Fig: Cloud Cube Model
As the name Four-Dimensional, the working is also categorized into four parts viz:
1. Physical Location of Data: The location of data may be internally or externally which
ultimately defines the organization's boundary.
2. Ownership: Ownership is proprietary or open; is a measurement for not only ownership of
technology but also its interoperability, use of data & ease of data-transfer & degree of
vendor's application's lock-in.
3. Security Range: is parameterized or de-parameterized; which measures whether the
operations are inside or outside the security boundary, firewall, etc.
4. Sourcing: In-sourcing or out-sourcing; which defines whether the customer or the service
provider provides the service.
Challenges in Cloud Computing
Cloud computing, an emergent technology, has placed many challenges in different aspects
of data and information handling. Some of these are shown in the following diagram:
 SecurityandPrivacy
Security and Privacy of information is the biggest challenge to cloud computing.
Security and privacy issues can be overcome by employing encryption, security
hardware and security applications.
 Portability
This is another challenge to cloud computing that applications should easily be
migrated from one cloud provider to another. There must not be vendor lock-in.
However, it is not yet made possible because each of the cloud provider uses different
standard languages for their platforms.
 Interoperability
It means the application on one platform should be able to incorporate services from
the other platforms. It is made possible via web services, but developing such web
services is very complex.
 ComputingPerformance
Data intensive applications on cloud requires high network bandwidth, which results
in high cost. Low bandwidth does not meet the desired computing performance of
cloud application.
 ReliabilityandAvailability
It is necessary for cloud systems to be reliable and robust because most of the
businesses are now becoming dependent on services provided by third-party.
APPLICATION OF CLOUD COMPUTING
Cloud Computing has its applications in almost all the fields such as business, entertainment,
data storage, social networking, management, entertainment, education, art and global
positioning system, etc.
BusinessApplications
Cloud computing has made businesses more collaborative and easy by incorporating various
apps such as MailChimp, Chatter, Google Apps for business, and Quickbooks.
SN Application Description
1 MailChimp
It offers an e-mail publishing platform. It is widely employed by the businesses to
design and send their e-mail campaigns.
2 Chatter
Chatter app helps the employee to share important information about organization in
real time. One can get the instant feed regarding any issue.
3 Google Apps for Business
Google offers creating text documents, spreadsheets, presentations, etc.,
on Google Docs which allows the business users to share them in collaborating
manner.
4 Quickbooks
It offers online accounting solutions for a business. It helps in monitoring cash flow,
creating VAT returns and creating business reports.
DataStorageandBackup
Box.com, Mozy, Joukuu are the applications offering data storage and backup services in
cloud.
SN Application Description
1 Box.com
Box.com offers drag and drop service for files. The users need to drop the files into
Box and access from anywhere.
2 Mozy
Mozy offers online backup service for files to prevent data loss.
3 Joukuu
Joukuu is a web-based interface. It allows to display a single list of contents for files
stored in Google Docs, Box.net and Dropbox.
ManagementApplications
There are apps available for management task such as time tracking, organizing
notes. Applications performing such tasks are discussed below:
SN Application Description
1 Toggl
It helps in tracking time period assigned to a particular project.
2 Evernote
It organizes the sticky notes and even can read the text from images which helps the
user to locate the notes easily.
3 Outright
It is an accounting app. It helps to track income, expenses, profits and losses in real
time.
SocialApplications
There are several social networking services providing websites such as Facebook, Twitter,
etc.
SN Application Description
1 Facebook
It offers social networking service. One can share photos, videos, files, status and
much more.
2 Twitter
It helps to interact with the public directly. One can follow any celebrity, organization
and any person, who is on twitter and can have latest updates regarding the same.
EntertainmentApplications
SN Application Description
1 Audio box.fm
It offers streaming service. The music files are stored online and can be played from
cloud using the own media player of the service.
ArtApplications
SN Application Description
1 Moo
It offers art services such as designing and printing business cards,
postcards and mini cards.
Popular Cloud Computing platforms:
SN Platform Description
1 Salesforce.com
This is a Force.com development platform. This provides a simple user interface and
lets users log in, build an app, and push it in the cloud.
2 Appistry
The Appistry's CloudIQ platform is efficient in delivering a runtime application. This
platform is very useful to create scalable and service oriented applications.
3 AppScale
The AppScale is an open source platform for App Engine of Google applications.
4 AT&T
The AT&T allows access to virtual servers and manages the virtualization
infrastructure. This virtualization infrastructure includes network, server and storage.
5 Engine Yard
The Engine Yard is a rails application on cloud computing platform.
6 Enomaly
Enomaly provides the Infrastructure-as-a-Service platform.
7 FlexiScale
The FlexiScale offers a cloud computing platform that allows flexible, scalable and
automated cloud infrastructure.
8 GCloud3
The GCloud3 offers private cloud solution in its platform.
9 Gizmox
The Gizmox Visual WebGUI platform is best suited for developing new web apps and
modernize the legacy apps based on ASP.net, DHTML, etc.
10 GoGrid
The GoGrid platform allows the users to deploy web and database cloud services.
11 Google
The Google's App Engine lets the users build, run and maintain their applications on
Google infrastructure.
12 LongJump
The LongJump offers a business application platform, a Platform-as-a-Service (PaaS).
13 Microsoft
The Microsoft Windows Azure is a cloud computing platform offering an
environment to create cloud apps and services.
14 OrangeScape
OrangeScape offers a Platform-as-a-Service (Paas) for non-programmers. Building an
app is as easy as spreadsheet.
15 RackSpace
The RackSpace provides servers-on-demand via a cloud-driven platform of
virtualized servers.
16 Amazon EC2
The Amazon EC2 (Elastic Compute Cloud) lets the users configure and control
computing resources while running them on Amazon environment.
Case Study – Amazon EC2
Amazon Elastic Compute Cloud (EC2)
Elastic IP addresses allow you to allocate a static IP address and programmatically assign it to
an instance. You can enable monitoring on an Amazon EC2 instance using Amazon
CloudWatch to gain visibility into resource utilization, operational performance, and overall
demand patterns (including metrics such as CPU utilization, disk reads and writes, and network
traffic). You can create Auto-scaling Group using the Auto-scaling feature to automatically
scale your capacity on certain conditions based on metric that Amazon CloudWatch collects.
You can also distribute incoming traffic by creating an elastic load balancer using the Elastic
Load Balancing service. Amazon Elastic Block Storage (EBS) volumes provide network-
attached persistent storage to Amazon EC2 instances. Point-in-time consistent snapshots of
EBS volumes can be created and stored on Amazon Simple Storage Service(AmazonS3).
Amazon S3 is highly durable and distributed data store. With a simple web services interface,
you can store and retrieve large amounts of data as objects in buckets (containers) at any time,
from anywhere on the web using standard HTTP verbs. Copies of objects can be distributed
and cached at 14 edge locations around the world by creating a distribution using Amazon
CloudFront7 service – a web service for content delivery (static or streaming content). Amazon
SimpleDB8 is a web service that provides the core functionality of a database- real-time lookup
and simple querying of structured data – without the operational complexity. You can organize
the dataset into domains and can run queries across all the data stored in a particular domain.
Domains are collections of items that are described by attribute-value pairs.
Amazon Relational Database Service (Amazon RDS) provides an easy way to setup, operate
and scale a relational database in the cloud. You can launch a DB Instance and get access to a
full-featured MySQL database and not worry about common database administration tasks like
backup,&etc.
Amazon Simple Queue Service (Amazon SQS) is a reliable, highly scalable, hosted
distributed queue for storing messages as they travel between computers and application
components.
Amazon Simple Notifications Service (Amazon SNS) provides a simple way to notify
applications or people from the cloud by creating Topics and using a publish-subscribe
protocol.
Amazon Elastic MapReduce provides a hosted Hadoop framework running on the web-scale
infrastructure of Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage
Service (Amazon S3) and allows you to create customized JobFlows. JobFlow is a sequence
of MapReduce steps.
Amazon Virtual Private Cloud (Amazon VPC) allows you to extend your corporate network
into a private cloud contained within AWS. Amazon VPC uses IPSec tunnel mode that enables
you to create a secure connection between a gateway in your data center and a gateway in
AWS.
Amazon Route53 is a highly scalable DNS service that allows you manage your DNS records
by creating a HostedZone for every domain you would like to manage.
AWS Identity and Access Management (IAM) enable you to create multiple Users with
unique security credentials and manage the permissions for each of these Users within your
AWS Account. IAM is natively integrated into AWS Services. No service APIs have changed
to support IAM, and exiting applications and tools built on top of the AWS service APIs will
continue to work when using IAM.
AWS also offers various payment and billing services that leverages Amazon’s payment
infrastructure.
All AWS infrastructure services offer utility-style pricing that require no long-term
commitments or contracts
Case Study – Microsoft Azure
Execution Environment
The Windows Azure execution environment consists of a platform for applications and services
hosted within one or more roles. The types of roles you can implement in Windows Azure are:
 Azure Compute (Web and Worker Roles). A Windows Azure application consists of one
or more hosted roles running within the Azure data centers. Typically there will be at least
one Web role that is exposed for access by users of the application. The application may
contain additional roles, including Worker roles that are typically used to perform
background processing and support tasks for Web roles.
 Virtual Machine (VM role). This role allows you to host your own custom instance of the
Windows Server 2008 R2 Enterprise or Windows Server 2008 R2 Standard operating
system within a Windows Azure data center.
Data Management
Windows Azure, SQL Azure, and the associated services provide opportunities for storing and
managing data in a range of ways. The following data management services and features are
available:
 Azure Storage: This provides four core services for persistent and durable data storage in
the cloud. The services support a REST interface that can be accessed from within Azure-
hosted or on-premises (remote) applications. The four storage services are:
o The Azure Table Service provides a table-structured storage mechanism based on the
familiar rows and columns format, and supports queries for managing the data. It is
primarily aimed at scenarios where large volumes of data must be stored, while being
easy to access and update.
o The Binary Large Object (BLOB) Service provides a series of containers aimed at
storing text or binary data. It provides both Block BLOB containers for streaming
data, and Page BLOB containers for random read/write operations.
o The Queue Service provides a mechanism for reliable, persistent messaging between
role instances, such as between a Web role and a Worker role.
o Windows Azure Drives provide a mechanism for applications to mount a single
volume NTFS VHD as a Page BLOB, and upload and download VHDs via the BLOB
 SQL Azure Database: This is a highly available and scalable cloud database service built
on SQL Server technologies, and supports the familiar T-SQL based relational database
model. It can be used with applications hosted in Windows Azure, and with other
applications running on-premises or hosted elsewhere.
 Data Synchronization: SQL Azure Data Sync is a cloud-based data synchronization
service built on Microsoft Sync Framework technologies. It provides bi-directional data
synchronization and data management capabilities allowing data to be easily shared
between multiple SQL Azure databases and between on-premises and SQL Azure
databases.
 Caching: This service provides a distributed, in-memory, low latency and high throughput
application cache service that requires no installation or management, and dynamically
increases and decreases the cache size automatically as required. It can be used to cache
application data, ASP.NET session state information, and for ASP.NET page output
caching.
Networking Services
Windows Azure provides several networking services that you can take advantage of to
maximize performance, implement authentication, and improve manageability of your hosted
applications. These services include the following:
 Content Delivery Network (CDN). The CDN allows you to cache publicly available static
data for applications at strategic locations that are closer (in network delivery terms) to
end users. The CDN uses a number of data centers at many locations around the world,
which store the data in BLOB storage that has anonymous access. These do not need to
be locations where the application is running.
 Virtual Network Connect. This service allows you to configure roles of an application
running in Windows Azure and computers on your on-premises network so that they
appear to be on the same network. It uses a software agent running on the on-premises
computer to establish an IPsec-protected connection to the Windows Azure roles in the
cloud, and provides the capability to administer, manage, monitor, and debug the roles
directly.
 Virtual Network Traffic Manager. This is a service that allows you to set up request
redirection and load balancing based on three different methods. Typically you will use
Traffic Manager to maximize performance by redirecting requests from users to the
instance in the closest data center using the Performance method. Alternative load
balancing methods available are Failover and Round Robin.
 Access Control. This is a standards-based service for identity and access control that
makes use of a range of identity providers (IdPs) that can authenticate users. ACS acts as
a Security Token Service (STS), or token issuer, and makes it easier to take advantage of
federation authentication techniques where user identity is validated in a realm or domain
other than that in which the application resides. An example is controlling user access
based on an identity verified by an identity provider such as Windows Live ID or Google.
 Service Bus. This provides a secure messaging and data flow capability for distributed
and hybrid applications, such as communication between Windows Azure hosted
applications and on-premises applications and services, without requiring complex
firewall and security infrastructures. It can use a range of communication and messaging
protocols and patterns to provide delivery assurance, reliable messaging; can scale to
accommodate varying loads; and can be integrated with on-premises BizTalk Server
artifacts.
Case Study – Google App Engine
Google App Engine (often referred to as GAE or simply App Engine, and also used by the
acronym GAE/J) is a platform as a service(PaaS) cloud computing platform for developing and
hosting web applications in Google-managed data centers. Applications are sandboxed and run
across multiple servers. App Engine offers automatic scaling for web applications—as the
number of requests increases for an application, App Engine automatically allocates more
resources for the web application to handle the additional demand.
Google App Engine is free up to a certain level of consumed resources. Fees are charged for
additional storage, bandwidth, or instance hours required by the application. It was first
released as a preview version in April 2008, and came out of preview in September 2011.
Runtimes and frameworks
Currently, the supported programming languages are Python, Java (and, by extension,
other JVM languages such as Groovy, JRuby, Scala, Clojure, Jython and PHP via a special
version ofQuercus), and Go. Google has said that it plans to support more languages in the
future, and that the Google App Engine has been written to be language independent.
Reliability and Support
All billed High-Replication Datastore App Engine applications have a 99.95% uptime SLA
Portability Concerns
Developers worry that the applications will not be portable from App Engine and fear
being locked into the technology. In response, there are a number of projects to create open-
source back-ends for the various proprietary/closed APIs of app engine, especially the
datastore. Although these projects are at various levels of maturity, none of them is at the point
where installing and running an App Engine app is as simple as it is on Google’s service.
AppScale and TyphoonAE are two of the open source efforts.
AppScale can run Python, Java, and Go GAE applications on EC2 and other cloud vendors.
TyphoonAE can run python App Engine applications on any cloud that support linux
machines.
Web2py web framework offers migration between SQL Databases and Google App Engine,
however it doesn’t support several App Engine-specific features such as transactions and
namespaces.
Differences with other application hosting
Compared to other scalable hosting services such as Amazon EC2, App Engine provides more
infrastructure to make it easy to write scalable applications, but can only run a limited range of
applications designed for that infrastructure.
App Engine’s infrastructure removes many of the system administration and development
challenges of building applications to scale to hundreds of requests per second and beyond.
Google handles deploying code to a cluster, monitoring, failover, and launching application
instances as necessary.
While other services let users install and configure nearly any *NIX compatible software, App
Engine requires developers to use only its supported languages, APIs, and frameworks. Current
APIs allow storing and retrieving data from a BigTable non-relational database; making HTTP
requests; sending e-mail; manipulating images; and caching. Existing web applications that
require a relational database will not run on App Engine without modification.
Per-day and per-minute quotas restrict bandwidth and CPU use, number of requests served,
number of concurrent requests, and calls to the various APIs, and individual requests are
terminated if they take more than 60 seconds or return more than 32MB of data.
Differences between SQL and GQL
Google App Engine’s datastore has a SQL-like syntax called “GQL”. GQL
intentionally does not support the Join statement, because it seems to be inefficient
when queries span more than one machine. Instead, one-to-many and many-to-many
relationships can be accomplished using ReferenceProperty(). This shared-nothing
approach allows disks to fail without the system failing. Switching from a relational
database to the Datastore requires a paradigm shift for developers when modelling their
data.
Unlike a relational database the Datastore API is not relational in the SQL sense.
The Java version supports asynchronous non-blocking queries using the Twig Object
Datastore interface. This offers an alternative to using threads for parallel data
processing.

More Related Content

What's hot

Benefits Of Building Private Cloud
Benefits Of Building Private CloudBenefits Of Building Private Cloud
Benefits Of Building Private Clouddinobusalachi
 
Virtualization for Cloud Environment
Virtualization for Cloud EnvironmentVirtualization for Cloud Environment
Virtualization for Cloud EnvironmentDr. Sunil Kr. Pandey
 
Business Continuity & Disaster Recovery with Microsoft Azure
Business Continuity & Disaster Recovery with Microsoft AzureBusiness Continuity & Disaster Recovery with Microsoft Azure
Business Continuity & Disaster Recovery with Microsoft AzureAymen Mami
 
Cloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best PracticesCloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best PracticesQBurst
 
Webinar: Simplifying the Enterprise Hybrid Cloud with Azure Stack HCI
Webinar: Simplifying the Enterprise Hybrid Cloud with Azure Stack HCIWebinar: Simplifying the Enterprise Hybrid Cloud with Azure Stack HCI
Webinar: Simplifying the Enterprise Hybrid Cloud with Azure Stack HCIStorage Switzerland
 
Introduction to Azure
Introduction to AzureIntroduction to Azure
Introduction to AzureRobert Crane
 
Cloud Computing and Virtualization
Cloud Computing and Virtualization Cloud Computing and Virtualization
Cloud Computing and Virtualization Mahbub Noor Bappy
 
Cloud 101 - What is the Cloud?
Cloud 101 - What is the Cloud?Cloud 101 - What is the Cloud?
Cloud 101 - What is the Cloud?RapidScale
 
Cloud Computing and Services | PPT
Cloud Computing and Services | PPTCloud Computing and Services | PPT
Cloud Computing and Services | PPTSeminar Links
 
Cloud Computing Project
Cloud Computing Project Cloud Computing Project
Cloud Computing Project Ayush Mukherjee
 
Chap 1 introduction to cloud computing
Chap 1 introduction to cloud computingChap 1 introduction to cloud computing
Chap 1 introduction to cloud computingRaj Sarode
 
Private Cloud Architecture
Private Cloud ArchitecturePrivate Cloud Architecture
Private Cloud ArchitectureDerek Keats
 
Cloud computing using Eucalyptus
Cloud computing using EucalyptusCloud computing using Eucalyptus
Cloud computing using EucalyptusAbhishek Dey
 
Virtualization in cloud
Virtualization in cloudVirtualization in cloud
Virtualization in cloudAshok Kumar
 

What's hot (20)

Benefits Of Building Private Cloud
Benefits Of Building Private CloudBenefits Of Building Private Cloud
Benefits Of Building Private Cloud
 
Virtualization for Cloud Environment
Virtualization for Cloud EnvironmentVirtualization for Cloud Environment
Virtualization for Cloud Environment
 
Business Continuity & Disaster Recovery with Microsoft Azure
Business Continuity & Disaster Recovery with Microsoft AzureBusiness Continuity & Disaster Recovery with Microsoft Azure
Business Continuity & Disaster Recovery with Microsoft Azure
 
Cloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best PracticesCloud Migration Strategy and Best Practices
Cloud Migration Strategy and Best Practices
 
Webinar: Simplifying the Enterprise Hybrid Cloud with Azure Stack HCI
Webinar: Simplifying the Enterprise Hybrid Cloud with Azure Stack HCIWebinar: Simplifying the Enterprise Hybrid Cloud with Azure Stack HCI
Webinar: Simplifying the Enterprise Hybrid Cloud with Azure Stack HCI
 
Introduction to Azure
Introduction to AzureIntroduction to Azure
Introduction to Azure
 
Cloud Service Model
Cloud Service ModelCloud Service Model
Cloud Service Model
 
Cloud Computing and Virtualization
Cloud Computing and Virtualization Cloud Computing and Virtualization
Cloud Computing and Virtualization
 
Cloud Computing: Virtualization
Cloud Computing: VirtualizationCloud Computing: Virtualization
Cloud Computing: Virtualization
 
Cloud security
Cloud securityCloud security
Cloud security
 
Cloud 101 - What is the Cloud?
Cloud 101 - What is the Cloud?Cloud 101 - What is the Cloud?
Cloud 101 - What is the Cloud?
 
Cloud Computing and Services | PPT
Cloud Computing and Services | PPTCloud Computing and Services | PPT
Cloud Computing and Services | PPT
 
Cloud Computing Project
Cloud Computing Project Cloud Computing Project
Cloud Computing Project
 
Chap 1 introduction to cloud computing
Chap 1 introduction to cloud computingChap 1 introduction to cloud computing
Chap 1 introduction to cloud computing
 
Private Cloud Architecture
Private Cloud ArchitecturePrivate Cloud Architecture
Private Cloud Architecture
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Cloud computing using Eucalyptus
Cloud computing using EucalyptusCloud computing using Eucalyptus
Cloud computing using Eucalyptus
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 
Azure 101
Azure 101Azure 101
Azure 101
 
Virtualization in cloud
Virtualization in cloudVirtualization in cloud
Virtualization in cloud
 

Similar to Fundamentals of cloud Computing

Cloud Computing - FUNDAMENTALS
Cloud Computing - FUNDAMENTALSCloud Computing - FUNDAMENTALS
Cloud Computing - FUNDAMENTALSKANNANKR12
 
Introduction to Cloud Computing(UNIT 1).pptx
Introduction to Cloud Computing(UNIT 1).pptxIntroduction to Cloud Computing(UNIT 1).pptx
Introduction to Cloud Computing(UNIT 1).pptxSURBHI SAROHA
 
INTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTINGINTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTINGTanmoy Barman
 
CLOUD COMPUTING.pptx
CLOUD COMPUTING.pptxCLOUD COMPUTING.pptx
CLOUD COMPUTING.pptxGoogleGaming2
 
Cloud computing ( by prabhat kumar sahu)
Cloud computing ( by  prabhat kumar sahu)Cloud computing ( by  prabhat kumar sahu)
Cloud computing ( by prabhat kumar sahu)Prabhat Kumar Sahu
 
CLOUD COMPUTING.pptx
CLOUD COMPUTING.pptxCLOUD COMPUTING.pptx
CLOUD COMPUTING.pptxTSaranya3
 
Cloudcomputingsimpleppt 141114085742-conversion-gate01 (1)
Cloudcomputingsimpleppt 141114085742-conversion-gate01 (1)Cloudcomputingsimpleppt 141114085742-conversion-gate01 (1)
Cloudcomputingsimpleppt 141114085742-conversion-gate01 (1)MukeshKrActivelylook
 
Cloud computing simple ppt
Cloud computing simple pptCloud computing simple ppt
Cloud computing simple pptAgarwaljay
 
cloudcomputingsimpleppt-141114085742-conversion-gate01
cloudcomputingsimpleppt-141114085742-conversion-gate01cloudcomputingsimpleppt-141114085742-conversion-gate01
cloudcomputingsimpleppt-141114085742-conversion-gate01Mudassir Farman
 
Cloud computing services by cloudsyntrix
Cloud computing  services by cloudsyntrixCloud computing  services by cloudsyntrix
Cloud computing services by cloudsyntrixCloudSyntrix
 
CLOUD CLOMPUTING.ppt
CLOUD CLOMPUTING.pptCLOUD CLOMPUTING.ppt
CLOUD CLOMPUTING.pptsimran964766
 
Cloud Computing.pptx
Cloud Computing.pptxCloud Computing.pptx
Cloud Computing.pptxAtif Razi
 
Presenting Cloud Computing
Presenting Cloud ComputingPresenting Cloud Computing
Presenting Cloud ComputingNaveen Karn
 
CC_10900220021_PRADEEP KUMAR.pptx
CC_10900220021_PRADEEP KUMAR.pptxCC_10900220021_PRADEEP KUMAR.pptx
CC_10900220021_PRADEEP KUMAR.pptxpk3172517
 
Cloud Computing(Introduction)
Cloud Computing(Introduction)Cloud Computing(Introduction)
Cloud Computing(Introduction)Gaurav Uniyal
 

Similar to Fundamentals of cloud Computing (20)

Cloud Computing - FUNDAMENTALS
Cloud Computing - FUNDAMENTALSCloud Computing - FUNDAMENTALS
Cloud Computing - FUNDAMENTALS
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Introduction to Cloud Computing(UNIT 1).pptx
Introduction to Cloud Computing(UNIT 1).pptxIntroduction to Cloud Computing(UNIT 1).pptx
Introduction to Cloud Computing(UNIT 1).pptx
 
INTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTINGINTRODUCTION TO CLOUD COMPUTING
INTRODUCTION TO CLOUD COMPUTING
 
CLOUD COMPUTING.pptx
CLOUD COMPUTING.pptxCLOUD COMPUTING.pptx
CLOUD COMPUTING.pptx
 
cloud computing basics
cloud computing basicscloud computing basics
cloud computing basics
 
Cloud computing ( by prabhat kumar sahu)
Cloud computing ( by  prabhat kumar sahu)Cloud computing ( by  prabhat kumar sahu)
Cloud computing ( by prabhat kumar sahu)
 
CLOUD COMPUTING.pptx
CLOUD COMPUTING.pptxCLOUD COMPUTING.pptx
CLOUD COMPUTING.pptx
 
Cloudcomputingsimpleppt 141114085742-conversion-gate01 (1)
Cloudcomputingsimpleppt 141114085742-conversion-gate01 (1)Cloudcomputingsimpleppt 141114085742-conversion-gate01 (1)
Cloudcomputingsimpleppt 141114085742-conversion-gate01 (1)
 
Cloud computing simple ppt
Cloud computing simple pptCloud computing simple ppt
Cloud computing simple ppt
 
cloudcomputingsimpleppt-141114085742-conversion-gate01
cloudcomputingsimpleppt-141114085742-conversion-gate01cloudcomputingsimpleppt-141114085742-conversion-gate01
cloudcomputingsimpleppt-141114085742-conversion-gate01
 
CA NOTES ON EMERGING TECHNOLOGIES
CA NOTES ON EMERGING TECHNOLOGIESCA NOTES ON EMERGING TECHNOLOGIES
CA NOTES ON EMERGING TECHNOLOGIES
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing services by cloudsyntrix
Cloud computing  services by cloudsyntrixCloud computing  services by cloudsyntrix
Cloud computing services by cloudsyntrix
 
CLOUD CLOMPUTING.ppt
CLOUD CLOMPUTING.pptCLOUD CLOMPUTING.ppt
CLOUD CLOMPUTING.ppt
 
Cloud Computing.pptx
Cloud Computing.pptxCloud Computing.pptx
Cloud Computing.pptx
 
Presenting Cloud Computing
Presenting Cloud ComputingPresenting Cloud Computing
Presenting Cloud Computing
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
CC_10900220021_PRADEEP KUMAR.pptx
CC_10900220021_PRADEEP KUMAR.pptxCC_10900220021_PRADEEP KUMAR.pptx
CC_10900220021_PRADEEP KUMAR.pptx
 
Cloud Computing(Introduction)
Cloud Computing(Introduction)Cloud Computing(Introduction)
Cloud Computing(Introduction)
 

Recently uploaded

Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfAsst.prof M.Gokilavani
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .Satyam Kumar
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniquesugginaramesh
 

Recently uploaded (20)

Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdfCCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
CCS355 Neural Network & Deep Learning UNIT III notes and Question bank .pdf
 
Churning of Butter, Factors affecting .
Churning of Butter, Factors affecting  .Churning of Butter, Factors affecting  .
Churning of Butter, Factors affecting .
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Comparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization TechniquesComparative Analysis of Text Summarization Techniques
Comparative Analysis of Text Summarization Techniques
 

Fundamentals of cloud Computing

  • 1. UNIT I Fundamentals of Cloud Computing Introduction: Cloud Computing provides us means by which we can access the applications as utilities over the internet. It allows us to create, configure, and customize the business applications online. WhatisCloud? The term Cloud refers to a Network or Internet. In other words, we can say that Cloud is something, which is present at remote location. Cloud can provide services over public and private networks, i.e., WAN, LAN or VPN. Applications such as e-mail, web conferencing, customer relationship management (CRM) execute on cloud. On demand delivery of IT resources through the Internet with payment depending on the use of the service is known as cloud computing. And It gives a solution for infrastructure at low cost. Whatis CloudComputing? Cloud Computing refers to manipulating, configuring, and accessing the hardware and software resources remotely. It offers online data storage, infrastructure, and application. Cloud computing offers platform independency, as the software is not required to be installed locally on the PC. Hence, the Cloud Computing is making our business applications mobile and collaborative.
  • 2. 1. It accesses the multiple server-based computer resources through a network. 2. Cloud user accesses the server resources using the computer, smart phones, notebook, tablets or other devices. 3. Cloud server maintains all the processing and storage. Features of Cloud Computing High scalability - It means on demand provisioning of resources on a large scale without requiring human interaction with each service provider. High availability and reliability - Availability of servers is more reliable and high because it minimizes the chances of infrastructure failure. Agility - It shares the resources between users and works very quickly. Multi-sharing - Multiple user and applications work more efficiently with less cost by sharing common infrastructure using cloud computing. Maintenance - Maintenance of cloud computing applications is easier as they are not required to be install on each computer and can also be accessed from various places, ultimately reducing the cost. Low cost - It is cost effective because the company no more needs to set its own infrastructure. It pays according to resources it has consumed. Services in pay-per-use mode - APIs(Application Programming Interfaces) are provided to the users for accessing the services on the cloud and pay according to use of the service.
  • 3. HistoryofCloudComputing The concept of Cloud Computing came into existence in the year 1950 with implementation of mainframe computers, accessible via thin/static clients. Since then, cloud computing has been evolved from static clients to dynamic ones and from software to services. The following diagram explains the evolution of cloud computing:
  • 4. BasicConcepts There are certain services and models working behind the scene making the cloud computing feasible and accessible to end users. Following are the working models for cloud computing:  Deployment Models  Service Models 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 the general public. Public cloud may be less secure because of its openness.  PRIVATE CLOUD The private cloud allows systems and services to be accessible within an organization. It is more secured because of its private nature.  COMMUNITY CLOUD The community cloud allows systems and services to be accessible by a group of organizations.  HYBRID CLOUD The hybrid cloud is a mixture of public and private cloud, in which the critical activities are performed using private cloud while the non-critical activities are performed using public cloud.
  • 5. PUBLIC CLOUD Public Cloud allows systems and services to be easily accessible to general public. The IT giants such as Google, Amazon and Microsoft offer cloud services via Internet. The Public Cloud Model is shown in the diagram below. 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 shares same resources with large number of customers it turns out inexpensive.  Reliability The public cloud employs large number of resources from different locations. If any of the resources fails, public cloud can employ another one.  Flexibility The public cloud can smoothly integrate with private cloud, which gives customers a flexible approach.
  • 6.  Location Independence Public cloud services are delivered through Internet, ensuring location independence.  Utility Style Costing Public cloud is also based on pay-per-use model and resources are accessible whenever customer needs them.  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 some 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 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 by the organization itself or by third-party. The private cloud model is shown in the diagram below.
  • 7. Benefits There are many benefits of deploying cloud as private cloud model. The following diagram shows some of those benefits:  High Security and Privacy Private cloud operations are not available to general public and resources are shared from distinct pool of resources. Therefore, it ensures high security and privacy.  More Control The private cloud has more control on its resources and hardware than public cloud because it is accessed only within an organization.  Cost and Energy Efficiency The private cloud resources are not as cost effective as resources in public clouds but they offer more efficiency than public cloud resources. Disadvantages Here are the disadvantages of using private cloud model:  Restricted Area of Operation The private cloud is only accessible locally and is very difficult to deploy globally.  High Priced Purchasing new hardware in order to fulfill the demand is a costly transaction.  Limited Scalability The private cloud can be scaled only within capacity of internal hosted resources. Hybrid Cloud is a mixture of public and private cloud. Non-critical activities are performed using public cloud while the critical activities are performed using private cloud. The Hybrid Cloud Model is shown in the diagram below.
  • 8. Benefits There are many benefits of deploying cloud as hybrid cloud model. The following diagram shows some of those benefits:  Scalability It offers features of both, the public cloud scalability and the private cloud scalability.  Flexibility It offers secure resources and scalable public resources.  Cost Efficiency Public clouds are more cost effective than private ones. Therefore, hybrid clouds can be cost saving.  Security The private cloud in hybrid cloud ensures higher degree of security. Disadvantages  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 security policies of the organization.  Infrastructure Dependency The hybrid cloud model is dependent on internal IT infrastructure, therefore it is necessary to ensure redundancy across data centers. 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 by organizations or by the third-party. The Community Cloud Model is shown in the diagram below.
  • 9. Benefits There are many benefits of deploying cloud as community cloud model.  Cost Effective Community cloud offers same advantages as that of private cloud at low cost.  Sharing Among Organizations Community cloud provides an infrastructure to share cloud resources and capabilities among several organizations.  Security The community cloud is comparatively more secure than the public cloud but less secured than the private cloud. Issues  Since all data is located at one place, one must be careful in storing data in community cloud because it might be accessible to others.  It is also challenging to allocate responsibilities of governance, security and cost among organizations.
  • 10. Service Models Cloud computing is based on service models. These are categorized into three basic service models which are -  Infrastructure-as–a-Service (IaaS)  Platform-as-a-Service (PaaS)  Software-as-a-Service (SaaS) Anything-as-a-Service (XaaS) is yet another service model, which includes Network-as-a- Service, Business-as-a-Service, Identity-as-a-Service, Database-as-a-Service or Strategy-as- a-Service. The Infrastructure-as-a-Service (IaaS) is the most basic level of service. Each of the service models inherit the security and management mechanism from the underlying model, as shown in the following diagram: INFRASTRUCTURE-AS-A-SERVICE (IAAS) IaaS provides access to fundamental resources such as physical machines, virtual machines, virtual storage, etc. Apart from these resources, the IaaS also offers:  Virtual machine disk storage  Virtual local area network (VLANs)  Load balancers  IP addresses  Software bundles
  • 11. All of the above resources are made available to end user via server virtualization. Moreover, these resources are accessed by the customers as if they own them. Benefits IaaS allows the cloud provider to freely locate the infrastructure over the Internet in a cost- effective manner. Some of the key benefits of IaaS are listed below:  Full control of the computing resources through administrative access to VMs.  Flexible and efficient renting of computer hardware.  Portability, interoperability with legacy applications. PLATFORM-AS-A-SERVICE (PAAS) PaaS provides the runtime environment for applications, development and deployment tools, etc. Platform-as-a-Service offers the runtime environment for applications. It also offers development and deployment tools required to develop applications. PaaS has a feature of point-and-click tools that enables non-developers to create web applications. App Engine of Google and Force.com are examples of PaaS offering vendors. Developer may log on to these websites and use the built-in API to create web-based applications.
  • 12. But the disadvantage of using PaaS is that, the developer locks-in with a particular vendor. For example, an application written in Python against API of Google, and using App Engine of Google is likely to work only in that environment. The following diagram shows how PaaS offers an API and development tools to the developers and how it helps the end user to access business applications. Benefits  Lower administrative overhead Customer need not bother about the administration because it is the responsibility of cloud provider.  Lower total cost of ownership Customer need not purchase expensive hardware, servers, power, and data storage.  Scalable solutions It is very easy to scale the resources up or down automatically, based on their demand.  More current system software It is the responsibility of the cloud provider to maintain software versions and patch installations.
  • 13. SOFTWARE-AS-A-SERVICE (SAAS) Software-as–a-Service (SaaS) model allows to provide software application as a service to the end users. It refers to a software that is deployed on a host service and is accessible via Internet. There are several SaaS applications listed below:  Billing and invoicing system  Customer Relationship Management (CRM) applications  Help desk applications  Human Resource (HR) solutions Some of the SaaS applications are not customizable such as Microsoft Office Suite. But SaaS provides us Application Programming Interface (API), which allows the developer to develop a customized application. The following diagram shows the SaaS implementation based on SOA: Benefits Using SaaS has proved to be beneficial in terms of scalability, efficiency and performance. Some of the benefits are listed below:  Modest software tools
  • 14.  Efficient use of software licenses  Centralized management and data  Platform responsibilities managed by provider  Multitenant solutions Network-as-a-Service allows us to access to network infrastructure directly and securely. NaaS makes it possible to deploy custom routing protocols. NaaS uses virtualized network infrastructure to provide network services to the customer. It is the responsibility of NaaS provider to maintain and manage the network resources. Having a provider working for a customer decreases the workload of the customer. Moreover, NaaS offers network as a utility. NaaS is also based on pay-per-use model. HowNaaSisdelivered? To use NaaS model, the customer is required to logon to the web portal, where he can get online API. Here, the customer can customize the route. In turn, customer has to pay for the capacity used. It is also possible to turn off the capacity at any time. MobileNaaS Mobile NaaS offers more efficient and flexible control over mobile devices. It uses virtualization to simplify the architecture thereby creating more efficient processes. Following diagram shows the Mobile NaaS service elements:
  • 15. NaaSBenefits NaaS offers a number of benefits as discussed below:  Independence Each customer is independent and can segregate the network.  Bursting The customer pays for high-capacity network only on requirement.  Resilience The reliability treatments are available, which can be applied for critical applications.  Analytics  The data protection solutions are available, which can be applied for highly sensitive applications.  Ease of Adding New Service Elements It is very easy to integrate new service elements to the network.  Support Models A number of support models are available to reduce operation cost.  Isolation of Customer Traffic The customer traffic is logically isolated
  • 16. BenefitsOfCloudComputing Cloud Computing has numerous advantages. Some of them are listed below -  One can access applications as utilities, over the Internet.  One can manipulate and configure the applications online at any time.  It does not require to install a software to access or manipulate cloud application.  Cloud Computing offers online development and deployment tools, programming runtime environment through PaaS model.  Cloud resources are available over the network in a manner that provide platform independent access to any type of clients.  Cloud Computing offers on-demand self-service. The resources can be used without interaction with cloud service provider.  Cloud Computing is highly cost effective because it operates at high efficiency with optimum utilization. It just requires an Internet connection  Cloud Computing offers load balancing that makes it more reliable.
  • 17. Risks relatedtoCloudComputing Although cloud Computing is a promising innovation with various benefits in the world of computing, it comes with risks. Some of them are discussed below:  Security and Privacy It is the biggest concern about cloud computing. Since data management and infrastructure management in cloud is provided by third-party, it is always a risk to handover the sensitive information to cloud service providers. Although the cloud computing vendors ensure highly secured password protected accounts, any sign of security breach may result in loss of customers and businesses.  Lock In It is very difficult for the customers to switch from one Cloud Service Provider (CSP) to another. It results in dependency on a particular CSP for service.  Isolation Failure This risk involves the failure of isolation mechanism that separates storage, memory, and routing between the different tenants.  Management Interface Compromise In case of public cloud provider, the customer management interfaces are accessible through the Internet.  Insecure or Incomplete Data Deletion It is possible that the data requested for deletion may not get deleted. It happens because either of the following reasons 1. Extra copies of data are stored but are not available at the time of deletion 2. Disk that stores data of multiple tenants is destroyed.
  • 18. CharacteristicsofCloudComputing There are four key characteristics of cloud computing. They are shown in the following diagram:  On Demand Self Service Cloud Computing allows the users to use web services and resources on demand. One can logon to a website at any time and use them.  Broad Network Access Since cloud computing is completely web based, it can be accessed from anywhere and at any time.  Resource Pooling Cloud computing allows multiple tenants to share a pool of resources. One can share single physical instance of hardware, database and basic infrastructure.  Rapid Elasticity It is very easy to scale the resources vertically or horizontally at any time. Scaling of resources means the ability of resources to deal with increasing or decreasing demand. The resources being used by customers at any given point of time are automatically monitored.  Measured Service In this service cloud provider controls and monitors all the aspects of cloud service. Resource optimization, billing, and capacity planning etc. depend on it.
  • 19. Architecture of Cloud Computing Cloud Computing architecture comprises of many cloud components, which are loosely coupled. We can broadly divide the cloud architecture into two parts:  Front End  Back End Each of the ends is connected through a network, usually Internet. The following diagram shows the graphical view of cloud computing architecture:  FrontEnd The front end refers to the client part of cloud computing system. It consists of interfaces and applications that are required to access the cloud computing platforms, Example - Web Browser.  BackEnd The back End refers to the cloud itself. It consists of all the resources required to provide cloud computing services. It comprises of huge data storage, virtual machines, security mechanism, services, deployment models, servers, etc.
  • 20. Cloud infrastructure consists of servers, storage devices, network, cloud management software, deployment software, and platform virtualization.  Hypervisor Hypervisor is a firmware or low-level program that acts as a Virtual Machine Manager. It allows to share the single physical instance of cloud resources between several tenants.  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.
  • 21. CLOUD CUBE Model There is an open-group association Jericho Forum & their focus is on how to protect and secure cloud network. They put forward a model that helps to categorize a cloud network based on four-dimensional factors. The figure is drawn below showing the Cloud Cube model. Fig: Cloud Cube Model As the name Four-Dimensional, the working is also categorized into four parts viz: 1. Physical Location of Data: The location of data may be internally or externally which ultimately defines the organization's boundary. 2. Ownership: Ownership is proprietary or open; is a measurement for not only ownership of technology but also its interoperability, use of data & ease of data-transfer & degree of vendor's application's lock-in. 3. Security Range: is parameterized or de-parameterized; which measures whether the operations are inside or outside the security boundary, firewall, etc. 4. Sourcing: In-sourcing or out-sourcing; which defines whether the customer or the service provider provides the service.
  • 22. Challenges in Cloud Computing Cloud computing, an emergent technology, has placed many challenges in different aspects of data and information handling. Some of these are shown in the following diagram:  SecurityandPrivacy Security and Privacy of information is the biggest challenge to cloud computing. Security and privacy issues can be overcome by employing encryption, security hardware and security applications.  Portability This is another challenge to cloud computing that applications should easily be migrated from one cloud provider to another. There must not be vendor lock-in. However, it is not yet made possible because each of the cloud provider uses different standard languages for their platforms.  Interoperability It means the application on one platform should be able to incorporate services from the other platforms. It is made possible via web services, but developing such web services is very complex.  ComputingPerformance Data intensive applications on cloud requires high network bandwidth, which results in high cost. Low bandwidth does not meet the desired computing performance of cloud application.  ReliabilityandAvailability It is necessary for cloud systems to be reliable and robust because most of the businesses are now becoming dependent on services provided by third-party.
  • 23. APPLICATION OF CLOUD COMPUTING Cloud Computing has its applications in almost all the fields such as business, entertainment, data storage, social networking, management, entertainment, education, art and global positioning system, etc. BusinessApplications Cloud computing has made businesses more collaborative and easy by incorporating various apps such as MailChimp, Chatter, Google Apps for business, and Quickbooks. SN Application Description 1 MailChimp It offers an e-mail publishing platform. It is widely employed by the businesses to design and send their e-mail campaigns. 2 Chatter Chatter app helps the employee to share important information about organization in real time. One can get the instant feed regarding any issue. 3 Google Apps for Business Google offers creating text documents, spreadsheets, presentations, etc., on Google Docs which allows the business users to share them in collaborating manner. 4 Quickbooks It offers online accounting solutions for a business. It helps in monitoring cash flow, creating VAT returns and creating business reports. DataStorageandBackup Box.com, Mozy, Joukuu are the applications offering data storage and backup services in cloud. SN Application Description 1 Box.com Box.com offers drag and drop service for files. The users need to drop the files into Box and access from anywhere. 2 Mozy Mozy offers online backup service for files to prevent data loss. 3 Joukuu Joukuu is a web-based interface. It allows to display a single list of contents for files stored in Google Docs, Box.net and Dropbox.
  • 24. ManagementApplications There are apps available for management task such as time tracking, organizing notes. Applications performing such tasks are discussed below: SN Application Description 1 Toggl It helps in tracking time period assigned to a particular project. 2 Evernote It organizes the sticky notes and even can read the text from images which helps the user to locate the notes easily. 3 Outright It is an accounting app. It helps to track income, expenses, profits and losses in real time. SocialApplications There are several social networking services providing websites such as Facebook, Twitter, etc. SN Application Description 1 Facebook It offers social networking service. One can share photos, videos, files, status and much more. 2 Twitter It helps to interact with the public directly. One can follow any celebrity, organization and any person, who is on twitter and can have latest updates regarding the same. EntertainmentApplications SN Application Description 1 Audio box.fm It offers streaming service. The music files are stored online and can be played from cloud using the own media player of the service. ArtApplications SN Application Description 1 Moo
  • 25. It offers art services such as designing and printing business cards, postcards and mini cards. Popular Cloud Computing platforms: SN Platform Description 1 Salesforce.com This is a Force.com development platform. This provides a simple user interface and lets users log in, build an app, and push it in the cloud. 2 Appistry The Appistry's CloudIQ platform is efficient in delivering a runtime application. This platform is very useful to create scalable and service oriented applications. 3 AppScale The AppScale is an open source platform for App Engine of Google applications. 4 AT&T The AT&T allows access to virtual servers and manages the virtualization infrastructure. This virtualization infrastructure includes network, server and storage. 5 Engine Yard The Engine Yard is a rails application on cloud computing platform. 6 Enomaly Enomaly provides the Infrastructure-as-a-Service platform. 7 FlexiScale The FlexiScale offers a cloud computing platform that allows flexible, scalable and automated cloud infrastructure. 8 GCloud3
  • 26. The GCloud3 offers private cloud solution in its platform. 9 Gizmox The Gizmox Visual WebGUI platform is best suited for developing new web apps and modernize the legacy apps based on ASP.net, DHTML, etc. 10 GoGrid The GoGrid platform allows the users to deploy web and database cloud services. 11 Google The Google's App Engine lets the users build, run and maintain their applications on Google infrastructure. 12 LongJump The LongJump offers a business application platform, a Platform-as-a-Service (PaaS). 13 Microsoft The Microsoft Windows Azure is a cloud computing platform offering an environment to create cloud apps and services. 14 OrangeScape OrangeScape offers a Platform-as-a-Service (Paas) for non-programmers. Building an app is as easy as spreadsheet. 15 RackSpace The RackSpace provides servers-on-demand via a cloud-driven platform of virtualized servers. 16 Amazon EC2 The Amazon EC2 (Elastic Compute Cloud) lets the users configure and control computing resources while running them on Amazon environment.
  • 27. Case Study – Amazon EC2 Amazon Elastic Compute Cloud (EC2) Elastic IP addresses allow you to allocate a static IP address and programmatically assign it to an instance. You can enable monitoring on an Amazon EC2 instance using Amazon CloudWatch to gain visibility into resource utilization, operational performance, and overall demand patterns (including metrics such as CPU utilization, disk reads and writes, and network traffic). You can create Auto-scaling Group using the Auto-scaling feature to automatically scale your capacity on certain conditions based on metric that Amazon CloudWatch collects. You can also distribute incoming traffic by creating an elastic load balancer using the Elastic Load Balancing service. Amazon Elastic Block Storage (EBS) volumes provide network- attached persistent storage to Amazon EC2 instances. Point-in-time consistent snapshots of EBS volumes can be created and stored on Amazon Simple Storage Service(AmazonS3). Amazon S3 is highly durable and distributed data store. With a simple web services interface, you can store and retrieve large amounts of data as objects in buckets (containers) at any time, from anywhere on the web using standard HTTP verbs. Copies of objects can be distributed and cached at 14 edge locations around the world by creating a distribution using Amazon CloudFront7 service – a web service for content delivery (static or streaming content). Amazon SimpleDB8 is a web service that provides the core functionality of a database- real-time lookup and simple querying of structured data – without the operational complexity. You can organize
  • 28. the dataset into domains and can run queries across all the data stored in a particular domain. Domains are collections of items that are described by attribute-value pairs. Amazon Relational Database Service (Amazon RDS) provides an easy way to setup, operate and scale a relational database in the cloud. You can launch a DB Instance and get access to a full-featured MySQL database and not worry about common database administration tasks like backup,&etc. Amazon Simple Queue Service (Amazon SQS) is a reliable, highly scalable, hosted distributed queue for storing messages as they travel between computers and application components. Amazon Simple Notifications Service (Amazon SNS) provides a simple way to notify applications or people from the cloud by creating Topics and using a publish-subscribe protocol. Amazon Elastic MapReduce provides a hosted Hadoop framework running on the web-scale infrastructure of Amazon Elastic Compute Cloud (Amazon EC2) and Amazon Simple Storage Service (Amazon S3) and allows you to create customized JobFlows. JobFlow is a sequence of MapReduce steps. Amazon Virtual Private Cloud (Amazon VPC) allows you to extend your corporate network into a private cloud contained within AWS. Amazon VPC uses IPSec tunnel mode that enables you to create a secure connection between a gateway in your data center and a gateway in AWS. Amazon Route53 is a highly scalable DNS service that allows you manage your DNS records by creating a HostedZone for every domain you would like to manage. AWS Identity and Access Management (IAM) enable you to create multiple Users with unique security credentials and manage the permissions for each of these Users within your AWS Account. IAM is natively integrated into AWS Services. No service APIs have changed to support IAM, and exiting applications and tools built on top of the AWS service APIs will continue to work when using IAM. AWS also offers various payment and billing services that leverages Amazon’s payment infrastructure.
  • 29. All AWS infrastructure services offer utility-style pricing that require no long-term commitments or contracts Case Study – Microsoft Azure Execution Environment The Windows Azure execution environment consists of a platform for applications and services hosted within one or more roles. The types of roles you can implement in Windows Azure are:  Azure Compute (Web and Worker Roles). A Windows Azure application consists of one or more hosted roles running within the Azure data centers. Typically there will be at least one Web role that is exposed for access by users of the application. The application may contain additional roles, including Worker roles that are typically used to perform background processing and support tasks for Web roles.  Virtual Machine (VM role). This role allows you to host your own custom instance of the Windows Server 2008 R2 Enterprise or Windows Server 2008 R2 Standard operating system within a Windows Azure data center. Data Management Windows Azure, SQL Azure, and the associated services provide opportunities for storing and managing data in a range of ways. The following data management services and features are available:  Azure Storage: This provides four core services for persistent and durable data storage in the cloud. The services support a REST interface that can be accessed from within Azure- hosted or on-premises (remote) applications. The four storage services are:
  • 30. o The Azure Table Service provides a table-structured storage mechanism based on the familiar rows and columns format, and supports queries for managing the data. It is primarily aimed at scenarios where large volumes of data must be stored, while being easy to access and update. o The Binary Large Object (BLOB) Service provides a series of containers aimed at storing text or binary data. It provides both Block BLOB containers for streaming data, and Page BLOB containers for random read/write operations. o The Queue Service provides a mechanism for reliable, persistent messaging between role instances, such as between a Web role and a Worker role. o Windows Azure Drives provide a mechanism for applications to mount a single volume NTFS VHD as a Page BLOB, and upload and download VHDs via the BLOB  SQL Azure Database: This is a highly available and scalable cloud database service built on SQL Server technologies, and supports the familiar T-SQL based relational database model. It can be used with applications hosted in Windows Azure, and with other applications running on-premises or hosted elsewhere.  Data Synchronization: SQL Azure Data Sync is a cloud-based data synchronization service built on Microsoft Sync Framework technologies. It provides bi-directional data synchronization and data management capabilities allowing data to be easily shared between multiple SQL Azure databases and between on-premises and SQL Azure databases.  Caching: This service provides a distributed, in-memory, low latency and high throughput application cache service that requires no installation or management, and dynamically increases and decreases the cache size automatically as required. It can be used to cache application data, ASP.NET session state information, and for ASP.NET page output caching. Networking Services Windows Azure provides several networking services that you can take advantage of to maximize performance, implement authentication, and improve manageability of your hosted applications. These services include the following:  Content Delivery Network (CDN). The CDN allows you to cache publicly available static data for applications at strategic locations that are closer (in network delivery terms) to end users. The CDN uses a number of data centers at many locations around the world, which store the data in BLOB storage that has anonymous access. These do not need to be locations where the application is running.  Virtual Network Connect. This service allows you to configure roles of an application running in Windows Azure and computers on your on-premises network so that they appear to be on the same network. It uses a software agent running on the on-premises computer to establish an IPsec-protected connection to the Windows Azure roles in the cloud, and provides the capability to administer, manage, monitor, and debug the roles directly.  Virtual Network Traffic Manager. This is a service that allows you to set up request redirection and load balancing based on three different methods. Typically you will use
  • 31. Traffic Manager to maximize performance by redirecting requests from users to the instance in the closest data center using the Performance method. Alternative load balancing methods available are Failover and Round Robin.  Access Control. This is a standards-based service for identity and access control that makes use of a range of identity providers (IdPs) that can authenticate users. ACS acts as a Security Token Service (STS), or token issuer, and makes it easier to take advantage of federation authentication techniques where user identity is validated in a realm or domain other than that in which the application resides. An example is controlling user access based on an identity verified by an identity provider such as Windows Live ID or Google.  Service Bus. This provides a secure messaging and data flow capability for distributed and hybrid applications, such as communication between Windows Azure hosted applications and on-premises applications and services, without requiring complex firewall and security infrastructures. It can use a range of communication and messaging protocols and patterns to provide delivery assurance, reliable messaging; can scale to accommodate varying loads; and can be integrated with on-premises BizTalk Server artifacts. Case Study – Google App Engine Google App Engine (often referred to as GAE or simply App Engine, and also used by the acronym GAE/J) is a platform as a service(PaaS) cloud computing platform for developing and hosting web applications in Google-managed data centers. Applications are sandboxed and run across multiple servers. App Engine offers automatic scaling for web applications—as the number of requests increases for an application, App Engine automatically allocates more resources for the web application to handle the additional demand. Google App Engine is free up to a certain level of consumed resources. Fees are charged for
  • 32. additional storage, bandwidth, or instance hours required by the application. It was first released as a preview version in April 2008, and came out of preview in September 2011. Runtimes and frameworks Currently, the supported programming languages are Python, Java (and, by extension, other JVM languages such as Groovy, JRuby, Scala, Clojure, Jython and PHP via a special version ofQuercus), and Go. Google has said that it plans to support more languages in the future, and that the Google App Engine has been written to be language independent. Reliability and Support All billed High-Replication Datastore App Engine applications have a 99.95% uptime SLA Portability Concerns Developers worry that the applications will not be portable from App Engine and fear being locked into the technology. In response, there are a number of projects to create open- source back-ends for the various proprietary/closed APIs of app engine, especially the datastore. Although these projects are at various levels of maturity, none of them is at the point where installing and running an App Engine app is as simple as it is on Google’s service. AppScale and TyphoonAE are two of the open source efforts. AppScale can run Python, Java, and Go GAE applications on EC2 and other cloud vendors. TyphoonAE can run python App Engine applications on any cloud that support linux machines. Web2py web framework offers migration between SQL Databases and Google App Engine, however it doesn’t support several App Engine-specific features such as transactions and namespaces. Differences with other application hosting Compared to other scalable hosting services such as Amazon EC2, App Engine provides more infrastructure to make it easy to write scalable applications, but can only run a limited range of applications designed for that infrastructure. App Engine’s infrastructure removes many of the system administration and development challenges of building applications to scale to hundreds of requests per second and beyond. Google handles deploying code to a cluster, monitoring, failover, and launching application instances as necessary. While other services let users install and configure nearly any *NIX compatible software, App Engine requires developers to use only its supported languages, APIs, and frameworks. Current APIs allow storing and retrieving data from a BigTable non-relational database; making HTTP requests; sending e-mail; manipulating images; and caching. Existing web applications that require a relational database will not run on App Engine without modification. Per-day and per-minute quotas restrict bandwidth and CPU use, number of requests served,
  • 33. number of concurrent requests, and calls to the various APIs, and individual requests are terminated if they take more than 60 seconds or return more than 32MB of data. Differences between SQL and GQL Google App Engine’s datastore has a SQL-like syntax called “GQL”. GQL intentionally does not support the Join statement, because it seems to be inefficient when queries span more than one machine. Instead, one-to-many and many-to-many relationships can be accomplished using ReferenceProperty(). This shared-nothing approach allows disks to fail without the system failing. Switching from a relational database to the Datastore requires a paradigm shift for developers when modelling their data. Unlike a relational database the Datastore API is not relational in the SQL sense. The Java version supports asynchronous non-blocking queries using the Twig Object Datastore interface. This offers an alternative to using threads for parallel data processing.