Eclipse Che: Portable Shared Development Workspaces with Built-In Runtimes

The Eclipse Foundation has taken the wraps from its next generation IDE, called Eclipse Che, software that promises to provide on-demand developer workspaces for collaborative projects. Che combines a cloud IDE, a workspace server, plug-in support, and portable runtime environments through containers.
Codenvy developed the software, and it is being supported by a range of contributors including IBM, Microsoft, Red Hat, and SAP, as well as by other outside contributors.
“The initial feedback on Eclipse Che has been outstanding,” said Mike Milinkovich, executive director of the Eclipse Foundation, in a statement. “The number of downloads and external contributions all point to Che being an incredibly successful open source project to bring forward a new generation of cloud IDEs.”
By making the workspaces portable, Che allows developers to make changes from anywhere. Che handles the complete workspace lifecycle, orchestrating the project state and booting up, suspending, imaging, stopping, and destroying workspace runtime environments.
“We allow developers to collaborate on code before it is merged into the mainstream,” said Tyler Jewell, Eclipse Che project lead and Codenvy CEO. “When you do that in an automated way, you can shorten the feedback loops, allowing developers to release more frequently.”
Developers can access the workspaces through either a browser-based IDE, command line interface, by way of an API (application programming interface), or through an SSH connection to their favorite IDE. “The workspaces are RESTful, so you can program the workspaces over REST,” Jewell said.
Workspaces are composed of project files and Docker-based run-time environments. Receiving systems use the configuration files to create an identical workspace state, one that matches the source system. The Workspaces themselves can be moved across different clouds and in-house environments.

Che environments can be composed of machines powered by Docker.
Eclipse Che workspaces are composed of projects and Docker-powered runtimes. Projects are mounted into the workspace, or if a remote machine, are rsync’d with long term project storage. The workspace server software host the projects, identified by the hostnames, and provides access for the clients. The software supports a plug-in framework, which allows developers to create their own extensions.

Che can inject an SSH daemon into workspace machines, allowing developers to connect their IDEs by way of an SSH sync point.
Perhaps the most radical part of Che is that it allows developers to recreate specific runtimes on their own computers, by pulling components from DockerHub or by a private registry, or by building custom images with Dockerfiles. Projects are mounted into the workspace, or synchronized using rsync.
Microsoft is one company that is filling out the Che ecosystem. Microsoft worked with Codenvy to create a Microsoft Visual Studio Team Services extension that activates Codenvy on-demand workspaces from within Microsoft developer products. Support for Che has also been added to the Microsoft Azure cloud.
Codenvy, Docker, IBM and Red Hat are sponsors of The New Stack.