<div dir="ltr"><div>Hello everyone,</div><div> </div><div>I&#39;d like to share some points from a  meetup on Wednesday, April 26, at Facebook&#39;s office.</div><div><br></div><div>The first speech is about Linux Network Switches from Martín Beauchamp, Shapeways on.  He mentioned GIFEE. GIFEE means Goole Infrastructure For Everyone Else. &#39;EVERYTHING at Google runs in a container&#39; Joe Beda, a senior staff software engineer at Google. From the perspective, the GIFEE has an intersection with the word.</div><div><br></div><div>In this speech, the speaker introduced some disadvantages in old network topology(3 layers structure). As we know, Over the years, networks started to use the &quot;fat tree&quot; model of connectivity using the core - distribution - access architecture. However, The problem with traditional networks built using the spanning-tree protocol or layer-3 routed core networks is that a single &quot;best path&quot; is chosen from a set of alternative paths.  All data traffic takes that &quot;best path&quot; until the point that it gets congested then packets are dropped. </div><div><br></div><div>Thus, the speaker introduced a new topology, CLOS Topology. Clos networks have now made their second reappearance in modern data center switching topologies.</div><div><br></div><div>In Clos topology, every lower-tier switch is connected to each of the top-tier switches in a full-mesh topology. If there isn&#39;t any oversubscription taking place between the lower-tier switches and their uplinks, then a non-blocking architecture can be achieved. The advantage of the Clos network is you can use a set of identical and inexpensive devices to create the tree and gain high performance and resilience that would otherwise cost must more to construct. I think the point is suited for distributed system. As we know, distributed system can lower the cost of devices and gain not bad performance.</div><div><br></div><div><br></div><div>The second topic is about Automating The Linux Kernel Validation from Yannick Brosseau, Facebook. </div><div><br></div><div>At Facebook, they push hard to always be running recent kernels. That have many benefits but also means that we need to continuously validate these new kernels. </div><div><br></div><div>In this presentation, he presented an overview of the kernel testing infrastructure that they built that integrate many of the testing tooling provided by the community. What&#39;s more, he presented the efforts of the Linux community to improve the available testing tools and their automation. </div><div><br></div><div>The last topic is about Dependency Traps for Microservices.</div><div><br></div><div>When you use the Internet, you contact with remote servers, and that will return what you want. It seems like the remote server is a just machine, you ask and it will give you answer. This is a black box thinking. But as we know, the remote server is composed of two parts, Frontend, and Backend. The front end is the interface of clients, which usually provide interaction UI with clients. it&#39;s responsible for exchanging information. Backend accepts clients&#39; requests, and then deals with these different requests,</div><div><br></div><div>There are three main section in backend, network access control list (ACL), Encryption and Databases. </div><div>yes, in these sections, they also have their backend(client) and frontend(server). In general, the frontend will deliver requests to the backend, backend sends what it get to encryption section to decrypt the contents from requests. </div><div><br></div><div>Got the requested content, the backend will check the ACL whether services are allowed, if allowed, and then encrypt request and send it to databases.</div><div> </div><div>The model looks like well, But Silvia presents some potential dependency problems may come from the multiple servers. That demonstrate microservices dependency design should not be overlooked. </div><div><br></div><div>She mentioned that dependency design must make sure:</div><div><br></div><div>1. Differentiate between bootstrap and runtime dependencies</div><div>2. Avoid local dependency cycles</div><div>3. Avoid bootstrap dependencied satisfied remotely.</div><div><br></div><div>At last, I almost understand the third presentation and the first presentation, However, about the second presentation, I just master a part of it. But whatever, I touch the frontier development, that&#39;s the point of the meetup.<br></div><div><br></div><div>Thanks for your reading!</div><div><br></div><div>Wenyou Huang</div></div>