Implementing effective observability is incredibly easy in this age of cloud services. Services such as Application Insights automatically start taking most metrics and basic logs, even implementing tracing with correlation IDs (a fairly complex and high-maintenance job to do yourself, as you have to make sure you forward on the correlation ID to every service). It's also absolutely vital for complex distributed systems where errors can be difficult to isolate, which is usually the case with serverless architectures.
In this chapter, you have integrated Application Insights into an Azure Function. You've written structured logs, integrated Application Insights with a client-side application, and used your skills to locate an error with a serverless function. In the next chapter, you will learn what chaos engineering is, and how to apply it to serverless systems.