Hacker News new | ask | show | jobs
by ok2938 1814 days ago
There are at least two aspects of cloud:

1. The developer experience. This is crucial, developers want programmable things, everywhere. You can reap the benefits of automation.

2. Vendor lock in and platform power. There are three large players today and they add bit and pieces all the time; leading to vendor lock in. The cloud is even for mid-size projects much more expensive than raw hosting or owning the hardware.

Today, I would treat cloud as an expensive, but useful starter - to get you going, to try things out quickly. I would not bet my business on it, especially not, if I were a large company.

Ergo: Building everything in a "cloud native" mode restricts you where you can go from day one. Not good.

2 comments

On the other hand, building everything "cloud native" can also enable some things that are very difficult to achieve otherwise. One thing that comes to mind is decoupling storage and compute, where you can use auto-scaling for the compute parts: great for OLAP / data-warehousing types of problems.

Regardless, I don't consider it merely a "useful starter" -- there are many mature businesses for which IT is not their core competency but still need to deal with complex architectures, and the cloud is very attractive to them.

I have to yet have people tell their most pressing need is auto-scaling. It's not, it's a straw man - and true, if you are Google or Facebook - but 90% of companies won't need that at all.
Of course it’s never the most pressing need, but it’s definitely a need in some circumstances. To completely disregard these use cases is not very useful.
I would disagree the cloud is more expensive. Yes you can purchase a server from Dell with a 5 year life expectancy for less than renting from AWS. But that is not the true cost.

Enterprises require high availability and disaster recovery. Start thinking multiple data centers to meet a RTO requirement after a regional failure with high speed network connectivity between the datacenters to meet your RPO requirements. Add off site backups and personnel at multiple locations and the cloud becomes very compelling.

And that is before you start optimizing your application for the cloud.