Cloud billing ~= Telco billing?
I have a ton of experience in telecom charging, rating, billing. I've testified before regulators on it, I've implemented it at carriers, I've given strategy sessions to telecom carrier board of directors on it. And one thing it is not is simple.
Imagine the complexity of:
- my-circle/friends-and-family (zero-rate)
- evenings and weekends
- 611 services calls zero rated
- Long distance tolls per second, per 10-second, by destination carrier
- Zero-rating of data by application
- Day packs, hour packs, etc
So imagine my surprise, as I start my new business in the field of 'cloud' on receipt of my first itemised bill. It will be very simple right? I mean, after all, that is the value proposition of cloud. Dramatically simplified cost, dramatically simplified operations. It makes a CVS receipt look small, its a telephone book!
Now, I'm used to running a private cloud. Recently I was the sole operator and whipping-boy of an Openstack-based cloud w/ 22K VCPU, 15TB ram. I know the trials and tribulations. But, this micro-monetisation is making it hard for me to plan.
Lets look at a single day in the life of GCP (April 30th. I know it says April 1-30, but these two projects just started that day). So projects. I have 2. 1 is running my corporate web site which just says "stay tuned". Its an 'F1.Micro'. The other project is being used for a dog-fooding exercise around Kubernetes and contains a N1-standard-2. From my standpoint, a very small virtual machine (7.5GB ram, 2 VCPU). Its a baby, my home media player is bigger.
Now, the micro-monetisation. I haven't even scratched the surface of 'big-query' and 'ml engine' and 'iot core' and 'genomics' etc features. So I'm using the bare-minimum that you could get away with.
One thing that surprised me was the 'network inter zone egress'. It turns out this is the gcr.io container registry. I'm using Google's Canada cloud (located in Montreal). But they do not have a container registry in Canada, so these are actually hosted in the US. And I pay to do a 'pull'. So when my Kubernetes cluster scales up, I pay for that bandwidth as well.
Another bit of a surprise was the 2 storage lines. 1 is (NFS?) some network storage, and the other is block-storage attached to the instance, ephemeral with its life.
The credit? Well, you're given $300 to get started, so I'll be out of that pretty soon I guess.
So the moral? Cloud is neither cheap nor simple (for billing). I guess once I get more projects running, and some time, I can graph the cost and take a ruler to project.
But maybe the warning for the cloud folks. Telecom players have very low consumer ratings, largely due to complex or unpredictable billing. And once people start to get a hate on for your big business, its hard to undo that.