DevOps automation is indispensable in our fast-paced digital world. By facilitating rapid and reliable software delivery at a lower cost, it provides a distinct competitive advantage. It streamlines operations, allowing teams to focus on building novel features and problem-solving for customers, instead of laboriously deploying and scaling services manually.
However, successful implementation of DevOps automation is not just about implementing the right tools and technologies, but it is also about ensuring things run when you expect them to. After all, while we can automate and script a lot of things away, you still need a way for them to run in an automated and predictable fashion. Otherwise, we’ve merely enhanced the efficiency of a manual process without fully automating it.
While it may sound easy at first glance, setting up infrastructure that can handle various operations in a predictable manner that users define can be daunting. So, how can we simplify this process to focus on delivering value to our customers?
Let’s talk about Scheduled Functions
Scheduled Functions are a special type of serverless functions that can be run on a desired schedule. What makes them an elegant solution is that they can written and managed using JavaScript / TypeScript, which makes it more accessible to your team. For example, rather than the web team submitting a ticket to the DevOps team to setup a publishing schedule for their site, Scheduled Functions allow them to set this up using a language they are already familiar with.
As a result, teams are empowered to make things run like clockwork as they see fit. With more control over their processes, it allows your team to spend time on delivering value to your customers rather than having to remember to perform certain tasks at a certain time.
Real World Examples
That said, no matter how cool a technology is, it is only useful when it can be applied to real world problems. Here are some common scenarios where scheduled functions can alleviate administrative work from the team:
- Publishing a site: If you are working on a content-heavy site, Scheduled Functions make it easy to automatically publish new articles at set intervals. This ensures that your site is regularly updated with fresh content without you having to manually publish each article (which can be particularly useful if it’s a static site that needs to get fresh data from the API)!
- Scrape data from a site: If your site is responsible for aggregating data from multiple sites, there is probably a regular interval you need to fetch data to ensure you are providing the most up-to-date information. Scheduled Functions allow you to setup different intervals for different data sources as it makes sense to your app.
- Generate reports and send them to users: It’s common for a lot of software to allow users to get some sort of regular update. Examples of this include: weekly summaries, daily reports, etc. Rather than have someone manually generate and send these emails, scheduled functions can help you automate this process at scale which can be critical when users have different preferences for when and how they get their updates.
Next Steps
If you’ve made it to the bottom of this post, then you’re ready to check out the following resources:
- A step-by-step guide I wrote on how to schedule deploys with Netlify
- Official Netlify docs on Scheduled Functions
At the end of the day, Scheduled Functions offer predictability, repeatability, and reliability in your DevOps processes. However, a word of caution, don’t forget to monitor your Scheduled Functions. Like any automated process, things can go awry unexpectedly, and a way to verify everything is working as intended is critical to maintain trust in the system.
Thanks for reading! Enjoy the time savings brought to you by using scheduled functions!