Serverless Frameworks at Serverlessconf London 2016
The emergent theme for the second day of Serverlessconf London 2016 was the availability and functionality of management frameworks to address the operational issues highlighted on day one. The Node.js based Serverless Framework featured in at least three talks, and there was also coverage of Zappa, a more opinionated Python based framework.
The Serverless Framework was introduced by its CTO Florian Motlik in his talk ‘Getting the Most out of the Serverless Framework’, where he put great emphasis on attracting contributions to the project and the quality of their documentation. Whilst the Framework itself is written in Node.js, it also supports Python, Java and Scala for writing functions. Having initially targeted AWS Lambda, the framework now also offers support for Azure Functions and Google CloudFunctions. ‘Hello World’ type demos that blend code and infrastructure configuration show similarities with compositing tools like Docker Compose, however an extensive library of services and plugins make the framework far more extensive in its breadth and depth.
Coverage of the Serverless Framework continued with Xero’s Simon Coward and API Talent’s Scott Patterson talking about its place in their ‘Serverless API in the Enterprise’ story. They’d taken advantage of the framework to help build out a large number of interconnected API gateway entry points and functions in order to provide a data aggregation service to support new integration capabilities from the Xero SaaS accounting platform. A key point was that the web user interfaces for services like Lambda might be helpful for short duration discovery activities (e.g. spikes), but a framework was necessary for managing the growing complexity of production environments.
The extensibility of the Serverless Framework was revisited in Anna Doubkova’s lightning talk ‘Writing Serverless Plugins’, where she gave some practical examples of not just using the framework, but adding functionality to it in order to satisfy specific needs.
Zappa was introduced by its creator Rich Jones in his talk ‘Globally Available Serverless Architectures’. Whilst the purpose of the presentation was to illustrate the deployment of apps to multiple regions, in order to satisfy latency needs and/or regulatory demands, Jones also segued into an overview of Zappa before illustrating how it could be used to simplify deployments across many regions. Zappa is written in Python, and it can be used to simplify the deployment of Python based apps. At present Zappa targets the AWS Lambda and API Gateway services.
The use of frameworks Serverless Framework and Zappa illustrates a broader point that many speakers touched on, which is that rather than shifting to infrastructure as code, serverless computing to code as infrastructure - so the functional code gets placed into a broader infrastructure definition rather than configuration management being an afterthought tacked on to a continuous integration pipeline. Following his ‘The Future of Serverless’ talk, Paul Johnston commented that Serverlessconf was maybe just a ‘super advanced cloud conference’. Whether that’s true or not, the event had the community feel and vibrancy that comes with any new technology in its early days.