Enterprise PaaS refers to the internal application of the Platform as a Service model, with the goal of boosting software productivity through standardized developer tools and common components.
PaaS can be utilized via public or private Cloud deployment models. Public Cloud services include Microsoft Azure and Google, and vendor software for building your own in-house PaaS includes Cloud Foundry and Red Hat Openshift.
In their paper and ‘PaaS: Open for Business‘, Pivotal describes the essential ingredient:
“Platform-as-a-Service (PaaS) is a key enabler of software-driven innovation – facilitating rapid iteration and developer agility. It comprises a set of tools, libraries and services for deploying, managing and scaling applications in the cloud. Adopting an enterprise-grade, multi-cloud PaaS solution frees developers to create game-changing web and mobile applications. It also allows these applications to scale across cloud environments, based on the business need.”
In ‘Essential Elements of Enterprise PaaS‘ Pivotal lay out a recipe for what constitutes Enterprise PaaS.
Microservices Continuous Deployment – Infrastructure as Code
This integration is conveyed through the idea of ‘Infrastructure as Code’, explained by one of the G-Cloud Digital team Gareth Rushgrove in this presentation: Continuous Integration for Infrastructure.
Organizations such as Netflix and Nike aren’t just pioneering new business models, they are also new pioneering new technologies that accelerate these models, new Cloud hosting and software design methods like ‘Microservices’ and Continuous Deployment.
The Cloud is not only changing how software is hosted and executed, it’s also changing how it is written and maintained as well as how it is architected and developed, achieved through DevOps practices and Microservices design patterns.
PaaS & Microservices
Pivotal offers a Cloud Foundry implementation, especially with a view to microservices, as they explain in Deploying a Microservices Architecture with Cloud Foundry, and describe how it can accelerate projects like new mobile applications.
This includes packaging of the Netflix open source modules built for running their microservices.
Martin Fowler describes how infrastructure automation is a key enabler of microservices:
“Many of the products or systems being build with microservices are being built by teams with extensive experience of Continuous Delivery and it’s precursor, Continuous Integration. Teams building software this way make extensive use of infrastructure automation techniques. This is illustrated in the build pipeline shown below.”
This highlights the role orchestration platforms like Cloudify from Gigaspaces can play.
In this blog Uri Cohen of their product team describes how some microservice scenarios will feature more complexity, in terms of also provisioning stateful applications and supporting components that aren’t microservices, such as a central data repository.
Uri explains Cloudify is a platform that can automate the provisioning of this increased complexity through the use of TOSCA open standards.
“Essentially, the smarts should be in the app components, and the communication between those components must be as simple as possible. Without that requirement, architectures will bloat and become monolithic. When asked, “How does your PaaS support microservices?” most enterprise PaaS vendors offer little more than deployment agility. While agility is an important piece of the puzzle, application bootstrap policies directly support both the smart-endpoints / dumb-pipes visionand the implementation of microservices.”
Bob Familiar introduces microservices, discussing their architecture and outlining cloud deployment scenarios, exemplified by a live demo on Microsoft Azure. The Microsoft Academy also offers a webinar introduction – Exploring Microservices in Docker and Azure.