In this article series we provide an overview of how to get started with Eclipse Che. In this first part, we will describe how to easily install it and launch your own instance of Eclipse Che. If you are interested and want to try out Eclipse Che and see it in action, keep on reading. In case you are wondering what Eclipse Che is, please see here for an introduction and a description of the relationship of Eclipse Che with Eclipse Theia.
From a high level point of view, there are two ways to get to your own instance of Che: Either you use a hosted instance (SaaS) or you install your own version of it on your own infrastructure or on a PaaS provider. Let´s start with the simple and fast one:
Using Eclipse Che via SaaS
Probably the easiest way to tryout or use Eclipse Che, does not require any installation. You can just head over to che.openshift.io, a Che SaaS provider, which provides free trial hosting for trying Eclipse Che out-of-the-box. While the free accounts have some resource limits and expire after 60 days, they are fully functional and allow you to make your first steps with Che. You´ll find the three options to start the hosted Che instances on this page.
The first option launches the Che dashboard and allows you to use the Che UI to create and manage any workspace you want. We will describe the Che dashboard and the workspace configuration options in more detail in a follow up article.
If you are only interested in starting a workspace and directly using it, there are two shortcuts for achieving that. Using the first, you can launch a default workspace (Ubuntu and JDK 8) and directly checking out a specific GitHub or GitLab repository. So if you want to try Che with an existing repository and you do not have any set-up requirements on the workspace, this is a quick way to get started.
The second shortcut directly launches a preconfigured workspace without even using the Dashboard of Che. The list shows the “stacks” available, i.e. a predefined workspace configuration. If you click one, Che will start and directly instantiate a new workspace based on the selected stack. This workspace will have tools pre-installed, as defined in the stack, e.g. to do Angular development.
The options of starting Che described above demonstrate different use cases of Che. The first is the most powerful one and users can use the Che dashboard to configure and create any workspaces they want. The two shortcuts show a very interesting potential of web-based tooling: rather than guiding a user through a custom installation or configuration process, the user can just click one link and get a preconfigured and ready-to-use workspace. It is worth mentioning that you can even combine both shortcuts, i.e. providing a link that starts a specific workspace configuration and checks out a specific repository. This can be done using factories, which we describe in a follow up article.
Instead of using Eclipse Che SaaS, you can of course host it yourself, as described in the next section
Hosting your own instance of Eclipse Che
In contrast to the first option of using Che as a hosted service, you can also deploy your own instance of Che. There are essentially three relevant options, which depend on your use case. We’ll briefly describe these options in the following sections. For all three options, the main prerequisite for deploying Che is the existence of a Kubernetes cluster, as Che runs on Kubernetes. Additionally, we highly recommend using the “chectl” tool provided by Che. The tool allows you to start/stop servers and also to manage workspaces. It simplifies the administration of Che instances tremendously, more details can be found in the chectl documentation.
Installing and running Eclipse Che locally
If you want to try Che locally when you are developing some extensions for Che or if you are the one and only user of your Che-based tool, you can deploy Che on your local machine. This way you obviously lose any multi-user or multi tenancy benefits of Che, but for evaluation and local testing, this option is definitely useful. As Che requires a Kubernetes cluster, you need to install one locally. We have had good experience using MiniKube or MiniShift for this purpose, which is also officially supported by Che. See this documentation on how to deploy Che locally.
Installing and running Eclipse Che on premise
If you want to deploy Eclipse Che on your own servers, you also need to provide a Kubernetes cluster. For a productive deployment, MiniKube or MiniShift are most probably not the right choice and this article will not get into comparing different solutions. One obvious choice would be OpenShift. As the hosted service described above is based on it, it is kind of guaranteed that Che runs nicely in this environment. See here for more details on how to deploy Eclipse Che on your own instance of OpenShift.
Installing and running Eclipse Che in the cloud
In case you want to rely on a cloud provider, rather than fully managing the infrastructure yourself, the good news is that the Che directly supports the “Who is who of cloud” providers (see the list below). Click on the provider you are interested in getting to the documentation on how to deploy and run Eclipse Che on the respective cloud service:
One quick word about the expected cost: do not underestimate the resources, that developers consume on a regular basis. When developers work on their dedicated computers, the main ongoing costs are buying the hardware and a little bit for electricity, which is often unknown (and usually it isn’t a huge cost factor). When moving developer workspaces to the cloud, the costs are suddenly explicit. So it is worth doing a detailed evaluation and set some limits. This is especially true, if you open your Che instance to a larger group or if you even permit public access. Workspaces cannot only be used for the purpose of development, fraudulent usage of your resources, such as Bitcoin mining or file sharing could make your cloud hosting costs explode.
Eclipse Che supports various ways in terms of hosting, starting from a simple local installation to a fully cloud-based deployment. Please note that hosting Eclipse Che also automatically hosts the Eclipse Theia IDE since Theia is the default IDE in Che (see here for more details). However, selecting a hosting option for Che is just one first step in your migration to the cloud. You might want to white label Eclipse Che, use “factories” for a one-click experience for your developers or you could extend the default IDE (Eclipse Theia) with new domain-specific features.
If you need advice on planning your specific strategy for cloud-based tools or if you need to extend the default features offered by Che or Eclipse Theia, then have a look at our service offering for web-based tools, for Eclipse Theia or tools in general and please get in contact with us!
Finally, if you are interested in a quick guide on how to use Eclipse Theia or how to customize and extend it, please follow us on Twitter, we will publish the next parts of this article series soon.