During the DevNation General Session today we talked about how we need to rethink some of the basic concepts of software development. We think it's essential to make developers more effective and get started quickly. Rethinking what and how developers write and debug their code (what we normally call the "IDE") is central to that.
Today, during the DevNation keynote, Red Hat announced that it is making a strategic investment in Eclipse Che. In this blog post I'll talk about why, and also where we are starting to contribute.
One of the things that has struck me, that I realized as I’ve worked with Che over the last nine months, is that I had forgotten what the acronym "IDE" stands for --- Integrated Development Environment. As I spent more time with Che, I realized that most IDEs and coding tools I used to date have focused heavily on source code (editing, compiling, building, visualizing) and have ignored the environment part --- you nearly always have to follow a README to get the application running.
Che has fundamentally rethought the whole development experience, and put source code and environments on an equal level. At Red Hat we feel that Eclipse Che is fundamentally changing the very approach many of us take towards developing software. We think that the notion of a universal workspace is incredibly liberating for developers.
As you may recall from my earlier blog post about adding OpenShift support to Che, we feel that easy reproduction of high fidelity environments is a critical component of improving both the efficiency of developers and the correctness of their applications.
With easier reproduction, we think that we can make collaboration between developers easier, we can massively reduce the time it takes to access old branches, and (perhaps most importantly) we can not only make replication of bugs easier, but we can reduce the number of bugs that ever make it in to production.
At DevNation, Tyler Jewell (from Codenvy) and I gave a preview of the work we have been doing to add support to Eclipse Che. This work allows Che to share the same description of the runtime topology in both the development workspace and production. We demonstrated how you can develop multi-container applications in Che and run them using both Ansible Containers and OpenShift --- without writing any extra metadata.
As you may expect, this is the initial area we intend to focus on in Che --- improving support for runtimes (via projects such as Ansible Container), with a vision for the entire software development cycle. We're already working on a full integration of that multi-container support in the Che workspace, by allowing you to update the descriptor, and see the workspace automatically update around you (and vs versa).
In our opinion, Che has a particular sweet spot for developers and teams who are building cloud native applications using containers, and are looking for the kind of business agility that microservices bring.
If you want to get involved in the Che community, visit http://eclipse.org/che.