If it's not too complex I would recommend an AWS,EC2 model - let customers pay as you go or opt in to pre buy for predictable and possiblely reduced pricing.
That's the current model I'm using, thinking it'd be cheaper for most users. I'm not doing any pre-buying yet but was planning to, however now I'm considering a subscription model.