Yesterday, we had the opportunity to attend the excellent ServerlessDays Zurich event which brought together folks interested in serverless technologies in Zurich. It was an all day event with 66 folks in attendance.
The day opened with a wide ranging talk from Yan Cui talking about how we got to where we are today, what exciting opportunities serverless gives rise to, perceived open issues which are often not as serious as people think and where we are going. Specifically, he talked about the movement from monolithic to microservices based architectures and more agile practices generally. In this context, serverless practices constitute a completely different development paradigm. A few nuggets from Yan’s talk (see figure 1) include the fact that while it is perceived that Lambda supports arbitrary scaling, in practice there are limits: there is a published limit of 1000 functions running concurrently which is AWS is willing to modify given some understanding of customer requirements but the more critical constraint is rapidly increasing the number of containers. It is currently difficult to scale the number of containers serving functions at a rate of more than 500/min and this is more difficult for AWS to adjust. Although Yan’s talk had a strong AWS focus, he also mentioned some new capabilities from Azure to address the cold-start issue: Azure functions supports specification of a min and max number of container instances running at any time.
AWS themselves gave a couple of interesting and entertaining talks. Frank Munz could not resist the opportunity to showcase Kelsey Hightower noting that AWS is the gold standard when it comes to serverless. He then went on to give a whistle stop tour of the very wide range of the services underpinning Lambda which provide the real power to the functions. His colleague Danilo Poccia focused on good practices using serverless in a development environment – a key take away for us is that serverless supports notions of infrastructure as code, but it’s at a qualitatively higher level than that reflected in the current thinking in most of the ‘infra-as-code’ discourse as changes are much easier/less invasive. He also gave good pointers on types of communications flows in serverless applications – when to use queues, when to use pub/sub and when to use workflows.
There were other interesting talks from local users of AWS – Marcin Zasepa from homegate noted how they had greatly improved their productivity and migrated a lot of homegate from a monolithic application to a largely serverless architecture. They struggled with a shortage of best practices and experience when starting this journey but things are improving today – local development vs cloud development was an issue and testing problems were also a significant pain point. Michael Wittig gave a fun and interesting talk on how to deal with somewhat unpredictable execution of Lambda functions on AWS (unexpected repeated invocations, out of order execution) – an essential aspect of this was a deeper consideration of idempotent vs non-idempotent functions (see figure 2) which needs to be borne in mind when using the platform.
The non-AWS perspective was also represented. Laurent Picard from Google gave a very entertaining talk which very much focused on the advanced capabilities of APIs offered by the Google Cloud Platform – vision and video analysis, text/speech conversion and more general machine learning (slides). He then showed how relatively simple functions can be written to leverage these powerful primitives. Duy Nguyen and Mortiz Raho from Adode described how they had used Openwhisk to add an extra programmability layer (supported by an advanced GUI, see Figure 3) to Adobe Creative Cloud enabling users to easily deploy functions which could automate image processing tasks which are important in many industries and were often quite manual tasks heretofore.
Overall, we were delighted to see that the serverless community is alive and well here in Switzerland. Naturally, there is a lot of interest in AWS solutions but we see this as evolving and we envisage greater interest in open source solutions in future – the sector has a clear understanding that the power of serverless platforms is in the services underpinning the functions, which means that the value in the function management platform itself is limited. Consequently, it is likely that Open Source serverless platforms which can span multiple providers will increase in importance as is happening with Kubernetes.
The best line of the day was definitely one from Szilvester Farkas from Rackspace – after developing multiple variants of function and infrastructure management tools, they eventually concluded that they were no longer satisfied being yaml engineers!
All in all, a fun day filled with good conversations with excellent people. Roll on serverless days 2020,,,