I had the pleasure of doing this web cast with Vesa Juvonen recently where I do a demo of how you can set up a pretty simple provisioning solution to let users order new team sites in SharePoint Online using an order list, and an azure web job to do the heavy lifting. A simple solutions with only two technical components, a SharePoint site and an Azure web job using PnP PowerShell.
The complete sample is located at the PnP repo (https://github.com/SharePoint/PnP-PowerShell/tree/master/Samples/Provisioning.SelfHostedWithAzureWebJob) and contains everything you need to get up and running.
PnP webcast post: https://dev.office.com/blogs/provisioning-with-pnp-powershell-and-azure-webjobs
I’m currently doing the same approach for Office 365 Groups with a customer, so watch out for a sample on this later as well.