Debugging Microservices

  • Published on
    18-Mar-2018

  • View
    369

  • Download
    7

Transcript

Debugging MicroservicesPhil Calado h6p://philcalcado.com @pcalcado The story so farYour typical architecture circa 2001As business become more tech-awareAIer dropping the users table for the 5th KmeAnd we kept breaking them downDebugging Mono and MicrolithsOne way to go about it1.Write a new test with the reproducKon steps 2.See that test fail 3.Change the code to fix it 4.See that test pass 5.Run all unit testsMy favorite way to go about it5. Run all tests?Debugging Microservices1. Find the relevant virtual circuit 2. Bring up the right components1.Write a new test with the reproducKon steps 2.See that test fail 3.Change the code to fix it 4.See that test pass 5.Run all unit tests3. TestBut the whole is greater than the sum of its parts.The plaYorm ma6ersSo how do we go about it?OpKon 1) ObservabilitySorry, thats all I had. !Observability circa 2010AlerKngTimeoutsThis is your code on microservicesBiz LogicTimeoutsTelemetryAuthorizaKonClient-side Service Discovery~25% of engineering Kme was dealing with cross-cucng aspectsObservability circa 2016Each service has a manifest~10 engineers working on tooling full-Kmerequired a standardized development stackObservability these daysA lot of this is available at the network level Who you are Where you are located geographically Who you need to talk to Your average availability Your security constraints A lot of this is already available to the infrastructureWe need a smart network that leverages this data.h6p://philcalcado.com/2017/08/03/pa6ern_service_mesh.htmlOpKon 1) Service ProxyOpKon 2) SidecarsEarly 2010s => ad-hoc codeMid 2010s => smart build pipelinesLate 2010s => smart networksDebuggability and simplicity arent reasons to adopt microservicesQ&A

Recommended

View more >