I think they can be pretty efficient and if a handle is kept on what's deployed on top, can be not that much overhead over the cost of the infra (whether it's owned or cloud). But that keeping a handle on things is key - starting w/o a DBA is nice but if no one is tracking tables or how they're used things can get pretty expensive :)Specifically re CF - have seen a few companies use CF to do multi-infrastructure, but a lot of the companies we work with have 5-10 roles and just run them via config mgmt to deploy or now docker +/- k8s, and don't use PaaS at all.
jacques_chester|9 years ago
> But that keeping a handle on things is key - starting w/o a DBA is nice but if no one is tracking tables or how they're used things can get pretty expensive :)
At Pivotal we ran into this problem in building service brokers that worked by interacting with single, large, efficient shared services. Most services lack the strength of isolation that you are getting for the apps themselves. So on a shared database, queue, cache etc, the noisy neighbour can really begin to hurt.
In our 2nd generation of these service brokers we changed our approach. Previously asking the service broker for a service returned almost immediately (create account/endpoint/schema/queue/bucket/whatever). Now we actually go and provision an entirely new, isolated service instance. Luckily BOSH makes this relatively easy to do.
Essentially we've recreated the journey that led to containers: realising that while the efficiency of shared instances is nice, it's more important to be able to enforce functional and non-functional isolation. So now the services are on par with the apps in terms of their platform behaviour.
The outcome is the same: ops no longer have heavily gateway against bad developers, because only those developers will be affected by their errors. I have a very long analogy involving sharehouses that I will skip on this occasion.
> but a lot of the companies we work with have 5-10 roles and just run them via config mgmt to deploy or now docker +/- k8s, and don't use PaaS at all.
Yeah, the jump from nothing to all-the-things is a pretty big one for people who are solving the partial problem they see directly in front of them. Dynamic languages, NoSQL etc are all much more approachable than their alternatives, because you can build in smaller steps.
We're working on it -- PCFDev and BOSH bootloader are two main prongs and there's more to come. If you want to give any more feedback of kvetching, please feel free to email me (jchester@pivotal.io) and I'll connect you to the right people.