The Timer functionality in the Azure WebJob SDK is pretty handy. You can run different functions on different frequencies, and you can set the timer based on a cron expression or just a plain ole time period.

WebJobs are one of my favourite features of the Azure SDK, just behind the Management API (where you can manage Virtual Machines and Web Apps programatically).

Here is some example code:

Functions.cs

using Microsoft.Azure.WebJobs;
using System;

namespace MyApplication.WebJob
{
    public class Functions
    {
        public Functions()
        {
            SetupFixture();
        }

        private void SetupFixture()
        {
            // Setup dependencies here. If using DI such as Ninject then you can create a Factory class to return the DI container.
        }

        public void PerformDailyTask([TimerTrigger("01:00:00")] TimerInfo timerInfo)
        {
            // Execute some code on a daily basis
        }
    }
}

Program.cs

using Microsoft.Azure.WebJobs;

namespace MyApplication.WebJob
{
    class Program
    {        
        static void Main()
        {
            var config = new JobHostConfiguration();
            config.UseDevelopmentSettings();
            config.UseTimers();

            JobHost host = new JobHost(config);
            host.RunAndBlock();
        }
    }
}

.UseDevelopmentSettings() will allow you to see the trace output of the WebJob in the local development console window. 

Adam n' out