Saturday, October 10, 2020

Network engineering continued ...

 This is a continuation of the earlier posts starting with this one: http://ravinote.blogspot.com/2020/09/best-practice-from-networking.html 

Leveraging monitoring of the host: When an application is deployed to Platform-as-a-service, it no longer has the burden of maintaining its own monitoring. The same applies to a networking service as a product depending on where it is deployed. The deeper we go in the stack including the fabric below the networking server, the more amenable they are for the monitoring of the layer above.

Driver verification framework: Not all network actions are fire and forget. Some of them may be state-driven and since there can be any amount of delay between transitions, usually some form of driver verifier framework consistently proves useful to network software development. The testing with such a verifier helps exhaust protocol exchanges.

There are time periods of peak workload for any networking product. These products serve annual holiday sales, specific anniversaries and preplanned high demand. Utilization of the product under such activity is unusually high. While capacity may be planned to meet the demand, there are ways to tune the existing system to extract more performance. Part of these efforts include switching from being disk-intensive to performing more in-memory computation and utilizing other software products to be used with the networking server such as Memcache.

When the load is high, it is difficult to turn on the profiler to study bottlenecks. This can be safely done in advance in performance labs, but an even easier strategy involves selectively turning off components that are not required and scaling the component that is under duress.   A priority list of mitigatory steps may then be curated prior to periods of heavy loads.


No comments:

Post a Comment