Red Hat announced the general availability of its CodeReady Workspaces integrated developer environment (IDE) on Feb. 5, providing users with a Kubernetes-native tool for building and collaborating on application development.
In contrast with other IDEs, Red Hat CodeReady Workspaces runs inside of a Kubernetes cluster, providing developers with integrated capabilities for cloud-native deployments. Kubernetes is an open-source container orchestration platform that enables organizations to deploy and manage application workloads. Red Hat CodeReady Workspaces is tightly integrated with the company’s OpenShift Kubernetes container platform, enabling development teams with an environment to develop and deploy container applications.
“You can do any kind of development with CodeReady Workspaces. However, because its strength comes from its container-native approach, it’s primarily valuable for container-based applications,” Brad Micklea, senior director, Developer Experience and Programs at Red Hat, told eWEEK. “That said, the fact that it abstracts and hides much of the complexity of Kubernetes from developers makes it well-suited to teams who are starting to work with Kubernetes—for example, as part of an application migration project.”
Red Hat CodeReady Workspaces is based on the open-source Eclipse Che IDE project, as well as technologies that Red Hat gained via the acquisition of Codenvy in May 2017.
“When Codenvy was acquired by Red Hat, the proprietary features in Codenvy were contributed up to the Eclipse Che open-source project, making Che a viable enterprise tool,” Micklea said. “Then Red Hat created a hardened and supported packaging of Che to sell to enterprises who wanted Che with the backing of Red Hat support.”
CodeReady Workspaces provides all the functionality of Che, but with several key additions, Micklea said. The additions include runtime stacks based on Red Hat Enterprise Linux 7 and 8 beta, as well as access to 24/7 technical support including engineering resources that can make fixes to the upstream code if needed. Beyond that, he noted that Eclipse Che releases every three weeks, which is too often for most organizations to effectively track, while CodeReady Workspaces releases every three months, providing stability for enterprise operations.
“Additionally, each CodeReady version is supported for six to 12 months, depending on subscription, versus the upstream where community support is typically only provided for the most current version,” Micklea said.
The new CodeReady Workspaces is not Red Hat’s first IDE. There is also the Red Hat Developer Studio IDE, which is an Eclipse based desktop IDE. Micklea explained that Red Hat Developer Studio runs on a local host and each developer needs to download, install and maintain the virtual machines, tooling and runtime components needed to build, debug and run their code.
“Any part of that can run on Kubernetes, but as with all Eclipse desktop IDEs, the assumption is that everything is installed locally,” he said.
In contrast, Red Hat CodeReady Workspaces is based on Eclipse Che, a separate project in the Eclipse Foundation that only shares the Java language server capabilities with Eclipse desktop IDE. Micklea said Che is always installed in a Kubernetes distribution and everything it does is executed inside containers/pods, which is what why it is being considered by Red Hat to be Kubernetes-native.
Micklea said that both Red Hat Developer Studio and CodeReady Workspaces are usable with Kubernetes but often people who already use Eclipse desktop IDE will prefer to stick with it and build and debug locally, only testing on Kubernetes after they merge back to origin. In contrast, he noted that Che tends to be preferred by developers who want to work more seamlessly with production Kubernetes container images or who prefer a lighter-weight, browser-based IDE.
CodeReady Workspaces Factories
A key capability in CodeReady Workspaces is the Factories feature, which helps to enable developer collaboration on coding projects.
Micklea explained that a Factory in Che is a JSON (JavaScript Object Notation) file that defines foundational elements of a project. Those elements include where to find the source code for the workspace, what languages are used in the project, the commands to pre-populate in the IDE that are needed for the workspaces, as well as any post-load actions to be performed on the workspace automatically when it has been built.
“The Factory JSON definition then lives in the Che server and can be shared via a URL—anyone clicking on that URL will have a private workspace created for them which exactly matches the definition outlined in the Factory JSON file,” he said. “This makes it quicker and more reliable for users to be onboarded to a project.”
What’s Next
With the general availability of CodeReady Workspaces, the new IDE is being distributed for free to Red Hat’s OpenShift Container Platform (on-premises) or OpenShift Dedicated (Red Hat hosted and managed in the cloud) subscription customers.
“We are planning to host a SaaS environment for Eclipse Che upstream in order to foster the continued growth of that community,” Micklea said. “We hope to have that offering online in the coming two months.”
The upstream Eclipse Che project is gearing up for some big changes in the months ahead as well, with development on Eclipse Che version 7 now ongoing.
“Che 7 includes significant improvements to the IDE design and extensibility,” Micklea said.
Among the core areas of extensibility will be support for Visual Studio Code plugins, which will open up Che to a large ecosystem of plug-and-play extensions.
“Che 7 will also bring along the ability to launch a Che workspace directly from a production image without altering the container itself,” he said. “This is a huge step for people who have always wished they could immediately begin fixing production code issues without having to go through a tedious and costly environment setup phase.”
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.