1. About PaaS
1.1 What Is PaaS
PaaS is short for Platform as a Service, a type of cloud computing service that provides a computing platform along with solution services. The emergence of PaaS accelerated the growth of SaaS, and in particular sped up the development of SaaS applications. For example, when developing SaaS, using the login, database, cache, and other services uniformly provided by a PaaS platform greatly reduces the manpower and cost of building those services. At the same time, it hands the operations of SaaS applications over to the PaaS platform.
1.2 Characteristics of PaaS
What a PaaS platform provides is a SaaS service aimed at developers. Through the PaaS platform, a set of commonly used services are extracted into public services, such as autoscaling, databases, and release management. Developers only need to focus on the business itself, filling in the business logic on top of the development framework the PaaS platform provides.
The characteristics of a PaaS platform are:
- Provides a development framework
A PaaS platform provides a development framework, and developers build SaaS applications on top of it. The development framework is the key to fusing an application with the PaaS platform. - Reduces coding time
By providing built-in, pre-coded application components (such as workflow, directory services, security features, and search), a PaaS platform can drastically cut the time required to code a new application. - A wealth of public services
A PaaS platform usually provides a large number of public services, such as SMS delivery, COS object storage, and Redis. These services speed up development, and afterward there is no need to maintain them, plus they scale easily. - Cross-platform support
PaaS platform providers usually offer development options targeting many platforms (for example PC and mobile), allowing cross-platform applications to be developed faster and more easily. - Effectively manages the application lifecycle
A PaaS platform provides everything needed to support a web application’s complete lifecycle: build, test, deploy, manage, and update. - No operations burden
A PaaS platform provides an end-to-end development flow and an automated deployment solution. Neither during the application development phase nor after it goes live does it require much involvement from operations staff.
2. PaaS 1.0
Represented by Google GAE, Heroku, and SAE, this is the PaaS 1.0 era. It adopted an application as the unit of service at a finer granularity than virtualization, but its fatal flaw was intrusiveness on the application β that is, it required developers to constrain their program code to satisfy the platform’s runtime requirements.
PaaS 1.0 placed many restrictions on development languages, the application hosting environment was monolithic, and components were closed. Developers did not want to be locked into a platform just because they used one PaaS engine. This limited the growth of PaaS 1.0.
3. PaaS 2.0
Represented by Cloud Foundry and OpenShift, this is the PaaS 2.0 era. Its progress lies in having essentially eliminated intrusiveness on the application, though it still had requirements around passing DevOps environment variables and around deployment.
Although PaaS 2.0 could already solve a great many needs, it also had no shortage of problems. For example, PaaS 2.0 did not step into the software development process; once software development was finished, it had to go through a second round of packaging before it could run on the PaaS platform.
4. PaaS 3.0
Represented by Docker-based Flynn and Deis, this is the PaaS 3.0 era. PaaS 3.0 set foot in the software development process; the product it delivered was the standard Docker image, connecting the development, testing, and operations flows on the Docker platform. PaaS development today sits at the PaaS 3.0 stage. In China there are also plenty of platform companies offering Docker container services, such as DaoCloud, SpeedCloud, and Shurenyun.
5. PaaS 4.0
Represented by AI technology, this is the PaaS 4.0 era. By the time it reached PaaS 3.0, what was solved was the problem of software development, delivery, and deployment β DevOps was achieved. This process saved development and operations costs and sped up the software delivery flow. Where previously one application was developed per month, now five can be developed per month; where previously one application needed two developers and one operations engineer, now it needs one DevOps engineer. There are gains, but they are an addition operation. The business value has not been effectively mined and amplified. In the PaaS 4.0 era, AI and other data mining technologies will shine brightly; the data processing capability a PaaS platform provides will drastically lower the barrier to data mining. At the same time, thanks to the economies of scale of a PaaS platform, the cost advantage of data mining becomes evident. A PaaS platform carrying a large amount of business data also strengthens users’ stickiness to the platform.
