The Motivation for Serverless
To me, the real value with serverless services in Azure has never been about the cost. Sure, I can start out my development and exploration work at virtually no cost. However, the single most compelling thing about severless services like Azure Functions in my mind has always been about simplicity. The high level of abstraction allows me to focus on the problem the system I’m building needs to solve. It also saves me from the details about how to run and operate it.
So is Serverless Cheaper Then?
Well, the answer is the traditional boring answer you typically get to architectural questions – It depends. This time it depends on the workload you are running.
When you start out, you will definitely get a cost benefit from serverless. This is because you only pay for what you use. And you normally also get a certain amount for free. With serverless you don’t have any fixed costs, as you have for instance with traditional cloud services. These fixed costs are typically quite flexible, as you can scale them up and down to match your needs. But there is still at least a small fixed cost that you get a certain level of service with.
The fixed cost is completely missing in serverless services. The only thing you pay for is usage. If you don’t use your application for a week, then you pay nothing. Really, not a cent!
This means that the lower your workload is, the more likely serverless options will be cheaper for you. But at some point you will hit the tipping point where your workload gets so high that serverless options will start to be more expensive. However, if you’re not planning on building the next Facebook, you will likely not hit that tipping point any time soon.
Azure Functions – Serverless or not Serverless?
One of the beauties of Azure Functions is that you can run a function application in two different modes; In a true serverless mode using the Consumption Plan or a more traditional approach under an App Service Plan. There also is a the Premium Plan option in preview, which is more or less a heavy-duty version of the Consumption Plan.
This makes Azure Function a really great option for running many of your workloads. You can start off at costs next to nothing with the Consumption Plan. When your workloads grow and you start to close in on a tipping point, then switch over to an App Service Plan or a Premium Plan.
So, you can run Azure Functions both as true serverless services or in a more traditional cloud service fashion, whatever “traditional cloud services” even means.
Be also sure to check out my other Azure Functions posts, if you want to read more about Azure Functions.