#Functions17 — Conference Recap
August 25, 2017 at TELUS digital, Toronto
TechMasters hosted their first conference focused on Functions as a Service (also known as “FaaS” or “serverless”). It was co-planned with Full Stack Toronto, DevTO, Toronto JS, and Functional TO. The speakers and their talks complemented the FaaS topic perfectly by covering concerns such as open standards, security, adoption, and what situations make using FaaS appropriate. The conference lasted a full day, and attendees learned about the tools, emergent standards, use cases, and future of serverless architecture.
What is FaaS? How do we make it useful?
The opening speaker, Kassandra Perch of IOpipe, set the stage by onboarding attendees to the world of serverless architecture:
There really are servers. Functions as a Service aka serverless is kind of a misnomer; you just don’t care about what OS they’re running or where they’re running. All you really care about is what runtime your code is being run in and then you write code and deploy it.
Perch then addressed the roller coaster in the room: almost every software innovation undergoes the same adoption pattern: hype, rapid adoption, rapid disinterest, and then stable growth. Perch believes the best way to smoothen the rapid disinterest is to actively support great development, diagnostic, and visualization tools. Whether they be for a community or business, they are key factors to successful growth.
These points rang true for the remaining sessions: whenever a subsequent speaker presented a service with attractive tooling, the audience was intrigued.
How did we get here?
The CEO of StdLib, Keith Horwood, follows up with a story about the history of related tech stacks, namely the famous LAMP stack, and how we managed to bring ourselves back to how things were in 2000. Their talk segued into FaaSLang, a new open initiative by StdLib that aims to make deployments to various FaaS providers easier. I enjoyed this diagram representing developmental cognitive overhead across latent scalability:
Seeing how things were when PHP made it easy to ship applications before it introduced object-oriented principles, it’s uncanny how serverless providers such as AWS Lambda brought this back, but in their own way.
The serverless playing field
Representing Microsoft Azure, Joe Raio showcased a massive demo of Azure’s web interface featuring all capabilities expected from developers including tools for development, diagnostics, and visuals — which is great to see after hearing the ideas from Perch’s earlier talk.
These recurring themes appeared during subsequent talks about Apache OpenWhisk (by Daniel Krook of IBM), Spring Cloud and Pivotal (by Adib Saikali and Stuart Charlton of Pivotal), and Firebase (by Sandeep Dinesh of Google). One pleasant surprise after another, attendees learned about the potential of hosting scalable functions written in JavaScript or Java. Best of all, it’s incredibly quick to set up development, staging, and production environments, have parity between them, and rapidly deploy changes to whichever service you like.
Concerns surrounding serverless
Anyone working in developer or systems operations would know about 12-factor; which is a methodology for environment setup automation to minimize time and cost for new developers joining a project. Chris Munns of AWS elaborated on how each factor affects the serverless application model. One delightful takeaway is several factors in the 12-factor model are already handled for you once your functions are deployed to a FaaS backend. 🎉
In an enterprise setting, where server architecture is often complicated and heavily gated, Adrian Maurer of CGI shared some insight on how to deploy functions for an enterprise and still rapidly test on production. View their talk for more details.
Representing the JS Foundation, Darcy Clarke introduced attendees to Architect — an open standard designed to make FaaS applications easy to create from scratch and hook into your favorite serverless provider for deployment. It is open source and can make for a great long-term solution for developing applications with minimal configuration. With so many emerging service providers, each with their own set of configurations, Architect separates concerns over development and deployment. All you need to do is focus on your codebase.
Conclusion
For a relatively new industry concept, the Functions17 conference provided well-rounded coverage to support a wide variety of developer contexts. In the end, it was clear that FaaS is not just an easy solution for writing back end logic for front end applications, but can benefit a wider variety of developer needs. Topics surrounding community standards, security, scaling, datastores, developing in languages other than JavaScript, building enterprise-grade services, scoping out great tools, and all other concerns discussed during the Q&A panel were amply covered. It’s important to note that like any other shiny new thing, try to see past the hype and learn whether FaaS can provide real value to you. The talks linked below are a great place to start learning!
References
Full conference playlist:
Tools and services:
Stay in touch!
If you were an attendee or wish to keep up-to-date with the latest software tech and people around it, join the conversation with #TechMasters.