Google Container Engine runs clusters of container nodes under Kubernetes, on top of Compute Engine VM instances; you pay for the VMs. There is a small charge for Kubernetes management, $0.15 per hour for clusters of six or more nodes.
Serverless cloud computing, or more accurately Functions as a Service, has the potential to drastically decrease the cost and effort involved in putting loads into the cloud. AWS Lambda, Bluemix OpenWhisk, Google Cloud Functions, and Azure Functions all offer a model where the developer defines a function to run on demand, creates triggers for the function, and a sets a memory allotment for the function. The cloud infrastructure takes care of allocating a container for the function whenever it needs to run, so the developer doesn’t have to worry about capacity or scalability.
Serverless costs are typically based on the number of triggers (often a negligible charge), execution time, and the amount of memory used. Runtime for a single function invocation is limited to 5 to 10 minutes, depending on the platform, but sub-second runtimes are more common. Most platforms also limit the number of functions that can run simultaneously, and have a bundled free capacity for functions available each month.
As a rule of thumb, using serverless functions is cheaper than running a small VM if the aggregate function execution time is less than half a million seconds per month, or roughly 20% of the month. The numbers vary somewhat by provider, and whether you compare functions to full-priced or discounted VM instances.
When doing your cost analysis, you also need to include developer and operations time, which is usually lower for serverless functions than for VMs because more of the administration has been pushed to the cloud provider. Factoring in the development and operations costs, using serverless functions can be cheaper than running a small VM even if the aggregate function execution utilization is 75% per month.
One downside of using serverless functions is the complexity of billing. If you host your functions in a VM, that VM generates one billing line per month no matter how many times the functions are called. If your serverless function is called 4 million times a month, there will be 4 million events in the billing log.
Cloud spending management
Given the complexity of cloud pricing, and the differences from data center management, many companies will need to adopt new tools for IT spending management in the cloud. An Internet search for “cloud spending management,” “cloud cost management,” or “cloud management platform” will turn up at least half a dozen viable possibilities, along with a bunch of irrelevant results. While you may be able to manage your use of a single cloud platform with its native facilities for resource tagging and reporting, it’s hard to stay on top of usage and costs if you use two or more cloud providers.
Sign up for Computerworld eNewsletters.