Platform as a Service (PaaS) or application platform as a Service (aPaaS) 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 two 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; or as a private service (software or appliance) inside the firewall, or as software deployed on a public infrastructure as a service.
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. 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.
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.
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 infrastructure; and maintenance and enhancement of the application is easier. It can also be useful in situations where multiple developers are working on a single project involving parties who are not located nearby.
One disadvantage of PaaS offerings is that developers may not be able to use a full range of conventional tools (e.g. relational databases, with unrestricted joins). Another possible disadvantage is being locked in to a certain platform. However, most PaaSes are relatively lock-in free.
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. IBM Bluemix (also private and hybrid), Amazon AWS and Heroku are some of the commercial public cloud PaaS providers.
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 and Pivotal Cloud Foundry. Apprenda and Microsoft once considered to be two of the only PaaSes that provide superior .NET support. Now joined by the publicly announced  Microsoft and IBM Partnership programme. 
Hybrid PaaS is typically a deployment consisting of a mix of public and private deployments. An example here is IBM Bluemix which is delivered as a single, integrated cloud platform across public, dedicated, and on-premises deployment models.
Initiated in 2012, mobile PaaS (mPaaS) provides development capabilities for mobile app designers and developers. The Yankee Group identified mPaaS as one of its themes for 2014, naming a number of providers including Kinvey, CloudMine, AnyPresence, FeedHenry, FatFractal and Point.io.
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. 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, database, operating system or server to deploy their applications.
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.
PaaS is found on the following types of systems:
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.
Manage research, learning and skills at defaultLogic. Create an account using LinkedIn or facebook to manage and organize your IT knowledge. defaultLogic works like a shopping cart for information -- helping you to save, discuss and share.