NorthStar - Monitoring Microservices using Go
Submitted by Aarthi K (@aarthi-k) on Wednesday, 8 November 2017
Technical level: Intermediate
As we move from a huge monolithic architecture to distributed microservices architecture, it gets more difficult to maintain the performance of each microservice and communication between the microservices.
Each microservice is has it’s own API and a set of standards. A change in one can break another. Generally, this is not caught until it goes to production and something breaks and someone complains about it. By then, there has already been a downtime recorded.
NorthStar provides a bird’s eye view from which you can know how your application is performing and helps you catch failures before your customers do. NorthStar is written in Go and uses Swagger files.
This talk will cover how we built a scalable, high performance system using Go and is intended to provide insight to anyone building a webservice on how to effectively monitor it.
This talk is around how we built a service which can continuously test and monitor your system from the outside.
- Conventional Monitoring
a. Where does it Fail
- How does NorthStar work?
- Why Go?
- Performance - Goroutines & Channels
- Fault Tolerance - Contexts
Aarthi is a Product developer working for the Platforms Team at Freshworks and has worked on a highly scalable real time servicing system using Go. She has also developed NorthStar from the ground up with Go.
When she is not coding at work, she is either reading Jeffrey Archer or trying to cover the huge backlog of articles on Pocket.