Presentation: The Present and Future of Serverless Observability
Share this on:
Abstract
As engineers, we're empowered by advancements in cloud platforms to build ever more complex systems that can achieve amazing feats at a scale previously only possible for the elite few. The monitoring tools have evolved over the years to accommodate our growing needs with these increasingly complex systems, but the emergence of serverless technologies like AWS Lambda has shifted the landscape and broken some of the underlying assumptions that existing tools are built upon - eg. you can no longer access the underlying host to install monitoring agents/daemons, and it's no longer feasible to use background threads to send monitoring data outside the critical path.
Furthermore, event-driven architectures has become easily accessible and widely adopted by those adopting serverless technologies, and this trend has added another layer of complexity with how we monitor and debug our systems as it involves tracing executions that flow through async invocations, and often fan'd-out and fan'd-in via various event processing patterns.
Join us in this talk as serverless expert Yan Cui gives us an overview of the challenges with observing a serverless architecture, the tradeoffs to consider, the current state of the tooling for serverless observability and a sneak peek at some of the new and coming tools that will hopefully inform us what the future of serverless observability might look like.
What is the focus of your work today?
At the moment, I’m building the backend services for a real-time multiplayer game on mobile, including an inhouse networking stack that will be deployed globally and supports both TCP and reliable UDP. We’re still doing a lot of tuning, and would put an early alpha build in front of users for external validation on our networking stack as well as general gameplay and meta design, and to get a better idea on the game’s potential to be the next big hit.
What’s the motivation for this talk?
I have worked extensively with AWS Lambda the last 2 years, especially during my previous job as architect at a social networking startup called Yubl, where we learnt a lot about operating a serverless architecture in production and many of the operational challenges that need to be addressed, as the technology itself is still very much rough around the edges.
Since then, the tooling has got better, and through the work by many smart people, more and more developers are waking up to the new constraints and challenges around operations and observability, when it comes to serverless technologies like AWS Lambda. For example, there’s nowhere to install monitoring agents anymore, and you lose background processing, so if you want to send telemetry data it’ll has to be done during your function’s invocation when your user is still waiting on you to respond. Or the fact that, thanks to the deep integration with Kinesis, Lambda has made event-driven architectures easy, and patterns like CQRS has become much simpler to implement in practice. But, tracing function invocations through asynchronous event sources like Kinesis and SNS is not easy, and is not supported out-of-the-box by existing tools like Amazon X-Ray.
The motivation for this talk, is to help the audience understand the constraints, and tradeoffs they have to consider when it comes to choosing the right tool for their observability needs, and the problems with many of the existing tools in the serverless observability space. And finally, I want to excite the audience with what the future of serverless observability might hold, based on some of the things I have seen with new tools that are coming out, and my own prediction for where we can go from there.
How you you describe the persona and level of the target audience?
Someone who is a developer with an operations mindset, and no stranger to the mantra of “you build it, you run it”
What do you “that” persona to walk away from your talk knowing that they might not have known 50 minutes before?
I want them to walk away with a better understand of how the AWS Lambda platform works, and what they need to consider when evaluating a monitoring, or observability tool for their serverless architecture.
What trend in the next 12 months would you recommend an early adopter/early majority SWE to pay particular attention to?
In the serverless space, I think Amazon’s push for serverless application repositories is an interesting area for early adopters to keep an eye on. Essentially it creates a marketplace for you to find and deploy reusable functions into your infrastructure, anything from cron jobs, or utility functions to ship your logs to some log aggregation service, or even complex algorithms, instead of everyone writing them over and over, you’ll be able to share them as parameterised Lambda functions that someone can just deploy into their environment, even entire APIs made up of API Gateway and Lambda.
As Simon Wardley has said time and again, the IT world is so rampant with duplication, this can be the way for us to crawl some of the wasted effort back and delegate things that aren’t essential to our business to someone else, just like we do with many software and libraries that we depend on already, but rather than getting the parts that we need to integrate ourselves, we get them wholesale and ready to run in production.
Of course, I don’t expect it to be a silver bullet, and how well it works would probably depend on how AWS has enabled the discoverability of these shearable functions, but it’s certainly something that’s worth watching out for.
Other than that, there are so many trendy things happening right now, VR, AR, blockchains, graphQL, AI, too many to list really :-) It’s a great time to be in tech!
Last Year's Tracks
Monday, 5 March
-
Leading Edge Backend Languages
Code the future! How cutting-edge programming languages and their more-established forerunners can help solve today and tomorrow’s server-side technical problems.
-
Security: Red XOR Blue Team
Security from the defender's AND the attacker's point of view
-
Microservices/ Serverless: Patterns and Practices
Stories of success and failure building modern service and function-based applications, including event sourcing, reactive, decomposition, & more.
-
Stream Processing in the Modern Age
Compelling applications of stream processing & recent advances in the field
-
DevEx: The Next Evolution of DevOps
Removing friction from the developer experience.
-
Modern CS in the Real World
Applied trends in Computer Science that are likely to affect Software Engineers today.
-
Speaker AMAs (Ask Me Anything)
Tuesday, 6 March
-
Next Gen Banking: It’s not all Blockchains and ICOs
Great technologies like Blockchain, smartphones and biometrics must not be limited to just faster banking, but better banking.
-
Observability: Logging, Alerting and Tracing
Observability in modern large distributed computer systems
-
Building Great Engineering Cultures & Organizations
Stories of cultural change in organizations
-
Architectures You've Always Wondered About
Topics like next-gen architecture mixed with applied use cases found in today's large-scale systems, self-driving cars, network routing, scale, robotics, cloud deployments, and more.
-
The Practice & Frontiers of AI
Learn about machine learning in practice and on the horizon
-
JavaScript and Beyond: The Future of the Frontend
Exploring the great frontend frameworks that make JavaScript so popular and theg JavaScript-based languages revolutionising frontend development.
-
Speaker AMAs (Ask Me Anything)
Wednesday, 7 March
-
Distributed Stateful Systems
Architecting and leveraging NoSQL revisitied
-
Operating Systems: LinuxKit, Unikernels, & Beyond
Applied, practical, & real-world deep-dive into industry adoption of OS, containers and virtualisation, including Linux on Windows, LinuxKit, and Unikernels
-
Architecting for Failure
If you're not architecting for failure you're heading for failure
-
Evolving Java and the JVM: Mobile, Micro and Modular
Although the Java language is holding strong as a developer favourite, new languages and paradigms are being embraced on JVM.
-
Tech Ethics in Action
Learning from the experiences of real-world companies driving technology decisions from ethics as much as technology.
-
Bare Knuckle Performance
Killing latency and getting the most out of your hardware
-
Speaker AMAs (Ask Me Anything)