Maestro logotype

Maestro’s Scheduling Pyramid

February 25, 2023

The value of proper scheduling is hard to underestimate. With modern enterprises having hundreds of instances across multiple clouds, arranging proper scheduling requires specific attention. This applies both to organizing the infrastructure and creating an effective scheduling plan.

Some time ago, we spoke about the basics of the scheduling approaches and the ways Maestro supports them. Today, we are going to look into the latest improvements in the scheduling offering which bring the whole experience to a completely new level.

Schedule types: What’s the issue?

Effective infrastructure management needs you to arrange the proper resource sorting. This can be based on the environment type (env, prod, QA, etc), affected user teams (marketing, development, DevOps, etc), geography, etc.  

This is where using tags and splitting resources across different regions or clouds works perfectly well.  

When it comes to scheduling, Maestro allows creating start/stop rules for specific instances, tags, and regions, applying additional grouping for the instances that belong to the schedule creator. One can also schedule auto stop as an expiration during an instance start.

Having several well-planned schedules is a great step, but what if the approach gets more complicated? The modern infrastructure review and optimization tools, accompanied by ML-based recommendation mechanisms, such as RightSizer for Maestro, allow bringing the scheduling to a completely new level of detailing and efficiency.

Meanwhile, without proper organization, this multi-layer approach may result into mess and unexpected behavior.

Divide and Prioritize

A schedule is in fact a task. When you try performing several tasks at once, it is likely that you will get results that won’t actually meet your expectations. In our case, this could mean unexpected, even chaotic, starts and stops, in case an instance is subject to several schedules.

So the main step in proper organizing schedules is deciding which schedules should be executed and which – not. To face this challenge, Maestro sets priorities to schedules, with instance-specific ones being the top priority, and region-based ones – the lowest one. The rule is simple:

If an instance has several schedules with the same action, the one with the highest priority will be applied. If there are several schedules with the same highest priority, all of them will be applied.

Although the solution looks quite simple, it brings clarity and order to the automatic instance state management within Maestro-governed infrastructures.

Explain and Display

To make sure that the user gets the best of the schedule prioritizing principles, it is necessary to make sure that they are informed properly and that the used tools give enough hints and review options for that.

With Maestro, schedules, and priorities functionality is covered in several ways. This gives several points of view for more detailed and grounded solutions.

Inform on creation

The schedules priorities concept is given in the help for the Schedules wizard, which provides the user with the basic understanding of the idea.

Give current state for review

The Management tab includes the Scheduled Actions mode. It lists all instances existing in the selected region and gives information about the actions, scheduled for these instances if any. The Scheduled Action column informs whether the instance is scheduled to start or stop, while Scheduled at (UTC) gives the time set for the action.

Clicking on an instance with a schedule gives a Content View with the details.

The Scheduled actions tab displays the schedules configured for the specific instances in a specific region. You can always review all existing schedules using the Schedules wizard.

Inform on what’s missing

Once the priorities principle is applied, Maestro starts ignoring some schedules, while in fact, they are still there.

Knowing about these cases provides the user with a higher visibility of the tenant settings, and may help answer two important questions: why wasn’t a specific schedule applied? – and – what will happen if I remove the schedule that currently affects my instance?

In fact, this gives the user a full view of both current schedules map and the possibilities, which can be a ground for effective decision-making.

Scheduling is a simple and effective decision to control the cloud expenses and infrastructure load without actually changing the allocated capacities or affecting the enterprise workflow. Studies say that up to 60-70% of costs can be reduced due to properly configured schedules.
The mechanism, to be really effective and meet the requirements, needs to be flexible and multi-layered, to enable both bulk coverage with schedules, and fine-tuning for sub-groups or individual instances. Maestro gives a proper tool to support this – and we have even more ideas for the scheduling mechanism. Keep track of the updates – and schedule some time for the next story to read 😉