In this talk Yunong Xiao describes how abstracting away the infrastructure and common platform components by using a Platform as a Service (PaaS) model can enable service owners to increase both velocity and reliability.
Towards the end of the previous presentation Mastering Chaos – A Netflix Guide to Microservices, which provides a complete overview of the Netflix approach to microservices, at 38:30 Josh highlights that Netflix moved away from the JVM to NodeJS for their web front end components. Yunong provides a deep dive analysis of their use of Node.
The Move to NodeJS
Traditionally, a tug of war has existed between service reliability (availability, consistency, and fault tolerance), and engineering velocity. Increasing speed to fuel product innovation has meant making reliability trade offs.
At 1:25 Mr. Yunong focuses on the concept of the Netflix microservices and the success Netflix has achieved by ensuring the people can enjoy watching video content across any device that exists.
He adds that the user interface has been modern and super responsive thereby making Netflix a hit. At 2:03 he stresses the fact that the data must be taken from the Netflix API and that the API architecture would consist of the cluster of the backend microservices. At 2:38 he emphasizes the importance of the Netflix edge API which helped the clients in uploading their own API to a centralized managed service and possesses the ability to mutate.
At 5:12 Mr. Yunong declares that in the year 2017, nearly 1 ½ of the Netflix API has been converted to the Node JS which played a great role in achieving the scalability.
He further adds that while running on the node, the codecs were launched, and the awareness was spread to the engineers on how to operate on the Netflix API. At 6:06, he introduces the concept of PaaS (Platform as a Service) that will allow the customers to develop, run as well as manage the applications without any complex building or platform maintenance. He adds that PaaS can be used to achieve the velocity and the reliability by usage of the standardized components, pre-assembled platform, and the automation tools.
At 10:02, Yunong elaborates on the importance of standardizing that includes the process of RPC, Registration, Runtime, OS, configuration which results in establishing the consistency. Leverage and enhance interoperability and quality.
At 12:07 he talks about the pre-assembled platform model where the missing components can be identified, analyzed and configured. He adds that Netflix always allows the viewers to pick the plot, and the product innovation for this does not possess a single line of business logic. At 15:18 he talks about the significance of upgrading the specific components in the applications. He also adds that this enhances the interoperability with the other components.
At 16:02 Mr. Yunong Xiao briefs about the concept of Ergonomics where the idea of the JSON based route definition is used and the impact of specifying the REST route for the file components. At 17:24 he introduces the concept of automation and tooling including the skipping of functionality, the CLI for the common dev experience. Some of them included the Env bootstrap, integrating of the tool and the services and the run local and cloud mechanisms.
At 19:03 he puts forward the idea of the local development environment where the live reload happens initially, followed by the attach debugger process with the logs and then the curl with the localhost in the case of docker images for the deployment process.
At 21:23 he lists the deploy and the management services that include the pre-configured pipelines for rollback, and the pre-configured autoscaling, single command deploy to any stacks. He further adds about the automated analytics and tooling that enables the PaaS to NodeJS microservices. Some of the common tools include CPU profiling and the core dump analysis. Thus, through this talk, he briefs about how abstracting enables the service owners to achieve a great level of velocity and reliability.