Proactive Resume and Pause of Resources for Microsoft Azure SQL Database Serverless

  • ,
  • Pankaj Arora ,
  • Sakshi Sharma ,
  • Jie Chen ,
  • Sachin Pandit ,
  • Rahul Sawhney ,
  • Vaishali Jhalani ,
  • Willis Lang ,
  • Qun Guo ,
  • Anupriya Inumella ,
  • Sanjana Dulipeta Sridhar ,
  • Dheren Gala ,
  • Nilesh Rathi ,
  • Morgan Oslake ,
  • Alexandru Chirica ,
  • Sarika Iyer ,
  • Prateek Goel ,
  • Ajay Kalhan

SIGMOD |

Published by ACM | Organized by ACM

DOI

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.