You are on page 1of 21

Cloud Computing

Dr. M. Varaprasad Rao


varam78@gmail.com
Today’s Session…
• PaaS (Platform-as-a-Service)

12-Oct-14 2
• Platform as a service (PaaS) is a category of cloud computing services
that provides a computing platform and a solution stack as a service.
Along with software as a service (SaaS) and infrastructure as a service
(IaaS), it is a service model of cloud computing.

• In this model, the consumer creates an application or service using


tools and/or libraries from the provider.

• The consumer also controls software deployment and configuration


settings. The provider provides the networks, servers, storage, and
other services that are required to host the consumer's application.

12-Oct-14 3
• In computing, a solution stack is a set of software subsystems or
components needed to create a complete platform such that no
additional software is needed to support applications. Applications are
said to "run on" or "run on top of" the resulting platform. Some
definitions of a platform overlap with what is known as system software.
• For example, to develop an IT solution; in the case of a web application
the architect defines the stack as the target operating system, web
server, database, and programming language. Another version of a
solution stack is operating system, middleware, database, and
applications. Regularly, the components of a solution stack are
developed by different developers independently from one another.
• Some components/subsystems of an overall system are chosen together
often enough that the particular set is referred to by a name
representing the whole, rather than by naming the parts. Typically, the
name is an acronym representing the individual components.
12-Oct-14 4
PaaS offers…
• PaaS offerings facilitate the deployment of applications or services
without the cost and complexity of buying and managing the underlying
hardware and software and provisioning hosting capabilities.

• All "as-a-service" offerings are characterized as providing low initial cost,


incremental cost as your service usage grows, self-service, best practices
built-in, resource sharing, automated deployment, management services,
lifecycle management, reuse. PaaS provides these capabilities for
application and service development.

• There are various types of PaaS vendors; however, all offer application
hosting and a deployment environment, along with various integrated
services. Services offer varying levels of scalability and maintenance.
12-Oct-14 5
• PaaS offerings may also include facilities for application design,
application development, testing, and deployment as well as services
such as team collaboration, web service integration, and marshalling,
database integration, security, scalability, storage, persistence, state
management, application versioning, application instrumentation,
and developer community facilitation.

• Besides the service engineering aspects, PaaS offerings include


mechanisms for service management, such as monitoring, workflow
management, discovery, reservation, etc.

12-Oct-14 6
Types
• Add-on development facilities
These facilities customization of existing software-as-a-service (SaaS)
applications, and in some ways are the equivalent of macro language
customization facilities provided with packaged software applications such
as Lotus Notes, or Microsoft Word. Often these require PaaS developers
and their users to purchase subscriptions to the co-resident SaaS
application.
• Stand alone development environments
Stand-alone PaaS environments do not include technical, licensing or
financial dependencies on specific SaaS applications or web services, and
are intended to provide a generalized development environment.
12-Oct-14 7
• Application delivery-only environments
Delivery-only PaaS offerings do not include development, debugging and test
capabilities as part of the service, though they may be supplied offline (via an Eclipse
plugin for example). The services provided generally focus on security and on-
demand scalability.
• Open platform as a service
This type of PaaS does not include hosting as such, rather it provides open source
software to allow a PaaS provider to run applications. For example, AppScale allows a
user to deploy some applications written for Google App Engine to their own servers,
providing datastore access from a standard SQL or NoSQL database. Some open
platforms let the developer use any programming language, any database, any
operating system, any server, etc. to deploy their applications.
• Mobile PaaS (mPaaS)
The Yankee Group recently identified mobile PaaS (mPaas) as one of its themes for
2014, naming a number of providers including Kinvey, AnyPresence, FeedHenry,
FatFractal and Point.io.
12-Oct-14 8
Examples

• AINS eCase • Heroku


• AppearIQ • IBM Bluemix
• AppScale • Microsoft Azure Web Sites
• AWS Elastic Beanstalk • Nodejitsu
• Cloud Foundry • OpenShift
• CloudControl • OutSystems
• Engine Yard • Salesforce
• Google App Engine • WaveMaker

12-Oct-14 9
Ex: Google App Engine
• Google App Engine (often referred to as GAE or simply App Engine) 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.
12-Oct-14 10
Google App Engine

Developer(s) Google

Initial release April 7, 2008

Stable release 1.9.0 / 11 February 2014

Development status Released

Written in Python, Java, Go, PHP

Type Web development

License Proprietary

Website www.developers.google.com/appengine/

12-Oct-14 11
• 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.

12-Oct-14 12
Supported features/restrictions
• Runtimes and framework
• Reliability and Support
• Bulk downloading
• Restrictions

12-Oct-14 13
Major differences
• Differences with other application hosting
• Differences between SQL and GQL

12-Oct-14 14
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 are 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, PHP, 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.
12-Oct-14 15
Backends
• In 2011, Google announced App Engine Backends, which are allowed
to run continuously, and consume more memory

12-Oct-14 16
Google Cloud SQL
• In Oct 2011, Google previewed a zero maintenance SQL database,
which supports JDBC and DB-API.

• This service allows to create, configure, and use relational databases


with App Engine applications.

• The database engine is MySQL Version 5.1.59 and the database size
must be no larger than 10GB.

12-Oct-14 17
Usage quotas

• Google App Engine requires a Google account to get started, and an


account may allow the developer to register up to 25 applications.
This limit can be increased by Google staff.
• Google App Engine defines usage quotas for free applications.
Extensions to these quotas can be requested, and application authors
can pay for additional resources. Below are limit and quotas defined
per application:

12-Oct-14 18
Hard limits

Quota Limit
60 sec per normal request, 10
Time per request minutes for tasks, unlimited for
backends
HTTP response size 32 MB
Datastore item size 1 MB

12-Oct-14 19
Free quotas

Application creators who enable billing pay only for instance hours, bandwidth, storage, and API
usage in excess of the free quotas. Free quotas were reduced on May 25, 2009, reduced again on
June 22, 2009. but then revised in May 2011 to allow for more infrastructure and pricing changes.

Quota Limit (per day)


Instance-hours 28 hours
Emails 100 (5000 admin emails)
Bandwidth in Unlimited
Bandwidth out 1 GB
Datastore 1 GB
Datastore Operations 50k
Blob Storage 5 GB
XMPP API 10k stanzas
Channel API 100 channels opened
URLFetch API calls per day 657,000

12-Oct-14 20
Thank you

12-Oct-14 21

You might also like