Proactive Resume and Pause of Resources for Microsoft Azure SQL Database Serverless - Poppe, Olga; Arora, Pankaj; Sharma, Sakshi; Chen, Jie; Pandit, Sachin; Sawhney, Rahul; Jhalani, Vaishali; Lang, Willis; Guo, Qun; Inumella, Anupriya; Sridhar, Sanjana Dulipeta; Gala, Dheren; et al. (SIGMOD, 2024)
Demand-driven resource allocation for cloud databases has become a popular research direction. Recent approaches have evolved from reactive policies to proactive decision making. These approaches leverage not only the current resource demand but also the predicted demand to make more informed resource allocation decisions for each database and thus improve the quality of service and reduce the operational costs. We present an infrastructure that enables proactive resource allocation capabilities for millions of serverless Azure SQL databases. Our solution finds near-optimal middle ground between high availability of resources, low operational costs, and low computational overhead of the proactive policy. We describe the design principles we followed and the architectural decisions we made during this cross-team, multi-year journey. Given the size and scope of our solution, we believe that the relational cloud databases in other companies could benefit from the proactive resource allocation capabilities.