Serverless interview: AIOps steps in when things get too complex for humans
Serverless computing is a hot topic, and as more and more companies and ecosystems adopt it, computing environments get more and more complex. We spoke to Matt Chotin, Senior Director of Technology Strategy at AppDynamics about using application performance monitoring and AIOps to improve your serverless setup.
JAXenter: The term itself, “serverless”, is a rather misleading buzzword – servers are still involved. In addition, everyone seems to understand serverless to mean something different (i.e. FaaS or BaaS). What is serverless for you?
Matt Chotin: We look at serverless primarily as FaaS, code that is deployed to execute without worrying about the underlying infrastructure or environment (as contrasted with containers where you may not worry about the hardware but you still rely on the container to provide an operating environment).
JAXenter: Paying as you go is all well and good, but costs can get out of hand quickly if applications or programs are not properly optimized to keep the processing required light. This can involve a lot of work before a serverless setup becomes viable, so why use serverless computing?
Matt Chotin: Different applications have different requirements and some are more suitable to serverless than others, and some you can really go either way. Applications that are used very infrequently (e.g., nightly jobs) are perfect for serverless because you don’t need to worry about maintaining an environment for the job. Applications with unpredictable yet “bursty” load could also be suitable so that the scaling properties can be maintained by the serverless environment instead of by your code or infrastructure teams. That said, with enough work one can also solve most of these in their own environments leveraging orchestration systems or other techniques. It really becomes a question of where time and money should be spent for your particular organization.
JAXenter: Serverless is often a feature of DevOps setups, used to automate simpler and more mundane tasks. After a while, this must lead to some extremely complex environments. How can application performance monitoring help with this?
Matt Chotin: Because a serverless function is so “small” on its own it becomes connected to many other systems, be they databases, message queues, other functions, etc. It can be difficult to track execution flow, dependencies, and performance throughout all of these. This is where a modern APM can help, by watching how the function itself executes but also by understanding all of the touchpoints and external calls and continuing beyond. We have seen that many of our customers are slowly introducing serverless functions for new functionality, but those functions may then communicate with older applications in the same transaction. A proper APM solution should be able to follow traffic all the way through regardless of the execution environment.
JAXenter: This approach of using monitoring programs to support DevOps has been called AIOps. What would you say are the most compelling reasons to pursue an AIOps setup?
Matt Chotin: AIOps is really an evolution of operational monitoring that recognizes that the increased complexity of computing environments is too much for humans to navigate on their own. The “AI” is really about leveraging machine learning to correlate the massive amount of data coming from the various applications and systems and drawing insight to understand why something may not be performing and make recommendations to the operator for how they can resolve an issue. AIOps is not compelling to users with small environments who are able to operate as an island; but for those managing growing, heterogeneous environments, AIOps makes it possible to monitor everything and have enough time to actually innovate as well.
JAXenter: Do you have any examples of how AIOps and APM have benefitted your customers?
- Paychex: Working with AppDynamics allowed Paychex to achieve newfound visibility and reduced major incidents by nearly 70%.
- Carhartt: With AppDynamics, the company achieved end-to-end visibility across its entire ecosystem and realized immediate value by focusing on specific processes like ordering, inventory, and checkout.
- Care.com: With AppDynamics, Care.com identifies elusive performance problems, improves code quality in development and reduces mean time to resolution.
Thanks a lot!