PaaS markets flourish
PaaS remains the smallest of the three XaaS segments – IaaS, PaaS and SaaS – but various estimates (here, here, and here) have PaaS growing at 25-35% annually for the next few years, hitting somewhere in the range of $7 to 12 billion in sales by 2021. Gartner has a more conservative estimate, pegging what it terms the application PaaS segment at about $2 billion in annual sales growing at 18.5% annually and accounting for all of the growth in the broader application platform market. Although some claim that the "PaaS battle is over" and that "Cloud Foundry has won," I'm not ready to declare a victor. I expect vibrant competition in the coming year, as enterprises embrace cloud services for both application modernization and new cloud-native designs.
Two reasons for the widely divergent PaaS market estimates are the relative immaturity of cloud platform services and inconsistency in how the segment is defined. Dissimilarities in sector estimates are manifest in conflicting vendor share rankings, such as Gartner estimating that Salesforce controls 57% of the PaaS market while Synergy Research says AWS has captured nearly as much share as its three nearest competitors combined (Salesforce, Microsoft and IBM).
I see the differences originating in how broadly one interprets what Gartner calls "high-productivity" aPaaS and whether it is truly a platform for application development or means of software customization. For example, products like Salesforce have evolved into development platforms by adding programmability that allows application users to create extensions to a packaged software product. In contrast, what Gartner calls "high control" aPaaS like the Cloud Foundry ecosystem (such as IBM Bluemix), Google App Engine (GAE) or Azure App Service are more traditional software development environments that extend IaaS with application frameworks supporting multiple languages that insulate developers from the messy details of infrastructure configuration.
I see both PaaS segments flourishing. However the more exciting and innovative in the new year will be development frameworks – since they are more versatile, suitable for either client-facing apps or backend services and tailored for new, cloud-native applications using DevOps methods. Furthermore, the programming platform PaaS segment is still nascent, dynamic and wide open, being untied to existing SaaS buying decisions.
Two more app dev innovations
PaaS stacks such as Cloud Foundry make it easier to build cloud-native applications using legacy services such as VM instances, databases and object storage. However as AWS, GAE and others have demonstrated, PaaS services also facilitate the incorporation of new runtime technologies such as containers, event-driven functions (aka serverless computing) and managed backend services designed for mobile apps, IoT, AI and machine learning. Each area is sure to provide plenty of new features, service offerings and case studies in 2017. I am anxious most of all to see how containerization and serverless functions mature and improve over the coming year.
Containerization using the Docker format and software ecosystem was one of the most buzzworthy tech topics of 2016. Indeed, in only its third year, attendance at the Dockercon event was eight times that in 2014. While Docker has become the de facto standard for application packaging and images, there remains a chaotic container ecosystem for functions such as application registries, service discovery, cluster management and application scheduling and orchestration. Cloud service providers and cloud-native developers are driving the development and adoption of container technology writ large and I'm eager to see how rapidly container services displace traditional VM IaaS instances on AWS, Azure and Google Cloud.
Container platform rivals
As they battle for customers, one area of differentiation and potential conflict between cloud container providers is in the choice of cluster management platform. Although Kubernetes, initially developed by Google and now open source, has the broadest support, AWS recently introduced the Blox scheduler (also open sourced, but unavailable on anything but AWS). Furthermore, while Azure provides beta support for Kubernetes, its primary container management platform is Mesosphere DC/OS.
It will be interesting to see where customers come down and whether Kubernetes' promised cross-platform portability is enough to dissuade AWS and Azure users from defected to a potentially better-integrated, low-friction alternative.
Security is another area of active container technology development. Products like Aqua for Docker, fresh off a $9 million investment from Microsoft, provide an automated backplane to enforce security policies throughout a continuous integration and delivery (CI/CD) pipeline. Cloud providers like AWS (ECS-optimized AMI), Google (container-optimized OS) and Azure (Nano Server) have built streamlined OSs designed to minimize the attack surface on the container runtime engine; however security management is still rudimentary and I expect many improvements, such as Aqua integration in the coming year.
Having used them for many years to run internal applications for its search and other services, Google has aggressively promoted containers on Google Cloud. It cites three significant advantages over VMs:
Simple deployment: By packaging your application as a singularly addressable, registry-stored, one-command-line deployable component, a container radically simplifies the deployment of your app no matter where you’re deploying it.
Rapid availability: By abstracting just the OS rather than the whole physical computer, this package can “boot” in ~1/20th of a second compared to a minute or so for a modern VM.
Leverage microservices: Containers allow developers and operators to further subdivide compute resources. If a micro VM instance seems like overkill for your app, or if scaling an entire VM at a time seems like a big step function, containers will make a big, positive impact in your systems.
Indeed, the viral mobile app Pokémon GO was a testament to the scalability of Google's Container Engine, with traffic 50x above what had been anticipated, necessitating a Kubernetes-managed cluster of tens of thousands of cores.
Functions-as-a-service, aka serverless computing, are rapidly maturing since the introduction of AWS Lambda in 2014. I expect 2017 to be a transition year from service provider innovation and experimentation to developer design and implementation. As mentioned in my re:Invent rundown:
AWS improved Lambda asynchronous message handling, added C# and .NET support, introduced Lambda for CDN edge servers and introduced a new IoT platform, Greengrass that embeds a Lambda engine.
Azure, Google Cloud, IBM Bluemix and Oracle Cloud each offer serverless functions that enable efficient, event-driven applications or microservices while insulating developers from associated infrastructure configuration and management. Even as developers learn how to design applications in ways that can exploit them, these services are missing the tooling developers need and are a black box when trying to debug problems, so there's still plenty of room for improvement.
Although enterprise use of public cloud services is rapidly growing, it has largely been hampered by application design philosophies or legacy infrastructure migrations that fail to exploit the abundance of native services that encapsulate sophisticated features. I expect the coming year to be one of significant increases in cloud-native application design and deployment highlighted by the growing use of platform services, event-driven, serverless designs and high-value data analytics, AI and machine learning services. Achieving this will require plenty of work by both cloud service providers and enterprise developers and the symbiotic feedback between the two will undoubtedly lead to unexpected developments, new products and spectacular failures that we will chronicle here throughout the year.