How do you know where the bottlenecks are in your service and how do you measure your improvements? As systems become more distributed and heterogenous it becomes increasingly difficult to answer questions about performance, reliability, and ultimately, end-user user experience. This talk is aimed at developers who are getting started with instrumenting and monitoring their services within a micro services architecture running on common public cloud platforms. It will cover the essentials such as collecting basic performance metrics, how to visualise these metrics, and how to incorporate them in SLAs. We’ll also talk about distributed tracing, events, and logging and how they can help developers fix bugs and diagnose outages quickly. These tools shouldn’t remain the realm of SREs or “DevOps engineers”—in an organisation with strong DevOps practices, developers should be responsible for measuring and setting performance targets of the services they build. By collecting this performance data, teams can justify how they spend their time and effort and prove when they’ve done good.