Wednesday, January 10, 2024

Edge Tech Realities - Part 1 - Web Performance

The edge technology has improved severalfold in the last decade or so. In the late 2000s, I used Akamai to serve static content for several market-leading clients. These platforms typically made the application calls lesser and improved the performance and latency of the websites. 

Last year or so, I have been working with Microsoft Azure's front door, and this is when I realized in detail that, like any technological advancement, edge platforms have their fair share of disadvantages and practical challenges. 

First and foremost is the application performance. Recently, after caching all static pages on the CDN, a global website that I was part of surprisingly increased its average page load times. That's when I realized that the distribution of resources across multiple edge locations can lead to inconsistencies in processing power and network connectivity. Also, the page load times will differ based on where the nearest edge locations are present. 

Also, I learned that with Microsoft Azure backbone networking, the distributed nature of edge platforms and their edge servers are not created equal. They differ in processing power, storage capacity, and network bandwidth. Based on the logs, some users had slower response times, as their requests were directed to an underperforming edge server. 

In a web application whose static content needs frequent updates, the purging of the cache happens very often. This will need a very close synchronization between all the edge servers. A lot of times, it takes time for these edge locations to be in sync, and the more the purges, the more inconsistencies.

Lastly, if there are sudden spikes in traffic, say due to promotional campaigns or seasonal traffic. Scaling of edge servers may not always be instantaneous, leading to performance bottlenecks. Though this can be only for a certain period, it still impacts the end user.


Building Microservices by decreasing Entropy and increasing Negentropy - Series Part 5

Microservice’s journey is all about gradually overhaul, every time you make a change you need to keep the system in a better state or the ...