Difference between revisions of "PaaS"

From OnnoWiki
Jump to navigation Jump to search
(Created page with "'''Platform as a Service''' ('''PaaS''') or '''Application Platform as a Service''' ('''aPaaS''') or platform base service is a category of cloud computing#Service models|cl...")
 
Line 1: Line 1:
'''Platform as a Service''' ('''PaaS''') or '''Application Platform as a Service''' ('''aPaaS''') or platform base service is a category of [[cloud computing#Service models|cloud computing services]] that provides a [[computing platform|platform]] allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.<ref name="bbutler">Brandon Butler, [http://www.networkworld.com/article/2163430/cloud-computing/paas-primer--what-is-platform-as-a-service-and-why-does-it-matter-.html "PaaS Primer: What is platform as a service and why does it matter?"] ''[[Network World]]'', February 11, 2013.</ref><ref name="rackspace">[http://www.rackspace.com/knowledge_center/whitepaper/understanding-the-cloud-computing-stack-saas-paas-iaas "Understanding the Cloud Computing Stack: SaaS, PaaS, IaaS,"] Rackspace, October 22, 2013.</ref><ref name="wchang">William Y. Chang, Hosame Abu-Amara, Jessica Feng Sanford, ''[https://books.google.com/books?id=yyiPyIXgbxMC&pg=PA55 Transforming Enterprise Cloud Services]'', London: Springer, 2010, pp. 55-56.</ref> PaaS can be delivered in three ways:
+
'''Platform as a Service''' ('''PaaS''') or '''Application Platform as a Service''' ('''aPaaS''') or platform base service is a category of [[cloud computing#Service models|cloud computing services]] that provides a [[computing platform|platform]] allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.  
 +
 
 +
PaaS can be delivered in three ways:
 
* as a public cloud service from a provider, where the consumer controls software deployment with minimal configuration options, and the provider provides the networks, [[server (computing)|servers]], [[storage (memory)|storage]], [[operating system]] (OS), [[middleware]] (e.g. [[Java runtime]], [[.NET Framework|.NET]] runtime, integration, etc.), [[database]] and other services to host the consumer's application.
 
* as a public cloud service from a provider, where the consumer controls software deployment with minimal configuration options, and the provider provides the networks, [[server (computing)|servers]], [[storage (memory)|storage]], [[operating system]] (OS), [[middleware]] (e.g. [[Java runtime]], [[.NET Framework|.NET]] runtime, integration, etc.), [[database]] and other services to host the consumer's application.
 
* as a private service (software or [[software appliance|appliance]]) behind a firewall.
 
* as a private service (software or [[software appliance|appliance]]) behind a firewall.
* as software deployed on a public infrastructure as a service.<ref name="jhurwitz">Judith Hurwitz, Marcia Kaufman, Fern Halper and Dan Kirsh, [http://www.dummies.com/how-to/content/what-is-platform-as-a-service-paas-in-cloud-comput.html "What Is Platform as a Service (PaaS) in Cloud Computing?"] ''Hybrid Cloud For Dummies'', Hoboken, NJ: [[John Wiley & Sons]], 2012.</ref><ref name="nist">{{cite web|title=The NIST Definition of  Cloud Computing |url=http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf|publisher=National Institute of Science and Technology|accessdate=24 July 2011}}</ref>
+
* as software deployed on a public infrastructure as a service.
  
 
==Development and uses==
 
==Development and uses==
Fotango, a London-based company owned by [[Canon Inc.#Operations|Canon Europe]] launched the world's first<ref>{{cite web|last1=Wardley|first1=Simon|title=On open source, gameplay and cloud|url=http://blog.gardeviance.org/2015/02/on-open-source-gameplay-and-cloud.html|website=Bits or pieces?|publisher=Simon Wardley|accessdate=29 December 2016|archiveurl=https://web.archive.org/web/20160308014753/http://blog.gardeviance.org/2015/02/on-open-source-gameplay-and-cloud.html|archivedate=8 March 2016|language=English|format=HTML|date=20 Feb 2015}}</ref> public platform as a service known as "Zimki". It was developed in 2005 with a [[beta launch]] in March 2006 and a public launch at EuroOSCON in 2006.<ref>Zimki, hosted JavaScript environment, http://radar.oreilly.com/2006/09/zimki-hosted-javascript-enviro.html</ref> Zimki was an end-to-end JavaScript web application development and utility computing platform that removed all the repetitive tasks encountered when creating web applications and web services. All aspects of infrastructure and operations from provisioning and setting up virtual servers, [[scalability|scaling]], configuration, security and backups were done automatically by Zimki. Zimki introduced the tagline "[[Wiktionary:yak shaving|Pre-Shaved Yaks]]" <ref>What is a pre-shaved Yak, https://www.flickr.com/photos/zimki/243779431/in/photostream/</ref> to describe the removal of all these repetitive tasks.<ref>Pre Shaved Yaks, http://archive.ianwinter.co.uk/2007/09/25/zimki-is-no-more/</ref>
 
  
Zimki was a pure "pay as you go" code execution platform which enabled developers to build and deploy applications or web services without incurring any start-up costs on a true utility based computing platform. Charging was done on storage used, network traffic and JSOPs (Javascript Operations). It provided a [[multitenancy|multitenant]] platform where developers could create entire applications (front and back end through SSJS<ref>{{cite web |title=Server-Side JavaScript |url=https://developer.mozilla.org/en-US/docs/Archive/Web/Server-Side_JavaScript |website=developer.mozilla.org |date=August 25, 2018}}</ref>) by using a single language - Javascript, with all development, billing, monitoring and application control exposed through APIs<ref>Fotango Opens its APIs, http://www.prnewswire.co.uk/news-releases/fotango-opens-its-zimki-customer-api-153777895.html</ref> and a range of component services from a [[NoSQL|No-SQL]] object store to [[Message Queue]] services.<ref>Fotango Opens its Zimki Customer API, http://www.prnewswire.co.uk/news-releases/fotango-opens-its-zimki-customer-api-153777895.html</ref> Furthermore, all functions within Zimki could be exposed as web services and Zimki provided billing analysis down to individual functions.
+
Fotango, a London-based company owned by [[Canon Inc.#Operations|Canon Europe]] launched the world's first public platform as a service known as "Zimki". It was developed in 2005 with a [[beta launch]] in March 2006 and a public launch at EuroOSCON in 2006. Zimki was an end-to-end JavaScript web application development and utility computing platform that removed all the repetitive tasks encountered when creating web applications and web services. All aspects of infrastructure and operations from provisioning and setting up virtual servers, [[scalability|scaling]], configuration, security and backups were done automatically by Zimki. Zimki introduced the tagline "[[Wiktionary:yak shaving|Pre-Shaved Yaks]]" to describe the removal of all these repetitive tasks.
  
Whilst the Zimki platform was rapidly growing and Fotango was profitable, the parent company decided this area was not core<ref>{{cite web |title=There and back again ... a personal journey |url=http://blog.gardeviance.org/2009/04/there-and-back-again-personal-journey.html |website=blog.gardeviance.org |date=April 22, 2009}}</ref> and the service was closed in Dec 2007.<ref>Zimki Shuts Down, http://blog.gerv.net/2007/09/zimki_shuts_down/</ref> At the time of its closure, Zimki had several thousand developer accounts and had demonstrated the technical viability of Platform as a Service but also provided the first example of the perils of being dependent upon a single provider.<ref>Zimki closure shows the perils of hosted web platforms, http://www.itwriting.com/blog/337-zimki-closure-shows-the-perils-of-hosted-web-platforms.html</ref> This risk had been highlighted in July 2007, when the CEO gave a presentation on Zimki at OSCON 2007 which announced that Zimki would no longer be open sourced and discussed the future of what was then called Framework as a Service (later renamed to Platform as a Service) covering the importance of a market of providers based upon an open source reference model. <ref>OSCON Keynote 2007, http://mais.uol.com.br/view/v1xaxe2lamb3/oscon--commoditisation-of-it-and-what-the-future-holds-0402D4B10386?types=A</ref>
+
Zimki was a pure "pay as you go" code execution platform which enabled developers to build and deploy applications or web services without incurring any start-up costs on a true utility based computing platform. Charging was done on storage used, network traffic and JSOPs (Javascript Operations). It provided a [[multitenancy|multitenant]] platform where developers could create entire applications (front and back end through SSJS) by using a single language - Javascript, with all development, billing, monitoring and application control exposed through APIs and a range of component services from a [[NoSQL|No-SQL]] object store to [[Message Queue]] services. Furthermore, all functions within Zimki could be exposed as web services and Zimki provided billing analysis down to individual functions.
  
In April 2008, [[Google]] launched [[App Engine]], with a free trial version limited to 10,000 developers.<ref name="jschofield">Jack Schofield, [https://www.theguardian.com/technology/2008/apr/17/google.software "Google angles for business users with ‘platform as a service’,"] ''[[The Guardian]]'', April 16, 2008.</ref> This was said to have "turned the Internet cloud computing space into a fully-fledged industry virtually overnight."<ref name="dhinchcliffe">Dion Hinchcliffe, [http://www.zdnet.com/article/comparing-amazons-and-googles-platform-as-a-service-paas-offerings/ "Comparing Amazon’s and Google’s Platform-as-a-Service (PaaS) Offerings,"] [[ZDNet]], April 11, 2008.</ref>
+
Whilst the Zimki platform was rapidly growing and Fotango was profitable, the parent company decided this area was not core and the service was closed in Dec 2007. At the time of its closure, Zimki had several thousand developer accounts and had demonstrated the technical viability of Platform as a Service but also provided the first example of the perils of being dependent upon a single provider.<ref>Zimki closure shows the perils of hosted web platforms, http://www.itwriting.com/blog/337-zimki-closure-shows-the-perils-of-hosted-web-platforms.html</ref> This risk had been highlighted in July 2007, when the CEO gave a presentation on Zimki at OSCON 2007 which announced that Zimki would no longer be open sourced and discussed the future of what was then called Framework as a Service (later renamed to Platform as a Service) covering the importance of a market of providers based upon an open source reference model.
 +
 
 +
In April 2008, [[Google]] launched [[App Engine]], with a free trial version limited to 10,000 developers. This was said to have "turned the Internet cloud computing space into a fully-fledged industry virtually overnight."
  
 
The original intent of PaaS was to simplify the code-writing process for developers, with the infrastructure and operations handled by the PaaS provider. Originally, all PaaSes were in the public cloud. Because many companies did not want to have everything in the public cloud, private and hybrid PaaS options (managed by internal IT departments) were created.<ref name="mkavis">Mike Kavis, [https://www.forbes.com/sites/mikekavis/2014/09/15/top-8-reasons-why-enterprises-are-passing-on-paas/ "Top 8 Reasons Why Enterprises Are Passing On PaaS,"] ''[[Forbes]]'', September 15, 2014.</ref>
 
The original intent of PaaS was to simplify the code-writing process for developers, with the infrastructure and operations handled by the PaaS provider. Originally, all PaaSes were in the public cloud. Because many companies did not want to have everything in the public cloud, private and hybrid PaaS options (managed by internal IT departments) were created.<ref name="mkavis">Mike Kavis, [https://www.forbes.com/sites/mikekavis/2014/09/15/top-8-reasons-why-enterprises-are-passing-on-paas/ "Top 8 Reasons Why Enterprises Are Passing On PaaS,"] ''[[Forbes]]'', September 15, 2014.</ref>
  
PaaS provides an environment for developers and companies to create, host and deploy applications, saving developers from the complexities of the infrastructure side (setting up, configuring and managing elements such as servers and databases). PaaS can improve the speed of developing an app, and allow the consumer to focus on the application itself. With PaaS, the consumer manages applications and data, while the provider (in public PaaS) or IT department (in private PaaS) manages [[Runtime system|runtime]], [[middleware]], [[operating system]], [[virtualization]], [[Server (computing)|servers]], [[Computer memory|storage]] and [[Computer network|networking]].<ref name="jhurwitz"/><ref>Sean Ludwig, [https://venturebeat.com/2012/10/08/paas-platform-as-a-service-explained/ "An ugly duckling no more: Why Platform-as-a-Service is poised for huge growth,"] [[VentureBeat]], October 8, 2012.</ref> Development tools provided by the vendor are customized according to the needs of the user.<ref>Andrea Peiro, [http://www.inc.com/software/articles/200901/peiro.html "Keep Your Head in the Cloud,"] ''[[Inc. (magazine)|Inc.]]'', January 2009.</ref> The user can choose to maintain the software, or have the vendor maintain it.<ref name="jhurwitz"/>
+
PaaS provides an environment for developers and companies to create, host and deploy applications, saving developers from the complexities of the infrastructure side (setting up, configuring and managing elements such as servers and databases). PaaS can improve the speed of developing an app, and allow the consumer to focus on the application itself. With PaaS, the consumer manages applications and data, while the provider (in public PaaS) or IT department (in private PaaS) manages [[Runtime system|runtime]], [[middleware]], [[operating system]], [[virtualization]], [[Server (computing)|servers]], [[Computer memory|storage]] and [[Computer network|networking]]. Development tools provided by the vendor are customized according to the needs of the user. The user can choose to maintain the software, or have the vendor maintain it.
  
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 (computer science)|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 and reservation.<ref>M. Boniface, [https://dx.doi.org/10.1109/ICIW.2010.91 "Platform-as-a-Service Architecture for Real-Time Quality of Service Management in Clouds,"] ieee.org, May 2010.</ref><ref>Chen, Tse-Shih, et al. "Platform-as-a-Service Architecture for Parallel Video Analysis in Clouds." Advances in Intelligent Systems and Applications-Volume 2. Springer Berlin Heidelberg, 2013. 619-626.</ref>
+
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 (computer science)|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 and reservation.
  
 
==Advantages and disadvantages==
 
==Advantages and disadvantages==
 
The advantages of PaaS are primarily that it allows for higher-level programming with dramatically reduced complexity; the overall development of the application can be more effective, as it has built-in/self up-and-down ramping infrastructure resources; and maintenance and enhancement of the application is thus easier.
 
The advantages of PaaS are primarily that it allows for higher-level programming with dramatically reduced complexity; the overall development of the application can be more effective, as it has built-in/self up-and-down ramping infrastructure resources; and maintenance and enhancement of the application is thus easier.
  
Possible perceived disadvantages of various PaaS providers as cited by their users include increased pricing at larger scales{{citation needed|date=July 2018}}, lack of operational features,<ref>https://www.forbes.com/sites/mikekavis/2014/09/15/top-8-reasons-why-enterprises-are-passing-on-paas/#2b65b66165aa</ref> reduced control<ref>https://www.forbes.com/sites/mikekavis/2014/09/15/top-8-reasons-why-enterprises-are-passing-on-paas/2/#196203128cd0</ref>, and the vagaries of traffic routing systems<ref>https://genius.com/James-somers-herokus-ugly-secret-annotated</ref>.
+
Possible perceived disadvantages of various PaaS providers as cited by their users include increased pricing at larger scales{{citation needed|date=July 2018}}, lack of operational features, reduced control, and the vagaries of traffic routing systems.
  
 
==Types==
 
==Types==
  
 
===Public, private and hybrid (PAAS)===
 
===Public, private and hybrid (PAAS)===
There are several types of PaaS, including public, private and hybrid.<ref name="mkavis"/> PaaS was originally intended for applications on public cloud services, before expanding to include private and hybrid options.<ref name="mkavis"/>
 
  
Public PaaS is derived from [[software as a service]] (SaaS),<ref name="jschofield"/> and is situated in cloud computing between SaaS and [[infrastructure as a service]] (IaaS).<ref name="bbutler"/> SaaS is software that is hosted in the cloud, so that it doesn't take up hard drive from the computer of the user or the servers of a company. IaaS provides virtual hardware from a provider with adjustable scalability.<ref name="bbutler"/> With IaaS, the user still has to manage the server, whereas with PaaS the server management is done by the provider.<ref>Andrew C. Oliver, [http://www.infoworld.com/article/2615165/cloud-computing/which-freaking-paas-should-i-use-.html "Which freaking PaaS should I use?"] ''[[InfoWorld]]'', October 8, 2012.</ref> [[Jelastic]] is the example of Public PaaS (still, the platform also provides Private and Hybrid types as well).<ref>{{Cite web|url=https://www.forrester.com/webinar/PlatformAsAService+Cloud+Providers+Silver+Bullet/-/E-WEB12343|title=Forrester : Webinar : Platform-As-A-Service - Cloud Providers' Silver Bullet?|website=www.forrester.com|language=en|access-date=2018-06-14}}</ref>
+
There are several types of PaaS, including public, private and hybrid. PaaS was originally intended for applications on public cloud services, before expanding to include private and hybrid options.
 +
 
 +
Public PaaS is derived from [[software as a service]] (SaaS), and is situated in cloud computing between SaaS and [[infrastructure as a service]] (IaaS). SaaS is software that is hosted in the cloud, so that it doesn't take up hard drive from the computer of the user or the servers of a company. IaaS provides virtual hardware from a provider with adjustable scalability. With IaaS, the user still has to manage the server, whereas with PaaS the server management is done by the provider. [[Jelastic]] is the example of Public PaaS (still, the platform also provides Private and Hybrid types as well).
  
A private PaaS can typically be downloaded and installed either in a company's on-premises [[data center]], or in a public cloud. Once the software is installed on one or more machines, the private PaaS arranges the application and database components into a single hosting platform.<ref>Jason Brooks, [http://www.eweek.com/c/a/Cloud-Computing/Apprenda-30-Brings-Private-PaaS-to-NET-Developers-627986/ "Apprenda 3.0 Brings Private PaaS to .NET Developers,"] ''[[eWeek]]'', January 6, 2012.</ref> Private PaaS vendors include [[Apprenda]], which started out on the [[Microsoft]] .NET platform before rolling out a Java PaaS; [[Red Hat]]'s [[OpenShift]], [[Pivotal Software|Pivotal]] [[Cloud Foundry]], [[Heroku]] and Platform.sh.<ref>Ben Kepes, [https://www.forbes.com/sites/benkepes/2014/10/06/apprenda-extends-its-paas-and-aims-a-kick-in-the-direction-of-red-hat/ "Apprenda Extends Its PaaS And Aims A Kick In The Direction of Red Hat,"] ''Forbes'', October 6, 2014.</ref>
+
A private PaaS can typically be downloaded and installed either in a company's on-premises [[data center]], or in a public cloud. Once the software is installed on one or more machines, the private PaaS arranges the application and database components into a single hosting platform. Private PaaS vendors include [[Apprenda]], which started out on the [[Microsoft]] .NET platform before rolling out a Java PaaS; [[Red Hat]]'s [[OpenShift]], [[Pivotal Software|Pivotal]] [[Cloud Foundry]], [[Heroku]] and Platform.sh.
  
 
Hybrid PaaS is typically a deployment consisting of a mix of public and private deployments.
 
Hybrid PaaS is typically a deployment consisting of a mix of public and private deployments.
  
 
=== Communications platform as a service (CPaaS) ===
 
=== Communications platform as a service (CPaaS) ===
A CPaaS is a cloud-based platform that enables developers to add real-time communications features (voice, video, and messaging) in their own applications without needing to build backend infrastructure and interfaces.{{cn|date=February 2018}}
+
A CPaaS is a cloud-based platform that enables developers to add real-time communications features (voice, video, and messaging) in their own applications without needing to build backend infrastructure and interfaces.
  
 
===Mobile platform as a service ===
 
===Mobile platform as a service ===
Initiated in 2012, mobile PaaS (mPaaS) provides development capabilities for mobile app designers and developers.<ref>Anthony Wing Kosner, [https://www.forbes.com/sites/anthonykosner/2012/06/08/developers-in-demand-platform-as-a-service-is-key-to-growth-of-mobile-cloud-computing/ "Developers in Demand: Platform As A Service Is Key to Growth of Mobile Cloud Computing,"] ''Forbes'', June 8, 2012.</ref> The [[Yankee Group]] identified mPaaS as one of its themes for 2014.<ref>[http://web.yankeegroup.com/rs/yankeegroup/images/YG_2014Predictions.pdf Yankee 2014 Predictions Mobility hits a tipping point] {{webarchive|url=https://web.archive.org/web/20140122130233/http://web.yankeegroup.com/rs/yankeegroup/images/YG_2014Predictions.pdf |date=2014-01-22 }}, [[Yankee Group]], 2014.</ref><ref>Christina Warren, [http://mashable.com/2011/11/16/mobile-app-cloud-servers/ "How to Pick a Server for Your App,"] [[Mashable]], November 16, 2011.</ref>
+
Initiated in 2012, mobile PaaS (mPaaS) provides development capabilities for mobile app designers and developers.<ref>Anthony Wing Kosner, [https://www.forbes.com/sites/anthonykosner/2012/06/08/developers-in-demand-platform-as-a-service-is-key-to-growth-of-mobile-cloud-computing/ "Developers in Demand: Platform As A Service Is Key to Growth of Mobile Cloud Computing,"] ''Forbes'', June 8, 2012.
  
 
===Open PaaS===
 
===Open PaaS===
Open PaaS does not include hosting, but rather it provides open source software allowing a PaaS provider to run applications in an open source environment, such as [[Google App Engine]]. Some open platforms let the developer use any programming language, database, operating system or server to deploy their applications.<ref>[http://www.sullivansoftwaresystems.com/interview.htm "Interview With Brian Sullivan – Inventor of Open Platform As A Service,"] {{webarchive|url=https://web.archive.org/web/20131004213121/http://www.sullivansoftwaresystems.com/interview.htm |date=2013-10-04 }} sullivansoftwaresystems.com, 2010.</ref>
+
Open PaaS does not include hosting, but rather it provides open source software allowing a PaaS provider to run applications in an open source environment, such as [[Google App Engine]]. Some open platforms let the developer use any programming language, database, operating system or server to deploy their applications.
  
 
===PaaS for rapid development===
 
===PaaS for rapid development===
In 2014, [[Forrester Research]] defined enterprise public cloud platforms for rapid developers as an emerging trend, naming a number of providers including  [[Mendix]], [[Salesforce.com]], [[OutSystems]] and [[Acquia]].<ref>[https://www.forrester.com/The+Forrester+Wave+Enterprise+Public+Cloud+Platforms+Q4+2014/fulltext/-/E-RES118381 "Forrester Wave: Enterprise Public Cloud Platforms,"] Q4 2014.</ref>
+
In 2014, [[Forrester Research]] defined enterprise public cloud platforms for rapid developers as an emerging trend, naming a number of providers including  [[Mendix]], [[Salesforce.com]], [[OutSystems]] and [[Acquia]].
  
In 2015, [[451 Research]] named Jelastic as a containerized solution, that expands alongside IaaS-PaaS convergence for hosting service providers, systems integrators and enterprises. <ref>{{Cite web|url=https://451research.com/report-short?entityId=85494|title=Jelastic expands alongside IaaS-PaaS convergence, containers|website=451research.com|language=en-gb|access-date=2018-06-14}}</ref>
+
In 2015, [[451 Research]] named Jelastic as a containerized solution, that expands alongside IaaS-PaaS convergence for hosting service providers, systems integrators and enterprises.  
  
In 2018, [[Forrester Research]] published an updated report on [[Low Code Development Platforms]]. The report highlighted 14 vendors, naming AppSheet, Betty Blocks, and PowerApps as industry leaders. <ref>{{cite web|last1=Hammond|first1=Jeffrey|title=The Forrester Wave™: Mobile Low-Code Platforms For Business Developers, Q3 2018|url=https://www.forrester.com/report/The+Forrester+Wave+Mobile+LowCode+Platforms+For+Business+Developers+Q3+2018/-/E-RES142469|website=www.forrester.com|publisher=Forrester Research|accessdate=8 August 2018}}</ref>
+
In 2018, [[Forrester Research]] published an updated report on [[Low Code Development Platforms]]. The report highlighted 14 vendors, naming AppSheet, Betty Blocks, and PowerApps as industry leaders.  
  
 
==Providers==
 
==Providers==
There are various types of PaaS providers. All offer application hosting and a deployment environment, along with various integrated services. Services offer varying levels of scalability and maintenance.<ref name="dhinchcliffe"/> Developers can write an application and upload it to a PaaS that supports their software language of choice, and the application runs on that PaaS.<ref>Nancy Gohring, [http://www.computerworld.com/article/2497859/cloud-computing/platform-as-a-service-heats-up.html "Platform as a service heats up,"] ''[[Computerworld]]'', July 8, 2013.</ref>
+
There are various types of PaaS providers. All offer application hosting and a deployment environment, along with various integrated services. Services offer varying levels of scalability and maintenance. Developers can write an application and upload it to a PaaS that supports their software language of choice, and the application runs on that PaaS.
  
 
== See also ==
 
== See also ==
Line 61: Line 65:
 
* [[Serverless computing]]
 
* [[Serverless computing]]
  
== References ==
 
{{Reflist|30em}}
 
  
{{Cloud computing}}
 
  
 
[[Category:As a service]]
 
[[Category:As a service]]
 
[[Category:Cloud platforms]]
 
[[Category:Cloud platforms]]

Revision as of 07:21, 14 April 2023

Platform as a Service (PaaS) or Application Platform as a Service (aPaaS) or platform base service is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app.

PaaS can be delivered in three ways:

  • as a public cloud service from a provider, where the consumer controls software deployment with minimal configuration options, and the provider provides the networks, servers, storage, operating system (OS), middleware (e.g. Java runtime, .NET runtime, integration, etc.), database and other services to host the consumer's application.
  • as a private service (software or appliance) behind a firewall.
  • as software deployed on a public infrastructure as a service.

Development and uses

Fotango, a London-based company owned by Canon Europe launched the world's first public platform as a service known as "Zimki". It was developed in 2005 with a beta launch in March 2006 and a public launch at EuroOSCON in 2006. Zimki was an end-to-end JavaScript web application development and utility computing platform that removed all the repetitive tasks encountered when creating web applications and web services. All aspects of infrastructure and operations from provisioning and setting up virtual servers, scaling, configuration, security and backups were done automatically by Zimki. Zimki introduced the tagline "Pre-Shaved Yaks" to describe the removal of all these repetitive tasks.

Zimki was a pure "pay as you go" code execution platform which enabled developers to build and deploy applications or web services without incurring any start-up costs on a true utility based computing platform. Charging was done on storage used, network traffic and JSOPs (Javascript Operations). It provided a multitenant platform where developers could create entire applications (front and back end through SSJS) by using a single language - Javascript, with all development, billing, monitoring and application control exposed through APIs and a range of component services from a No-SQL object store to Message Queue services. Furthermore, all functions within Zimki could be exposed as web services and Zimki provided billing analysis down to individual functions.

Whilst the Zimki platform was rapidly growing and Fotango was profitable, the parent company decided this area was not core and the service was closed in Dec 2007. At the time of its closure, Zimki had several thousand developer accounts and had demonstrated the technical viability of Platform as a Service but also provided the first example of the perils of being dependent upon a single provider.<ref>Zimki closure shows the perils of hosted web platforms, http://www.itwriting.com/blog/337-zimki-closure-shows-the-perils-of-hosted-web-platforms.html</ref> This risk had been highlighted in July 2007, when the CEO gave a presentation on Zimki at OSCON 2007 which announced that Zimki would no longer be open sourced and discussed the future of what was then called Framework as a Service (later renamed to Platform as a Service) covering the importance of a market of providers based upon an open source reference model.

In April 2008, Google launched App Engine, with a free trial version limited to 10,000 developers. This was said to have "turned the Internet cloud computing space into a fully-fledged industry virtually overnight."

The original intent of PaaS was to simplify the code-writing process for developers, with the infrastructure and operations handled by the PaaS provider. Originally, all PaaSes were in the public cloud. Because many companies did not want to have everything in the public cloud, private and hybrid PaaS options (managed by internal IT departments) were created.<ref name="mkavis">Mike Kavis, "Top 8 Reasons Why Enterprises Are Passing On PaaS," Forbes, September 15, 2014.</ref>

PaaS provides an environment for developers and companies to create, host and deploy applications, saving developers from the complexities of the infrastructure side (setting up, configuring and managing elements such as servers and databases). PaaS can improve the speed of developing an app, and allow the consumer to focus on the application itself. With PaaS, the consumer manages applications and data, while the provider (in public PaaS) or IT department (in private PaaS) manages runtime, middleware, operating system, virtualization, servers, storage and networking. Development tools provided by the vendor are customized according to the needs of the user. The user can choose to maintain the software, or have the vendor maintain it.

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 and reservation.

Advantages and disadvantages

The advantages of PaaS are primarily that it allows for higher-level programming with dramatically reduced complexity; the overall development of the application can be more effective, as it has built-in/self up-and-down ramping infrastructure resources; and maintenance and enhancement of the application is thus easier.

Possible perceived disadvantages of various PaaS providers as cited by their users include increased pricing at larger scalesTemplate:Citation needed, lack of operational features, reduced control, and the vagaries of traffic routing systems.

Types

Public, private and hybrid (PAAS)

There are several types of PaaS, including public, private and hybrid. PaaS was originally intended for applications on public cloud services, before expanding to include private and hybrid options.

Public PaaS is derived from software as a service (SaaS), and is situated in cloud computing between SaaS and infrastructure as a service (IaaS). SaaS is software that is hosted in the cloud, so that it doesn't take up hard drive from the computer of the user or the servers of a company. IaaS provides virtual hardware from a provider with adjustable scalability. With IaaS, the user still has to manage the server, whereas with PaaS the server management is done by the provider. Jelastic is the example of Public PaaS (still, the platform also provides Private and Hybrid types as well).

A private PaaS can typically be downloaded and installed either in a company's on-premises data center, or in a public cloud. Once the software is installed on one or more machines, the private PaaS arranges the application and database components into a single hosting platform. Private PaaS vendors include Apprenda, which started out on the Microsoft .NET platform before rolling out a Java PaaS; Red Hat's OpenShift, Pivotal Cloud Foundry, Heroku and Platform.sh.

Hybrid PaaS is typically a deployment consisting of a mix of public and private deployments.

Communications platform as a service (CPaaS)

A CPaaS is a cloud-based platform that enables developers to add real-time communications features (voice, video, and messaging) in their own applications without needing to build backend infrastructure and interfaces.

Mobile platform as a service

Initiated in 2012, mobile PaaS (mPaaS) provides development capabilities for mobile app designers and developers.<ref>Anthony Wing Kosner, "Developers in Demand: Platform As A Service Is Key to Growth of Mobile Cloud Computing," Forbes, June 8, 2012.

Open PaaS

Open PaaS does not include hosting, but rather it provides open source software allowing a PaaS provider to run applications in an open source environment, such as Google App Engine. Some open platforms let the developer use any programming language, database, operating system or server to deploy their applications.

PaaS for rapid development

In 2014, Forrester Research defined enterprise public cloud platforms for rapid developers as an emerging trend, naming a number of providers including Mendix, Salesforce.com, OutSystems and Acquia.

In 2015, 451 Research named Jelastic as a containerized solution, that expands alongside IaaS-PaaS convergence for hosting service providers, systems integrators and enterprises.

In 2018, Forrester Research published an updated report on Low Code Development Platforms. The report highlighted 14 vendors, naming AppSheet, Betty Blocks, and PowerApps as industry leaders.

Providers

There are various types of PaaS providers. All offer application hosting and a deployment environment, along with various integrated services. Services offer varying levels of scalability and maintenance. Developers can write an application and upload it to a PaaS that supports their software language of choice, and the application runs on that PaaS.

See also