hero-jobbies-7

Cloud Cost Optimization Policies: Off-Hours Policies for Development Resources

These days, cloud cost governance and optimization are a top priority for teams. Implementing an off-hour policy program, particularly for cloud development, can help teams address this objective–and in the process save the business significant amounts of money. 

While cloud development resources are typically active during regular business hours, there are significant advantages to turning them off during after hours. This blog post will explore the benefits of automatically powering down development resources in a consistent fashion. We’ll also look at key challenges and best practices for introducing such a program. Let's start with the benefits: 

  • Cost savings. One of the most compelling reasons to turn off cloud development resources during off-hours is the potential for substantial cost savings. Cloud service providers often charge based on resource usage. When instances and virtual machines are left idle for no reason, businesses incur significant and  unnecessary expenses. Organizations can save up to 75% or more of their computing costs by allowing instances to run eight hours a day on weekdays. 

  • Enhanced security. Idle resources can become targets for cyber attacks or unauthorized access. Powering down cloud development resources during off-hours can therefore enhance security and mitigate potential vulnerabilities.

  • Environmental responsibility. In supporting cloud computing services, data centers can consume significant energy, which can have a notable environmental impact. By turning off cloud development resources during off-hours, organizations promote energy efficiency and environmental sustainability, with a lower carbon footprint.

Unraveling the Complexities of Off-Hours Program Implementation

Here are a few of the challenges that organizations need to address to ensure a smooth and effective implementation of an off-hour policy program:

  • Varying time schedules and time zone differences. One of the primary challenges of turning off cloud development resources during off-hours is managing the complexity of different time schedules. In globally distributed teams, off-hours for one region may be peak working hours for another. This can make it very difficult to coordinate tasks and collaborate. To establish a successful off-hours program, teams need the flexibility to accommodate various schedules. 

  • Managing exceptions. Certain development teams may need to run machines to meet a deadline or may not be confident about joining the program in the first phase. You must make it easy for development teams to opt in or out of the off-hours program. The management team must approve opt-out requests, and exceptions should be re-visited after a particular timeframe. It can be very challenging to manually manage these  exceptions in a large organization. 

  • Scaling  policies, communications, and actions. Implementing an off-hour program can be challenging if you have tens of thousands of developers across multiple business units and geographic locations. Running a scalable off-hours cost governance program is more feasible with proper communication, education, and automation. 

Mastering Off-Hours Programs: Essential Best Practices

Here are some of the essential best practices for running off-hour programs: 

  • Have a comprehensive resource inventory. Before implementing a program to turn off development resources, it is crucial to have a comprehensive inventory of all cloud resources used by the organization. This inventory should include virtual machines, databases, storage, load balancers, and other services. Clearly understanding these existing resources makes it easier to identify idle or underutilized development assets that can be powered down without having any impact on critical operations.

  • Establish off-Hours schedules and make them optional first. Develop a well-defined schedule for turning off unused development resources during off-hours. Teams should be able to tailor the off-hours schedule according to their needs and consider global time zone differences. Communicate this schedule and enable development teams to "opt-in" to the program.

  • Educate and involve stakeholders. Educate all stakeholders, including developers, IT teams, and management, about the benefits and objectives of the program. Involve the teams in the decision-making process and address any concerns they may have. Collaboration and buy-in from all stakeholders are essential for the successful implementation of the program. 

  • Share and celebrate initial success. Use cost savings data from the initial opt-in program to highlight and celebrate success. Sharing real-time cost-saving data and automatically notifying teams on how much money they saved also helps generate more interest in the program, including within the participating teams as well as others who may have previously hesitated to implement these changes.

  •  Expand the program with automated workflows and exception management. Once you have shown initial success with the program, encourage more teams to join and make it mandatory for development resources. The key is to make the opt-in or exception request process easy and frictionless through automated workflows. Automation can streamline the process and make the program more successful.

 

Leverage Stacklet for Scalable, Automated Off-Hours Management

Stacklet Platform helps you automate and better orchestrate an off-hour policy program. Based on the Cloud Custodian open source project, the Stacklet Platform makes it easy to enforce policies, such as automatically powering off development instances during off hours and turning them back on according to a schedule.Key highlights include: 

  • Flexible Schedules. Stacklet Platform also enables flexible scheduling accounting for time zones, holidays, exceptions, and unique usage. All developers have to do is specify their requirements in resource tags. For example, the tag below says the resource should be available from Monday to Friday, 6 AM - 9 PM PST, and Sunday from 10 AM - 6 PM PST.   

                 Sample Tag: off=[(M-F,21),(U,18)];on=[(M-F,6),(U,10)];tz=pt

    Standard off-hour tags that include default schedules can also be enforced and automated with Stacklet using granular tagging policies that the solution offers. 

  • Automate Developer centric Workflows. It allows you to build and automate opt-in and exception management workflows using developer centric channels like Slack and Jira.  Below is a sample slack message with actions. 

    Off-hours Slack

  • Dashboards that correlate cost impact and benefits of off-hours. You can also create dashboards for the development teams or management to track the progress of your “off-hour initiative.” Stacklet Platform maintains a real-time asset inventory of your cloud resources, their configurations, and average daily costs. You can use the cost data to quantify the benefits of such a program. Stacklet Platform can provide you with the data and insights to convince engineering teams of the value or, once the program is in motion to track “ROI” and celebrate success. Below is sample chart that displays off-hours saving opportunities by resource type and account. 

off hours -2 cropped

 

You can request a detailed demo of Stacklet here.

Credits: Thanks to Jamison Roberts and Sam Cozannet for providing content and reviewing this blog