Deployable Development Environments using PaaS and Micro-Clouds
Publication Date: 2015-Oct-16
The IP.com Prior Art Database
Disclosed is a system that enables replicating the production environment of an application that is intended to be deployed in a Platform-as-a-Service (PaaS) cloud in the development environment of users through the use of a development-side micro-cloud that forms a transparent layer between the development environment and the operating system.
Page 01 of 5
Deployable Development Environments using PaaS and Micro -Clouds
Deployment of applications, especially those that are exposed over the World Wide Web, has been streamlined with the use of Platform-as-a-Service Cloud Computing platforms, hereafter referred to as PaaS.
In PaaS, developers provision an application container within which they will develop and deploy their primary application logic; for example, an Apache Tomcat or IBM WebSphere or NodeJS container. Additionally, developers specify which data and compute services they will need (such as MySQL database instances, Apache Hadoop compute clusters, live-weather reporting services, etc.) and the PaaS provisions these services at run-time and "binds" them to the application. The binding mechanism differs depending on the PaaS, but it's function is to provide to the application sufficient information to be able to access these services at run-time; for example, the URL of the remotely instantiated service or the login credentials or database name of the instance. Hence, the application does not need to know this information before-hand. The application container and services can be configured from the PaaS console/dashboard, which may be a Web-based UI or a command-line interface.
However, the main problem is that the development environments are not PaaS-aware. If one has to develop an application for the PaaS, they have to still follow the traditional approach of installing the required application containers and provisioning service instances either locally or on the development network in order to test the solutions before deployment. This manual provisioning and configuration has many disadvantages, primarily due to the fact that all configuration changes are performed outside of the integrated development environment (IDE), and hence the same configurations are not applied to the production cloud. The service instances may differ in vendor or version from the production cloud, and the means of accessing them may also be different since the PaaS binding mechanisms are not available during development.
Disclosed is a system wherein the IDE runs an identical instance of the PaaS cloud computing environment within the development site, that forms an interface between the actions a user performs in the IDE and the underlying operating system (OS). Any installation of applications, services or changes to their configuration is performed not with the OS directly but through the IDE and the intermediate PaaS layer, known as the Intercepting Agent (IA). The IA records all user actions of service instiantion, composition and configuration into a file called the Deployment Descriptor (DD), whose format may depend on the PaaS vendor. As an example the DD could use eXtensible Markup Language (XML). The DD is also used by the PaaS on the production cloud computing environment to construct the application container, instantiate services and bind them to the appl...