Scaling applications with Azure Redis Cache and Machine Learning - Stefano Tempesta
In a multi-tier application, bottlenecks may occur at any of the connection points between two tiers: business logic and data access layers, client and service layers, presentation and storage layers, etc. Large-scale applications benefit of various levels of caching of information for improving performance and increasing scalability. Caching can be configured in memory or on some more permanent form of storage, in different size and in diverse geographic locations. The open source Redis engine, as implemented in Azure, allows for an intuitive configuration of management of all these aspects, and utilisation from a variety of programming languages. At EF Education, our applications are used by hundred of thousands of students and staff members daily in 150+ locations world-wide. How do we scale to this mass? How do we optimise performance across regions? This session presents design best practices and code examples for implementing the Azure Redis Cache and tuning the performance of ASP.NET MVC applications, optimising cache hit ratio and reducing “miss rate” with smart algorithms processed by Machine Learning, and for automating and monitoring the deployment of the Redis cache across different tiers, persistence layers and replicated nodes.