Re-Post from my original post on the CloudShare blog
Maybe it’s a little bit of manifest destiny, but I couldn’t help but notice that one of my new year’s predictions is already coming true: Namely that it’s only late February and I’m already seeing dev shops that are taking Cloud Integrated Development Environments (IDEs) seriously.
Although it’s true that a number of new IDEs have popped up recently, it was a recent eWeek tweet chat that led me to realize I was not just blowing smoke with my predictions. In fact, Cloud IDEs not only came up as a topic in the chat, it was something that was familiar to the developers in the audience. And after having a few conversations with enterprises – not Independent Software Vendors (ISVs) – who are considering using Cloud Based IDEs, I realized I was on to something.
The idea is simple, it’s like utilizing Google Docs (or your favorite cloud-based word processor) for your code. So why do I think it is so revolutionary? It’s not because you can easily edit your code in the browser. After all, most of us who code have well-established and refined dev environments already (I prefer to deck mine out with a theme that looks like I’m coding in the Grid from Tron). Rather, I find this revolutionary because it is not just the code that makes this interesting. Its everything the code interacts with including source repository, infrastructure, frameworks and the team. By putting the IDE in the browser, the possibilities become endless. Things like cloud deployment, collaboration, continuous integration and continuous delivery become much easier. And when they become easier, they are utilized more frequently with less effort and help us with the ultimate outcome we all seek: producing better software, sooner.
Since they started showing up in 2010, Cloud IDEs had been a thing for the brave. But now, as organizations feel the strain of development environments holding them back, it’s time they embrace these as mainstream tools.
Of course, this is not just my opinion – when you start seeing giants like IBM joining the game, you know it’s a serious thing. That is why I spent a little time with Ken Walker, co-lead on the Eclipse Orion Project, a nice JavaScript-focused Cloud IDE that is currently in the works at IBM. The following are Ken’s responses to some questions I had about where he thinks this is all going:
Q: Let’s start broad: Why Cloud IDE?
A: The capabilities of SaaS and PaaS platforms and the power of the underlying JavaScript runtimes in every browser are at the tipping point where there’s no point in Developers maintaining private tool chains on their own machines.
Q: How do you think developers will respond to the new approach: is it exciting, or a pill that is hard to swallow? Why?
A: I think some developers are enticed by the notion of not having to setup or pollute their machine with too many tools and a bunch of VMs to maintain. That said, there are development scenarios not yet well done by Cloud IDEs including compiled languages and specific App development like iOS. Developers are also fond of tools they’ve been using for years like vim, emacs, SublimeText or others. They’re also rightly justified in saying that most Cloud IDEs have no reasonable offline mode but work does continue on this leveraging the file systems that HTML5 and Browsers are offering.
Q: What can the Cloud IDE mean for DevOps and the business/process of development?
A: Many desktop developers already rely on DevOps after they commit changes they’ve made on their own machine. Often, where they’re pushing their changes isn’t an exact replica of what they have and that can lead to a separate set of steps for debugging. Having the whole stack in the Cloud means the entire team will be sharing the same platform and rapid prototyping, development, test and deploy can be well defined. The same suite of ‘plug-ins’ can be leveraged by all in the browser vs. trying to configure different OS and machine configurations on the Desktop.
Q: What are the key advantages of a Cloud IDE?
A: There are many advantages but for sure it’s portability and setup time. I can use any modern browser on any machine (or tablet), make application modifications, test it, commit the changes and push it to production. I can link work items and tasks to my changes. If there’s a build required or specific testing like for devices, then that also can be done in the Cloud on a lot more platforms than one developer’s machine can support.
Q: How will organizations manage the security of a Cloud IDE?
A: Organizations have the option of offering their developers “on premise” versions of Cloud base tooling if they want to guarantee there can be no contamination. For smaller shops, that’s really not an option and Cloud hosting providers need to offer similar guarantees of security. Publicly hosting components of your overall application, especially with a good open source license, can be a way to increase acceptance of your applications. If that’s integrated with an extensible Cloud based IDE, then you will have others contributing plugins that make your overall product even more compelling.
Q: How do you think the Cloud IDE will hurt or help integrations with other platforms PaaS, LOB, etc?
A: I see only benefits in the integrations with PaaS offerings. No matter the Cloud environment, you should be able to deploy to multiple offerings and maintain good version control of your applications. This offers freedom of movement. There are many PaaS vendors and those offering a full suite of tools from the Desktop to a Cloud based IDE will be more compelling to LOB developers.
Q: Anything else you’d like to add?
A: Cloud IDEs are starting to become mainstream. The capabilities are increasing rapidly and most major vendors are realizing they have to offer one to be competitive. Hard core developers are the ones that will be a hard sell. They are used to their existing setups and need really compelling reasons why they should consider the move to the Cloud. These compelling features are growing day by day. Within a couple of years, I don’t think a desktop tool can maintain parity with the efforts that will go into Cloud IDEs.
Q: Finally tell us about the Orion project and why it’s so exciting.
A: Orion is a fully extensible Cloud based IDE solution. It’s a completely open source stack and leverages many other popular JavaScript libraries like Esprima. It is being written by contributors from many companies and is under very active open development. It is at the top of the most active projects within the Eclipse Foundation. It works on small embedded targets by leveraging Node.js, or multi-user development platforms. OrionHub.org has more than 23,000 users. Orion is by no means complete so the project develops new capabilities and responds to community feedback very rapidly with releases every 4 months. With most of the development environment written in JavaScript, it’s trivial to clone, self-host and edit your development environment live and then contribute those changes back to Orion. I work at IBM where we’re leveraging the Orion stack in initiatives such as a Cobol Web IDE and JazzHub Agile development tools.
The two points that Ken makes that really stick with me are how APIs/IaaS/PaaS tools are growing exponentially, and thus the ability to work with and manage them is getting harder. Cloud IDEs create an opportunity to simplify and embrace these new technologies faster. They also help with polluted dev environments that cause havoc when testing and debugging code by taking that element and all those unwanted variables out of the picture – something I personally run into all too many times.
Before the interview, I spent a lot of time testing various IDEs. With Orion in particular, I was able to get a project from my Git down in minutes and start working with an interface that was very cool and clean. Orion also has a very transparent and aggressive roadmap and I look forward to this and other IDEs evolving with more functionality. One thing I have noticed is that they tend to all have a particular language or stack as a focus (such as Orion which is tailored to JavaScript developers).
The big hurdle I think organizations are going to have to overcome is the security of their code. However if they have already bought into a Cloud-based source repository such as GitHub or Visual Studio Online, I think that issue is covered.
Contact me on Twitter to weigh in with your points about the pros/cons and the future of Cloud IDEs.