I spent three days at the end of October at Serverlessconf London. The London conference was the third of it’s type worldwide after events previously held in New York in the summer, followed by Tokyo in the Autumn.
The conferences, relatively small at this point with around 400 attendees, are focussed around a new application design and development pattern using a ‘serverless architecture’.
There’s a growing buzz around serverless right now. It’s the new black for cloud app development.
Essentially, serverless is a methodology where the infrastructure that an application runs on is completely abstracted away from the developer - to such an extent that they do not have to think about, manage or in any way care about the lifecycle of DC / Cloud resources that are ultimately executing their application code. The containers, VMs, physical hardware or whatever else their code may run on / in becomes somewhat redundant to the developer. Developers simply develop code, then deploy it to a ’serverless cloud service'.
And there’s no shortage of service offerings springing up from cloud vendors to augment this new approach.
These services range from the large cloud players such as, you guessed it AWS (Lambda service), MSFT (Azure Functions), Google (Cloud Functions) to smaller players with a dedicated focus, like Iron.io for example. There’s also opensource efforts in the serverless space already with IBM’s OpenWhisk offering (which as you’d expect, IBM will offer services around). In short, there’s an ecosystem of service suppliers expanding to feed this new development methodology, even as I type.
Now, to clarify, of course there are still servers involved in the deployment and execution of the application and it’s code logic - it’s clearly not some form of magic wizardry - but the ’serverless’ name tag comes from how developers see the approach. Not operations (But you still need operations. More on that later).
I attended the conference in the knowledge that the buzz and hype around this methodology was growing and braced myself for an event very much slanted toward development and might be somewhat blinkered to the reality of operations and real world deployment of serverless applications.
But, I was really surprised by the realism and pragmatism in the room.
The keynote, provided by Patrick Debois, of DevOpsDays founding fame, was upbeat but cautionary, very much tailored to calling out the areas that need to be considered in further detail - like security, deployment, cost considerations and challenges to be faced.
There were a number of talks focussed on the operational aspects of creating, deploying and managing applications based on infrastructure that had been completely abstracted away and managed elsewhere by third parties. They were honest, interesting and pointed out many of the pitfalls and lessons that had been encountered when building serverless applications.
Across the two talk tracks available each day, there was a also a good intersperse of technical session (including, global scaling concerns, DB / state persistence, streaming analytics and more) and high level explanatory / product sessions (including a cracker from the IBM OpenWhisk team), that provided something for everyone.
There was also the opportunity of a bonus third day of hands on workshops. The workshop that I attend involved creating a serverless bot, that could tell me the weather in certain cities of the world given a date, when I asked it. A really fun exercise that allowed me to understand the basics of some of the serverless offerings out there and also the serverless framework, which I can recommend keeping an eye on, with a cloud agnostic approach in the pipeline off an open source base.
To summarise three days the best I can to anyone with severe blog attention issues, here’s the list of key take-aways:
Best Practices in Serverless Architectures are required.
Strong Ecosystem: There is a growing ecosystem of services, tools and frameworks being developed in various states.
Serverless is already here: There are serverless applications already out in production, in use today and who’s businesses depend on them.
Serverless != Functions-as-a-Service (FaaS): Serverless is an architectural style, which FaaS is a service within that architecture (like lambda), accompanied by many others, including API Gateway services, messaging and event services, queuing, DB Store and more that makes a serverless architecture tick.
followed by a list of key lessons and challenges:
Pick your serverless use cases carefully: Serverless application architecture is not appropriate for all use cases (for example, how do you manage long running task or those with high data storage / retrieval needs).
NoOps is somewhat of a myth: There are still many aspects of operations required for a serverless application (like performance, availability, debugging, logging, metrics etc.). The developer just has to be more operationally considerate in the serverless development model.
You will face challenges: These challenges include time to upskill and learn from mistakes, operation / management needs in a serverless world, configuration management requirements and a lack of mature tooling.
There’s so much more detail of course, but not for this post! I’ll save that detail for further updates.
I walked out of the conference with a very rounded understanding of the major players, the state of the technology and services available, the ongoing development (both in terms of serverless services and serverless applications) and the challenges yet to be overcome and the community face.
For a new technical paradigm in it’s infancy years, the community is showing great maturity in it’s willingness to embrace realism.
I'm trying to composite 2 different camera inputs, and have the configuration remain 'sticky'....stays that way no matter what else you do on the codec. The command 'xCommand Video Input SetMainVideoSource ConnectorId:1 ConnectorId:2 Layout:Equal' in...
Hi Dev Community 👋😄I'm very excited about the developer's API for Webex, especially the option to create a chatbot: https://developer.webex.com/However, from what I understand in the documentation – this API is designed for Webex Teams. I'm looking...
Hi, I am getting results from the API for clientSessions using .full=true, but they are not the latest results. I have tried using a filter, but get back a 400 result I am guessing from my syntax. I want to get back the last day's results...
I'm experimenting with the Genie / pyATS scripts to remotely gather configurations so they can be compared. When I try to connect the SSH session is hanging indefinitely.Upon further review I realized that due to our custom tacacs+ implementation we...