7 ms·
Why Aren't You Developing in the Cloud?
- openspectrum 15y agoDon't we need to define the term "cloud" before we even attempt answering this question? Cloud can be SaaS (according to Salesforce and many other SaaS companies). Cloud can be IaaS such as that provided by a datacenter owner/operator. Cloud can be shared elastic hosting such as that provided by Amazon, Azzure, etc.. Cloud can even be private elastic hosting or "Cloud in a box" such as that the client owns/controls/manages the physical hardware AND virtualization software. Cloud can be a hybrid solution such as what has already been mentioned... but effectively serves as any combination of the flavors listed above. Last but not least, Cloud can simply mean anything "online" for most who are not geeks and still think the internet works by way of magic. 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?
- treeder 15y agoCloud has a lot of different meanings these days so it's nearly impossible to really define it, but it is possible to think of them in various different contexts: - 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.
- victork2 15y agoPlease, please everybody, before saying that the cloud is amazing let it resist the test of time. I am myself using some cloud software but there is one thing that is not yet being reflected very well, the ugly monster that lurks everywhere: Legacy. 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.
- treeder 15y agoI agree with this, it's generally a good idea to use services that don't lock you in and provide common interfaces so you can move your data or take in house at any time. Like http://www.mongolab.com http://www.mongolab.com for instance uses standard MongoDB and IronMQ (http://www.iron.io/products/mq/features http://www.iron.io/products/mq/features) supports the beanstalkd protocol so at any point, you can take your data and easily switch just by changing endpoints.
- nickpp 15y agoBecause I am not stupid to pay monthly fees instead of single upfront licenses. 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...
- treeder 15y ago> Because I am not stupid to pay monthly fees instead of single upfront licenses. 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.
- quanticle 15y ago>You also have to think about the cost of hosting, maintaining, monitoring, etc. 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.
- JoeAltmaier 15y agoI need processor support for certain assembler optimizations. Cloud servers don't let me constrain the processor version.
- cmelbye 15y agoAm I the only one that hates the "cloud" buzzword? I'm trying to wade through the meaningless crud in this article, and I can't quite pinpoint what this article is advocating. It seems like he's simply suggesting to run your database, message queue, etc. on a remote server so you don't have to install it locally. That's not at all a new concept, and he's still advocating that you use a local editor/IDE, so you'd still need to install that as well as your language interpreter, external libraries, etc... Am I missing something?
- bennylope 15y agoThis is not the first time I've heard this argument from a "cloud services provider", and surely it won't be the last. 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.
- carimura 15y agoVery true.. But often it's the service providers that think about these hard problems daily, talk to their customers, and attempt at making the world a better place by building great products. In the process it's really hard not to form opinions about the future. :) Disclosure: I work for Iron.io
- xpose2000 15y agoBecause my dedicated server with a managed host is cheaper and more convenient than doing everything myself. I use some cloud services, but not all. Nothing wrong with a hybrid solution.
- nhebb 15y ago> Software-as-a-Service (SaaS) has become the most popular way to consume software I'd love to see data that backs up that claim.
- jasonkester 15y agoPerhaps if the question were rephrased as "Why aren't you developing in Notepad", it would be easier to answer. 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.
- cjensenius 15y agoOne word, debugging. Stopping program execution at a break point and inspecting a memory location can be incredibly helpful.
- tylermenezes 15y agoBecause I spend 30% of my time developing in cars, planes, and coffee shops without free wifi. Because, unless I'm learning a new framework, I'm often more productive in those spaces. 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.