Platform as a service
Platform as a service (PaaS) or application platform as a service (aPaaS) or platform-based service is a cloud computing service model where users provision, instantiate, run and manage a modular bundle of a computing platform and applications, without the complexity of building and maintaining the infrastructure associated with developing and launching application(s), and to allow developers to create, develop, and package such software bundles.[1][2]
Development and uses
[edit]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 public infrastructure as a service.[3][4]
The first[5] public platform as a service was Zimki, launched by Fotango, a London-based company owned by Canon Europe. It was developed in 2005, had a beta launch in March 2006 and a public launch at EuroOSCON in 2006.[6]
At the time of its closure, Zimki had several thousand developer accounts. It had demonstrated the technical viability of Platform as a Service, but also provided the first example of the perils of being dependent on a single provider.[7] This was highlighted when the CEO (Simon Wardley, known for Wardley maps) announced at OSCON 2007 that Zimki would no longer be open-sourced and discussed the future of what was then called framework-as-a-service (later called platform-as-a-service) covering the importance of a market of providers based on an open-source reference model. [8]
The original intent of PaaS was to simplify the writing of code, 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.[9]
PaaS provides an environment for developers and companies to create, host and deploy applications, saving developers from the complexities of infrastructure (setting up, configuring and managing elements such as servers and databases). PaaS can improve the speed of developing an app, and allow its user to focus on the application itself. With PaaS, the customer 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.[3][10] Development tools provided by the vendor are customized according to the needs of the user.[11] The user can choose to maintain the software, or have the vendor maintain it.[3]
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.[12][13]
Advantages and disadvantages
[edit]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.
Disadvantages of various PaaS providers as cited by their users include increased pricing at larger scales,[14] lack of operational features,[15] reduced control,[15] and the difficulties of traffic routing systems.[16]
Types
[edit]Public, private and hybrid
[edit]There are several types of PaaS, including public, private and hybrid.[9] PaaS was originally intended for applications on public cloud services, before expanding to include private and hybrid options.[9]
Public PaaS is derived from software as a service (SaaS),[17] and is situated in cloud computing between SaaS and infrastructure as a service (IaaS).[1] SaaS is software hosted in the cloud so that it does not reside or run on customer computers. IaaS provides virtual hardware from a provider with adjustable scalability.[1] In IaaS, the server is managed by the user, whereas in PaaS by the provider.[18]
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.[19]
Hybrid PaaS is typically a deployment consisting of a mix of public and private deployments.
Communications platform as a service
[edit]A communications platform as a service (CPaaS) is a cloud-based platform that enables developers to add real-time communications features (voice, video, and messaging) in their own applications without building back-end infrastructure and interfaces.[20] Also, CPaaS and hardware and software specifications are specifically designed to support (tele)communications applications. These applications and their usage are much more sensitive to jitter, latency and packet losses. Hosted PBX, cellular networks, (near real-time) applications typically are deployed on CPaaS platforms.
Mobile platform as a service
[edit]Initiated in 2012, mobile PaaS (mPaaS) provides development capabilities for mobile app designers and developers.[21] The Yankee Group identified mPaaS as one of its themes for 2014.[22][23]
Open PaaS
[edit]Open PaaS does not include hosting but 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.[24]
Providers
[edit]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.[25] 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.[26]
See also
[edit]References
[edit]- ^ a b c Brandon Butler (February 11, 2013). "PaaS Primer: What is platform as a service and why does it matter?"". Network World]. Archived from the original on April 2, 2015.
- ^ William Y. Chang, Hosame Abu-Amara, Jessica Feng Sanford (15 November 2010). Transforming Enterprise Cloud Services. London: Springer, 2010. p. 55-56. ISBN 9789048198467.
{{cite book}}
: CS1 maint: multiple names: authors list (link) - ^ a b c Judith Hurwitz, Marcia Kaufman, Fern Halper and Dan Kirsh, "What Is Platform as a Service (PaaS) in Cloud Computing?" Hybrid Cloud For Dummies, Hoboken, NJ: John Wiley & Sons, 2012.
- ^ Mell, P. M.; Grance, T. (2011). The NIST Definition of Cloud Computing (PDF) (Report). National Institute of Science and Technology. doi:10.6028/NIST.SP.800-145. Special Publication 800-145.
- ^ Wardley, Simon (20 Feb 2015). "On open source, gameplay and cloud". Bits or pieces?. Simon Wardley. Archived from the original (HTML) on 8 March 2016. Retrieved 29 December 2016.
- ^ Zimki, hosted JavaScript environment, http://radar.oreilly.com/2006/09/zimki-hosted-javascript-enviro.html
- ^ "Zimki closure shows the perils of hosted web platforms". 27 September 2007.
- ^ OSCON Keynote 2007, http://mais.uol.com.br/view/v1xaxe2lamb3/oscon--commoditisation-of-it-and-what-the-future-holds-0402D4B10386?types=A
- ^ a b c Mike Kavis, "Top 8 Reasons Why Enterprises Are Passing On PaaS," Forbes, September 15, 2014.
- ^ Sean Ludwig, "An ugly duckling no more: Why Platform-as-a-Service is poised for huge growth," VentureBeat, October 8, 2012.
- ^ Peiro, Andrea (January 2009). "Keep Your Head in the Cloud". Inc.
- ^ M. Boniface, "Platform-as-a-Service Architecture for Real-Time Quality of Service Management in Clouds," ieee.org, May 2010.
- ^ 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.
- ^ Flower, Zachary. "Weigh the benefits of PaaS providers against lock-in risks". searchcloudcomputing.techtarget.com. Retrieved 21 November 2018.
- ^ a b Kavis, Mike. "Top 8 Reasons Why Enterprises Are Passing On PaaS". Forbes.
- ^ "James Somers (Ft. Andrew Warner, ATodd, Chrissy & Tom Lehman) – Heroku's Ugly Secret". Genius.
- ^ Jack Schofield, "Google angles for business users with ‘platform as a service’," The Guardian, April 16, 2008.
- ^ Andrew C. Oliver, "Which freaking PaaS should I use?" InfoWorld, October 8, 2012.
- ^ Jason Brooks, "Apprenda 3.0 Brings Private PaaS to .NET Developers," eWeek, January 6, 2012.
- ^ "What Is Communications Platform as a Service (CPaaS)? Definition from SearchUnifiedCommunications". SearchUnifiedCommunications. Retrieved 2022-02-24.
- ^ Anthony Wing Kosner, "Developers in Demand: Platform As A Service Is Key to Growth of Mobile Cloud Computing," Forbes, June 8, 2012.
- ^ Yankee 2014 Predictions Mobility hits a tipping point Archived 2014-01-22 at the Wayback Machine, Yankee Group, 2014.
- ^ Christina Warren, "How to Pick a Server for Your App," Mashable, November 16, 2011.
- ^ "Interview With Brian Sullivan – Inventor of Open Platform As A Service," Archived 2013-10-04 at the Wayback Machine sullivansoftwaresystems.com, 2010.
- ^ Dion Hinchcliffe, "Comparing Amazon’s and Google’s Platform-as-a-Service (PaaS) Offerings," ZDNet, April 11, 2008.
- ^ Nancy Gohring, "Platform as a service heats up," Computerworld, July 8, 2013.