We recently switched from a Debian and Cloud hybrid to FreeBSD. Result: We have recent, stable software (Ports rock!), we are overall more stable than we were on the cloud, we have no more need to work around limitations of clouds and we have more resources while only paying a fraction, compared to our cloud service. Because of this we can have way more systems, which means we can use that for HA and are always set up for a sudden increase of users. With FreeBSD's jails we have a perfect cloud-like separation of services.
I used to be a huge fan of cloud computing, but what I really dislike these days is that while it makes it easier and way cheaper for companies it actually brings close to zero benefits to users, even being more expensive and connected with more limitations. A lot of the time people seem to use cloud hosting, because everyone else does so and because it is a hype right now.
It partly explains it, because for some it might be a reason to go for clouds in first place. I agree, it's not always the case.
However as explained I think there are many wrong expectations coming from clouds:
- Isolation: Like already mentioned. You can use jails and nowadays LXC
- Up to date software: Either managed or with special/official images (again the isolation comes up her). This is a reason for FreeBSD. Their ports system and base system allow for both stability and up to date software. Big plus for startups, because they usually depend more on this than others.
- Uptime: I don't know why this is so big. If you are designing (mostly) stateless systems, like for the cloud you usually have the same benefits off the cloud. You have to pay for HA (many instances) on the cloud. It doesn't make it magically more available. However, if you go off the cloud, even reserved Amazon instances you can easily build extremely high availability cause it will cost less for you. One big thing when cloud computing game up was how great it is that resources can be used more efficiently and how it is cheaper for that reason. However, because of all the hype (I guess) it is only cheaper for cloud hosts.
- Scale out: Again, this is a question of cost: Do you start out with two or three instances in the cloud or for the same money just get 5-10 real systems (no joke, look how cheap professional grade hosting became!) so you don't need to bother in first place?
So you end up with less resources and higher costs and potentially cannot (or have a harder time to) run certain services that simply are not optimized for the cloud. Again, if you design your software to run in the cloud you usually have software that on real hardware is close to zero maintenance (well, at least less than what you have to do for clouds anyway).
I am sure there are good reasons for running FreeBSD on the cloud instead of just buying your own machines and connect them (over multiple data centers if you worry a lot). And we actually also use the cloud for backups.
However I really think that often the term cloud is used as just another buzzword and the benefits are mostly imagined, caused by a huge hype, not always, but way too often.
Don't get me wrong, I am not against cloud computing at all. I just came across way to many people/startups paying for expensive cloud infrastructure seemingly not having any reason for it, other than it being hyped. When I ask why they do it then they either don't know or have really wrong expectations.
I used to be a huge fan of cloud computing, but what I really dislike these days is that while it makes it easier and way cheaper for companies it actually brings close to zero benefits to users, even being more expensive and connected with more limitations. A lot of the time people seem to use cloud hosting, because everyone else does so and because it is a hype right now.