This insightful talk about Microservices at Netflix was presented by Ruslan Meshenberg who serves as the director of Platform Engineering at Netflix.
At 0:27 he states that the talk would be on the different definitions of microservices and the scaling scenarios they will be employed into.
At 1:03 Ruslan puts forward the concept of microservices, that come with with certain costs which he believes would be a helpful lesson to others to understand their challenges.
At 4:03 he begins by stating that the Netflix wasn’t always present in the cloud nor using microservices in their initial days. There was a great necessity that once decided to host in the cloud environment, the fragile system had to be transferred to the cloud, chiseled piece by piece into microservices.
At 7:10 he puts forward the basic principles, assumptions that were made in chiseling away the microservices from a monolithic architecture. He adds on the assumption contributed to the OSS technologies, building only based on requirements and that the services should be stateless without relying on the sticking sessions and going with chaos testing.
At 10:30 he explains the interesting concept of automatic destructive testing that was designed which helped in proving that the system was resilient. At 12:42 he stresses on the point that the stateless server must be tested in the production phase for best results and that it can be verified using the chaos monkey concept of killing the instances randomly.
He adds on that Netflix always aims for efficiency, innovation, and reliability. At 17:41 he begins to list the chief benefits of the microservices that included the innovation factor wherein the concept of tight coupling never works in the system, the easy systematic end-end ownership cycle procedure right from architecting till the support and the separation of concerns.
At 22:10 he states the important process of migration never happened overnight and that was more of supporting the two tech stacks, doubling the maintenance as well as the data replication process.
At 23:34 he also states that the IPC is very critical and crucial for the loose coupling to existing in the system as it serves as the common language between the services. At 27:36 he introduces the concept of automatic error detection algorithms that gets piped into the automatic remediation algorithm that plays the role of detecting the anomalies and correct in most of the cases without human intervention.
At 29:32 he highlights the role, reliability plays while scaling and the rate of failure in a distributed system is directly proportional to the amount of change that has taken place in a scaled environment. At 32:36 he talks about the library hystrix that has been used to convert the bugs into fallback and make the error handling teamwork on the errors. He further emphasizes that the destructive testing failure that must be taken care of at 33:02
At 36:39 he confirms that the talk on microservices for scaling would be incomplete if the containers aren’t considered. He adds on that the containers always help deliver a great experience, to enhance the scalability level and change the encapsulation level from the VM to the processes. At 38:48 he shares the various useful Microservices resources that are available. He begins by stating the GitHub link, http://netflix.github.com to watch the infrastructure and tooling features.
People will also be able to notice the build and delivery tools and security. At 41:12 he states that the microservices at the scale would require the organizational change as well as the centralized infrastructure. At 42:24 while answering to the audience questions, he states that the telemetry logs that convey everything happening in the system as well as its flaws.
Mr. Ruslan Meshenberg clearly talks about the microservices at the Netflix scale, the principles, and the tradeoffs.