Why Aren't You Developing in the Cloud?
blog.iron.io
blog.iron.io
Because my desktop screams while my net connection is so so.
Because a native UI kicks the sh*t out of any web interface, in looks, perfomance and integration.
Because I am paranoid and I like my data in MY local net.
Because I do not mind a bunch of (easily scriptable) installs.
I short because the technical problems I am trying to solve go way beyond a trivial LAMP app...
You also have to think about the cost of hosting, maintaining, monitoring, etc. Usually a service fee by a provider is much smaller than the cost of doing all this yourself. Of course there is some inflection point where it may be cheaper to do it yourself. And during development and while you're still small, most service providers offer a generous free plan.
> Because my desktop screams while my net connection is so so.
Can't argue with that one.
> Because a native UI kicks the sh*t out of any web interface, in looks, perfomance and integration.
Totally agree. Like I said in the post, I still write my code locally.
> Because I am paranoid and I like my data in MY local net.
Are you paranoid about your development data?
> Because I do not mind a bunch of (easily scriptable) installs.
...
> I short because the technical problems I am trying to solve go way beyond a trivial LAMP app...
I would argue that this is a good reason to you use services since they will deal with all the hard stuff of running these non-trivial services. The more complicated your application, the more value you'll get out of using services.
Well, for a development environment, the costs of all that should be zero, in terms of dollars. In terms of time, you'll have to spend some time maintaining your development environment, whether you have it in the cloud or locally. Adding a monetary cost to that just seems foolish.
Remember, we're not talking about deploying to the cloud. We're talking about developing on the cloud. Spending real money, in addition to my time for a project that I'm going to open source or possibly abandon is foolish.
You just insulted everyone here who pays monthly fees for software, including Github & Dropbox customers.
In addition, the overwhelming success of SaaS vs native apps leads me to think that your personal tastes and concerns are not representative of the average consumer.
However the real purpose of innovation is not to simply drive price down, rather, to create enabling technologies that move mankind forward and allow people to do things they've never even imagined. We're seeing massive things with massive processing power and data, all while someone else manages that infrastructure, who LOVES managing things at scale, who I can't afford to hire an who has become the expert I never will be.
If the goal is simply to reduce cost, then we aren't creating something big. We're just moving money around.
But again, taking your position at face value, I would counter that the level of expertise needed to maintain the data needs of most people is very modest compared to the level of expertise needed to sell everyone that amount of data at scale. If your needs are not dramatic (and most people's aren't) then "the cloud" may turn out to be more expensive than doing it yourself on top of the usual downsides of outsourcing. Not everybody has a scalability problem. And if you do have a scalability problem but your income is directly proportional to the scale, it may be cheaper to run it yourself anyway and hire those scalability experts. There are more cloud providers every year, not fewer, and Amazon and Google did it out of necessity and made a profit long before they realized they could monetize it.
In short, I think there are arguments for and against, like everything else, and people should understand the upsides and the downsides before choosing. Once the pendulum swings back there will be people leaving the cloud who probably should be there and I'll be arguing for them to use it, but for right now it seems like the herd is recklessly choosing the cloud without understanding why.
Can we call this the Market Fallacy? "It sells most, therefore consumers must have wanted it above all possible alternatives."
Wrong. Consumers wanted it above all available alternatives. Key problem here is that software makers have been getting themselves out of the business of single-upfront-license proprietary, desktop software for nearly 15 years now, as hard as they can. They don't like competing with free (the open-source alternatives or the pirates). And didn't PG write a whole damned essay on this recently?
Just because SaaS is easier to treat as excludable economic property doesn't make it better.
How will AWS/RackSpace/SaaS software handle legacy data/ code in, let's say 10 years? I have no answer to that question and I bet few people have it but time is a tough mistress for computer software and data. The good thing when your data is not in the Cloud, especially when you don't control the inner mechanics of a database like SimpleDB is that you can migrate, change it the way you want at the moment you want. When you have no control over your data, well bad things could happen in the future.
Be smart, be patient.
I've found you can get very far on those four points (minimal configuration, accessible, collaborative, and minimal production-development gap) using shared virtual images, specifically using Vagrant. It's probably not a good solution if you require massive amounts of test data in development, but unless that's the case I just don't see the benefits of using SaaS components for development's sake.
Disclosure: I work for Iron.io
If you look at the spectrum of ways to edit code, with edlin at one end and VS.NET+ReSharper at the other, you wouldn't find a single one of the existing Cloud IDEs sitting more than 5% of the way off the zero end of the scale.
Give it time, and they'll get there. I'm looking forward to that day with great hope, but it still seems like it's a long way off.
Thus... if the term is not defined... for the sake of this thread... I don't see how anyone could argue that they are NOT already developing in the Cloud? So... iron.io, what does "cloud" mean to you?
- Consumer cloud or SaaS for consumers (gmail, rdio, facebook, etc) - SaaS for business (salesforce, box, etc) - Cloud Infrastructure Services (amazon, rackspace, etc) - Cloud Application Services - higher level services on top of cloud infrastructure (heroku, iron.io, mongolab, papertrail) - Private clouds (which can include several of the above) - etc...
In this article I'm referring to cloud application services because those are the high level services that just take a couple lines of code and a couple of minutes to configure and use.
Because every second I can't work because of something beyond my control is agonizing. I put one of the biggest reasons for Github's success is that it uses Git, which is intentionally not dependent on a central repo.
Because people who think "the cloud" is the answer to everything are jokes.
Because there isn't even a problem. Set up a VM which mirrors your prod environment and give it to your developers. Done.
Because any cloud-based system which is powerful enough to support some of the applications I've developed isn't going to be any easier to configure than just setting up my own VM.
Because paying to develop is stupid. It's a disincentive to trying new projects.
I use some cloud services, but not all. Nothing wrong with a hybrid solution.
I'd love to see data that backs up that claim.