Cloud application development space is changing rapidly. Developers and CIOs are no longer content with taking on the burden of managing virtual infrastructure in the cloud due to sizable costs associated with operating system maintenance, middleware patching, and other systems administration activities required when operating a large number of virtual machines in IaaS clouds.
As developers are migrating to PaaS to alleviate the concerns described above, they need a trusted partner to provide an enterprise class platform that ensures application portability and avoids vendor lock-in. A significant part of the value of the platform to the developers is in the breadth of the catalogue of services available from the vendor and in the differentiated capabilities that can be built using the services. For example, a PaaS catalogue should provide services for both the current generation of applications (e.g. web apps, data analytics, integration) and the emerging categories of applications (e.g. big data, Internet of Things, cognitive).
Regardless of whether a customer is looking for a PaaS platform as part of a private or hybrid cloud, it is imperative to evaluate the public cloud presence of the platform from the vendor. Some vendors make bold claims about security, scalability, and availability of their PaaS offerings but to back up those claims the vendor should demonstrate how well the same product code can hold up in both large-scale public and private cloud deployments. To deliver on the claims, a vendor must ensure tight vertical integration of the entire PaaS stack, covering everything from the hardware to the application management and monitoring APIs.
Today, developers have mostly converged on two complementary deployment approaches for PaaS. Both of the approaches ensure application portability (i.e. to avoid cloud vendor lock-in) by relying on open source software and APIs. The first, which is less flexible but provides for greater ease of use, is to deploy application binaries and associated artifacts directly to a PaaS using open source software based tools like Cloud Foundry. The second, which is more flexible but requires more upfront work, is to use Linux container based technologies like Docker to specify a deployable application bundle. A true PaaS should support at least these two approaches to allow developers with different levels of skill to write applications for the cloud.
Continuous integration and deployment is now the default model used by developers to ensure both rapid innovation and high availability in cloud applications. Top consumer facing companies like Netflix deploy application code hundreds of time per day and Amazon.com claims to deploy every 11.6 seconds on average. This level of productivity requires sophisticated DevOps capabilities that provide a unified, integrated view that encompasses software development project management, agile development sprints, testing, bug tracking, and automated code deploys.
In most enterprises, PaaS co-exists with IaaS and legacy infrastructures, which means that the PaaS must provide secure and reliable means of integration across these environments. In cases where an application relies on a public cloud PaaS, this type of integration is also an important business capability, enabling the enterprise to securely expose applications running behind the firewall to the Internet. For example, an application hosted on a public PaaS may connect via a secure integration channel to an employee database residing behind the firewall of a company to provide mobile application users on the web with a secure view on just the publicly available information about the employees, excluding their personally identifiable information.
If you are one of the 3.3 million Americans that purchased a FuelBand, you probably know that Nike discontinued this product. But chances are you don’t know that Nike continues to collect, manage, and analyze data collected from a variety of wearable devices to provide their customers with innovative, big data analytics based products using this data. Nike is just one of many companies that are starting to offer data and analytics based services via APIs. All these companies are joining what the industry calls the API economy and many are choosing to rely on PaaS to run the applications behind the APIs. There are numerous challenges related to the rollout of compelling APIs to customers. A trusted PaaS provider should be in position to help a company to deploy, run, and market the APIs to an appropriate market segment.
Budgetary pressures in IT organizations are driving many developers to migrate monolithic applications to more fine-grained, microservices based architectures. This type of an architectural change provides businesses with greater transparency into the inventory of services delivered by their IT departments and enables better traceability between business goals and value delivered by IT in fulfillment of the goals. For example, instead of allocating a large chunk of an IT budget to a complex customer ordering and tracking application, a CIO may choose to re-architect the application as a collection of microservices that can include order validation, pricing, shipping address verification, and more. A PaaS vendor should be able to support microservices based applications and to provide IT departments with a comprehensive service catalogue. Ultimately, an IT department should be able to rely on their PaaS provider and its catalogue to comparison shop as part of a decision on whether to support a business process by maintaining an in-house microservice or by having the PaaS broker the service from a vendor.
The capabilities described above should be considered as part of a broader cloud computing strategy within the enterprise. PaaS implementations available today can help enterprises to improve operational efficiency while avoiding vendor lock-in.