After very successful Serverless conferences in New York and Tokyo earlier this year, the brightest minds in cloud (as advertised by the organisers) gathered again at the end of October in London, UK.
At API Talent, we’ve been working on serverless technologies for a while. We were really excited to be invited to present at Serverlessconf in London this year. My colleagues Scott Patterson from API Talent and Simon Coward (Xero) presented two of their serverless implementations. Together, we attended the conference – proudly representing the NZ Serverless delegation – and mingled with THE Serverless Champions from around the world. This was a huge privilege and we are extremely grateful for all the support and feedback we received. It was a great conference – very well organised and with an excellent overall community spirit.
During the long flight back, I chatted with Scott about the conference and all things Serverless. Here are some of these reflections:
Me: If I had to name one thing from the conference that really stood out for me, then I would have to go with the excellent Serverless community spirit. The leading and most forward thinking minds in this field discussed very frank and openly the current state of play – including a quite sombre keynote from Patrick Debois, Founder of DevOpsDays. Why do you think that is?
Scott: I think we’ve realised as a community that we have some really solid building blocks available. Now it’s up to us to build really cool stuff! It helps that the technologies we’re using don’t have millions of gotchas like you might find in legacy middleware platforms. There are no hidden secrets needed to use or configure the FaaS technologies, so a developer can jump in and focus on their code. With FaaS you’re limited only by your imagination, and that’s why I think we see such an active and committed community.
Me: How widely will Serverless be adopted?
Scott: We’ve already seen and heard the challenges of implementing Serverless in an Enterprise context – including my own talk at the conference. I’ve experienced these challenges myself on multiple occasions and there are euphemistic journeys involved. Will this hold true for Serverless in this space? Will the influence from evangelists reach critical mass and start to filter into Enterprise-level tools? Some early signs indicate that this is indeed the case but only time will tell the whole story.
Me: What are the biggest obstacles right now for mass adoption and a shift from day 1 towards a mature serverless technology stack?
Scott: The tooling shipped with most serverless technologies is quite limited. With most you get an API to invoke and a CLI to deploy, and that’s about it. There are already several application frameworks doing a great job! These will be essential for integrating the serverless workflows into existing processes and pipelines.
I think for some of us there is an concern about transparency: how does do underlying processes work? Charity [Majors, Co-founder of honeycomb; formerly Parse & Facebook] raised a point from her experience working at Parse. If developers knew the underlying implementations, in this example it was MongoDB, then they would be able to structure their queries in a more efficient way. I do agree with this. I also realise that we like FaaS technologies because we don’t want to care about how it works underneath. Catch 22. We just want to run our code. I think this would be a great topic for further discussion, and I bet most of you have a view either way!
Me: So, what were some common themes that you have picked up from the conference?
Scott: Everyone LOVES Lambda. I didn’t hear a single person wave a red flag, not one. There’s definitely a level of skepticism explained by Charity and Patrick. I think it’s healthy to approach new technologies with caution. We as a community aren’t complaining about the same old things from technology evolution to technology evolution. This means that things are actually changing for the better.
Me: AWS Lambda was by far the most dominant service, despite very interesting talks from other FaaS providers. Some even tweeted that the conference should be renamed to LambdaConf. What impressed you the most about those alternative offerings?
Scott: I need to preface this by mentioning that I’m a Lambda convert. Attending Serverlessconf was a really great way to help me learn about the other offerings in depth. This is something that I hadn’t had time to do prior.
First of all, I thought Webtask was ridiculously simple to get up and running. With only two bash commands, Tomasz [Janczuk, creator of the Webtask.io platform at Auth0] showed that you can write, deploy, and then execute code with an http endpoint. This would be a great entry point for someone getting started with Serverless.
The Azure Functions team led by Chris Anderson explained how their functions work. You can write code in Azure and execute it using an http endpoint with query parameters. This effectively means that instead of writing your values into an event object, you can pass them into the URI.
IBM OpenWhisk provided an advanced development experience. Using the OpenWhisk Debugger, you can define breakpoints in your code. When one is reached, normal function execution drops out from running in the cloud. This then changes to a local execution on your laptop. After debugging as usual, you then simply push the changes straight back to the cloud.
Me: Although Lambda is the most mature offering, which future feature requests do you see as the most valuable?
Scott: There were a few feature requests around tooling and extended functionality in Lambda. We should keep Werner Vogel’s [AWS CTO] explanation in mind: Amazon provides a set of primitives – building blocks – as opposed to proving a framework that customers must use. This means we get the raw materials, materials that we know will be high quality.
We did hear some noteworthy core service feature requests:
- Environment variables – this could allow developers to ship one version of code and run different configurations at execution time.
- Paid priority – this idea could keep a container hot and with higher provisioned resources, for an extra charge.
- Updated Nodejs support – with ES7 on the way, there’s interest in keeping the version support up to date.
- Golang support – several mentions about Go. Certainly a language that seems to be gaining in popularity
Personally, I would also like to see better deployment strategies. For example, with API Gateway at the moment there’s no way to do A/B deployments. You’re pretty much limited to use a Red/Black strategy, i.e. a deployment that is not transparent to the client.
Me: You are a Cloud Architect at API Talent. How has Serverless impacted your work?
Scott: I’ve adopted a ‘serverless first’ mindset where I tell myself I have to have a good reason to stand up a server. This mantra doesn’t always go very far but it’s good to keep it at the top of the mind.
Me: What advice do you have for individuals on how to get started with Serverless?
Scott: Watch a YouTube video, read a tutorial and have a go! It’s actually really simple to get going and you will be able to deploy and run your functions in no time. In particular, because there are no hidden configuration files. Share your journey and be part of the growing community.
Once you covered have the basics, you might possibly run into a few unique gotchas. At that stage, talk to someone who has a bit more experience. Engage a partner who specialises in serverless, like API Talent, to run a workshop and help you through the process.