Engineering provided an early prototype of the scheduling engine, but the critical user flow was yet to be defined. My initial approach involved conducting quick interviews with DevOps and internal capacity teams to gain a deep understanding of their specific scheduling needs and to identify common patterns such as seasonal peaks, promotional events, and routine maintenance windows. This foundational research was crucial for shaping an experience that truly met user requirements.
Following the discovery phase, I explored various methods to embed the scheduling model seamlessly into the existing autoscaling UI. This involved extensive testing of different layouts, including calendar-based, table-based, and rule-based options, to assess their clarity and user-friendliness. The goal was to ensure the new scheduling feature felt like a natural extension of the familiar OCI autoscaling environment, rather than a disconnected addition.
The final design culminated in a dual-mode user interface that effectively supported both quick, straightforward scheduling for common patterns and advanced, recurring rules. A key highlight was the inclusion of an inline preview of upcoming scale events, which significantly boosted user confidence before saving changes. Furthermore, the interface provided a visual representation of trends over time, helping users to understand the long-term impacts of their selected cron schedule.
This project directly informed the successful launch of schedule-based autoscaling for Compute instance pools. The official release date for this feature was June 16, 2020. A year later, the work also informed the launch of instance state autoscaling. Quantitatively, the solution demonstrated an average quarterly savings of $2k. The project involved 5 design iterations and, remarkably, 16 lattes consumed, reflecting the intensive effort.
This project underscored several fundamental principles that I now consistently apply in the design of low-code tools: