TL; DR There is a dramatic shift underway in how many in house, and commercial, DevOps tools are being created and used
The growth in interest in serverless computing continues at pace, and for many organisations serverless technologies such as AWS Lambda, Azure Functions or Google Cloud Functions are becoming an essential part of their development and operations toolkit.
While some commentators see “functions as a service” as a logical end game in the evolution of microservices, we disagree, rather functions will be part of an overall continuum of development approaches. However, when understood and used properly, functions are already a very disruptive and efficient model for certain classes of applications, and the scope for their usage is rapidly expanding.
One of the more interesting immediate evolutions, alongside the volume compute aspects we have previously noted, is in the use of serverless approaches by DevOps practitioners for dealing with tasks that were previously dealt with by having a dedicated virtual machine, or more recently containers, and a set of scripts in place. The kind of tasks that we are hearing about range from simple log processing, to tagging and identifying development instances for utilization monitoring to far more complex streams of activities which are processed and pushed into other cloud based services.
There are three key aspects to keep in mind here.
- The traditional write a script and fire up a virtual machine or container model is being quickly disrupted – serverless becomes an obvious choice if you can bring value without the additional administrative overhead of another environment, especially when functionality such as time based scheduling is available.
- DevOps teams are beginning to think more about using far more add on services then many have historically – from a cloud provider’s perspective there are significant margin upsides when adjacent services come into play.
- The approach to creating a whole subset of tooling is changing, from choices on development languages, to infrastructure and more.
The potentials for new offerings are significant, one area in which there is a large opportunity is a market for useful tools that can be conceivably be charged for a per usage basis, bringing the pay as you go model to a new level of granularity. It could be argued that per api call billing achieves this, but the modularity of per function where a function could call multiple apis is attractive.
The Serverless Framework
Here at RedMonk we frequently talk about the value of packaging, indeed we ran an entire conference around the theme recently – and the serverless framework is an excellent example of packaging for developer convenience and productivity.
The Serverless team have recently added support for both Azure Functions and Apache OpenWhisk, and are cementing their place as the most important starting point for many developers looking at serverless technologies.
As we look across the various serverless offerings that we hear being discussed the Serverless framework has a huge lead over everything else. That said it meets a specific need, and some organisations are looking at other approaches such as open source offerings like OpenWhisk or frameworks which run on a platform such as Kubernetes.
Open Source Alternatives
There are several active open source projects in the Serverless space and these projects loosely fall into two camps – those that are planning to run on Kubernetes, such as Fission, Kubeless and Funktion; and those that want the ability to run independently, or across a number of platforms, such as OpenWhisk, Iron Functions or Funcatron.
Looking at interest on GitHub, we see that OpenWhisk, which originated at IBM and is now an Apache Foundation project has had slow but steady growth over the last year. Iron Functions from Iron.io and Fission from Platform 9 both show big jumps in initial interest around their launch – it will be interesting to track their momentum over the coming year.
It should be noted that offerings on Kubernetes currently see a significant level of interest from early adopters by virtue of association. How this will translate into commercial activity remains to be seen, as the obvious oxymoron of adding an administrative overhead to run serverless comes into view.
The notable newbies on the block are Kubeless from Skipbox, and Funcatron. We have heard both mentioned in more than just passing in recent conversations and expect to see further developments and momentum for both projects in the coming months. Funcatron has a specific focus on supporting developers who are familiar with frameworks such as Spring Boot, which looks to be a very sensible approach given the rapid growth in Spring Boot we have previously noted.
Looking to the Future
The overall momentum for serverless technologies is significant, and the DevOps area we touched on here is just one of the many areas of the computing landscape that will be fundamentally altered over the coming years.
We expect to see significant use cases across Internet of Things use cases, data processing and related areas in the short term, with more complex function chains emerging over time.
Credits: Three Gorges Dam Picture from Wikipedia, Creative Commons 2.0 License
Disclaimers: Amazon, IBM and Microsoft are current RedMonk clients.