The status of PAAs platform
As defined by NIST, PAAs is an application deployment system built on a cloud infrastructure that provides users with APIs, tools, and services to deploy and manage applications and services. Currently widely understood PAAs has roughly gone through two stages of development. PAAs experienced a period of exploration, the first generation of cloud application platform technology representatives include Google APP Engine, force.com, early Heroku, SAE and early Bae, etc., by providing developers with tools such as DevOps to accelerate the application delivery. These PAAs have some of the following characteristics:
Primarily provides deployment and hosting of applications
For application developers
In support of specific IaaS base technologies
Support for single development languages and frameworks
Support for specific services, such as custom data storage APIs
These PAAs accelerate the delivery of applications. First, they allow users, including developers, to worry about hardware and virtual machines, operating systems, application servers, and service management, making it quicker and easier for them to deploy and iterate, as well as to extend the application horizontally. But its obvious short block is that the user is easily bound. They need to use specific programming languages to develop applications that need to be programmed for specific service Plug-ins and APIs, or to deploy applications on specific IaaS. These features limit user freedom and agility for application development, deployment, and operation, as well as application portability.
Because of this, the second generation cloud application platform technology to achieve a full range of application lifecycle management, focus on openness and interoperability between the cloud, and its representatives include Cloud Foundry, OpenShift, new Heroku,mopaas and a newer version of the PAAs technology or services, such as Bae, In addition to the functionality provided by the first generation PAAs technology for users to implement the acceleration of application delivery, most of the following features are available:
Multiple languages and frameworks: support for multiple languages and frameworks and their extension mechanisms
Multi-service: Open Core Services and extension mechanisms for services
Cloudy and multiple IaaS technologies: support for multiple IaaS technologies and cloudy deployments, including public and private cloud
Multi-directional openness increases the abstraction of computing resources to the application service level, while applying the operational dimension to the platform for automated management, and enables PAAs to effectively deliver application portability. At the same time, developers have more freedom of choice to develop voice, framework, services, and infrastructure by providing convenient tools and expanding services. By computing the security isolation of resources, the computing resources can be effectively and safely delivered and managed. Of course, there is a lot more to be done from PAAs technology like cloud Foundry to truly implementing PAAs cloud application platform services. Figure 1 is a typical PAAs architecture based on cloud Foundry.
PAAs architecture based on Cloud Foundry
The market demand of cloud application platform
In fact, the market's rigid demand for cloud application platform services is growing, but the traditional IaaS and PAAs definitions are too narrow and the services offered cannot meet the needs of the market alone. The following two scenarios reflect this requirement:
An enterprise application software project cycle typically needs to undergo multiple phases, including development, integration, testing, and production. Project teams need to build different soft and hard platforms to support the project phase and require different, well-trained IT staff to manage them. In addition, a transition from one to the next can take months, which also adds to the need for continuous iterative development, testing, integration, and deployment. The support of a PAAs-like cloud computing platform service can consolidate these different platforms while also significantly saving costs and time, facilitating ongoing iterative development, testing, integration, and deployment. It is estimated that the United States has wasted more than 30 billion dollars a year on its IT spending in recent years due to the lack of a suitable cloud application platform for support.
The internet economy, represented by mobile and social applications, is experiencing explosive growth. This new economy has fast features, requiring that the cycle of application from innovative ideas to market-making is much shorter than ever before. A large number of new developers are also continuously entering the application development industry, and many of these developers do not have the relevant it expertise and experience. Without the appropriate cloud application platform support, application deployment is still slow and painful, application expansion is very difficult, the management of various services need to take a lot of time to maintain the application of reliable operation of the work is time-consuming and expensive, and most of it is not related to specific applications of repetitive it things, such as application development Management, compilation, Integration, deployment, operation, scaling and monitoring. Developers want to focus more on the application of innovation and development, without being tied down by cumbersome it things, to realize the freedom and democracy to apply innovation.
The need for enterprise it and the development of new economy require the application of lifecycle management to become faster and easier. The hope of the cloud platform includes addressing these issues, providing efficient application development deployments, monitoring management, upgrading the abstraction level from virtual machines and operating systems to applications and services, and the platform itself for its high availability, high fault tolerance, monitoring, scalability, ease of deployment and updating, To achieve simple and agile application lifecycle management.
Especially the Enterprise Cloud application platform market is in a fast growing stage. The enterprise is actively looking for the appropriate cloud strategy, the question has changed from "Why" to "how". 90% of companies and institutions consider using cloud computing technology, and nearly 80% of companies want to deploy cloudy applications. IaaS first obtains traction in enterprise production by providing virtual computing, storage, database, and other infrastructure hardware services to provide enterprise with the integration and management of IT resources. However, it has been found that IaaS is far from meeting the needs of enterprise it, especially the development, integration, deployment, and operation of applications on IaaS is quite time-consuming and expensive. As the "last mile" cloud technology has been fully validated through services such as the Google App Engine and Heroku, PAAs is a key component of the corporate cloud strategy. However, both IaaS and PAAs alone cannot fully meet the needs of the market, and users now begin to consider and implement the mutual infiltration and integration of IaaS and PAAs. In fact, they don't care whether these services are "I" (infrastructure) or "P" (platform), they want the application to stay up and running, so that the development and deployment of new applications and services change very quickly, especially through the cloud computing platform to integrate the needs of the enterprise.
Inpaas: A new generation cloud application Platform
The cloud market hopes that the next generation of cloud platforms will present these landscapes, turn complex cloud infrastructures and application resources into configurable entities, provide a flexible and diverse computing resource entity to meet the needs of different businesses, and make innovation easier and faster, It can also provide the control and visibility that the enterprise needs for the platform itself. This new generation of cloud applications should integrate multiple technologies, including PAAs and IaaS, while supporting different deployments of cloud services, including the public cloud, private cloud, community cloud, and hybrid cloud, which we call Inpaas (infrastructure-and-platform As a Service). Specifically, the Inpaas cloud platform technology has high availability, high security, easy to interact, easy to mix, easy to supervise, easy to audit and maintenance, especially the following features:
Computing Unit Management: According to the different needs of the user and role platform to meet the different requirements of the platform resources, including virtual machine, virtual machine +os, container + Application Server and container + Application Server + Framework + application code package, such as computing resource Combination unit. Unified delivery and management of computational units.
Resource mix and provisioning: computing units, service components, and data resources are configurable, can be combined, easily changed and adapted; Depending on the requirements of different applications, applications can be dynamically integrated and delivered securely through different computing resources and service components.
Data Services: Data lifecycle management, including the generation and acquisition of data resources, analysis and storage, and processing and retrieval. Provide the platform itself and application monitoring, auditing, security and management of the data service requirements, also as data service components delivered to user application use.
Security and isolation: Multidimensional security protection for platform and computational resources; Effective isolation and protection of computing resource units, storage, and networks to prevent unauthorized access to and from attacks within and outside the peace station. Real-time firewall, real-time access policy generation and control. Identity management and access authorization. Persistent audit logging and analysis.
Secure and trusted Hybrid architecture: Secure and trusted unified platform supports cloudy infrastructure platform technology; support public cloud, private cloud, hybrid cloud deployment. Secure communication mechanism realizes secure communication and coordination between each computational resource unit and component. Support application migration and offsite disaster preparedness. Support Guaranteed high SLAs.
Implementing the Inpaas Cloud Platform is not a simple integration of PAAs and IaaS, as many of the existing IaaS and PAAs functions overlap, resulting in reduced system performance and increased user complexity. Need a deeper understanding of market needs, to find a suitable solution for the market. In addition, people continue to develop a series of new cloud computing technologies from different perspectives to address different market requirements, which can also be used as a inpaas of some technical elements. For example, a new generation of lightweight containers such as Docker will likely become a candidate for the lightweight container technology required by Inpaas to achieve the abstraction, delivery, and management of the computing resources needed. In addition, technologies such as SDN may also be a secure and effective communication mechanism for achieving inpaas between nodes and across clouds.
As for the overall solution, Derek Collison, the father of Cloud Foundry, and his start-up Apcera are ahead of the cloud platform technology, and they have developed a strategy-driven (Policy-driven) cloud platform for a new generation of enterprises through an innovative technology architecture design Continuum to consolidate current IaaS, PAAs, and SaaS (pictured below). The core is to provide the control and visibility that enterprise it needs by transparently importing policies. In addition, Microsoft's former executive and Warner Bros. technical director Jonathan Murray proposed a similar concept of a scalable enterprise (composable Enterprise) to define a new cloud platform service through which companies can build applications to create, host, Monitor one-stop fast service to meet the needs of business growth. Users can accelerate production and application development becomes more and more standardized. Applications can become easier to create than ever, and more and more services combine different components.
Apcera Continuum Architecture