Installing software is a drag
Getting a team set up to work on a new software project can be quite time consuming. You have some great ideas for the code you want to write, but you can’t get down to writing it until you have a development environment for yourself and the rest of the team.
First, you have to select, download, and install tools. There are usually some settings that need to be configured for each one. Then, every other developer on the team needs to do the same thing, and you have to explain it or write up instructions. This is even more challenging if some of your workers are remote or in different time zones.
The more software you install, the more burdensome it is to keep it all up to date. As you update software, you need to make sure the rest of the team keep their environments updated to avoid consistency problems. After adding new versions of software to your environment, any instructions or scripts you wrote for onboarding new team members become out of date.
Tools that tie you to your desktop or laptop
Another problem with desktop development tools is the lack of flexibility. Your work desktop might be configured with your perfect development environment but that doesn’t help you if you want to work from home, or need a loaner laptop while yours is out for repair. You might not be able to check your code to answer a question from a mobile device while traveling. Also, the heavyweight nature of desktop development environments can be a problem if you need to help another team with their code, or you need to pull in someone else.
Existing development tools weren’t built with containers in mind
Developers who have tried to get started with containers and microservices have found the learning curve is steep and there are a lot of steps to get things set up and working. Desktop IDEs are traditionally intended to build and test code on the local machine under the local OS, which is often Windows or Mac OS. Code that runs fine on the desktop might not be portable to the target environment, which is Linux containers running in the cloud. Many IDEs can be configured to trigger remote builds, execute code remotely, and connect to remote debuggers, but there is a lot of setup involved and some complexity to manage. Oh, and you also have to deal with keeping the source code synchronized between your desktop and the target machine. You don’t want to have to check code in just to try building it on the target machine.
When it comes to building your project, ideally you’d like to just hit a button in your IDE. But that won’t build into a container automatically. If you wait to move to containers later in the project, you might not be able to adequately test your code and detect problems with the code in front of you, while it’s fresh in your mind.
Wouldn’t it be nice if there was a development platform designed for producing modern cloud-native applications?
Red Hat OpenShift.io, a cloud-native development environment
To help development teams get started quickly and be productive, Red Hat created OpenShift.io. OpenShift.io is an end-to-end development environment for planning, building and deploying cloud-native applications. Using nothing more than a browser and an Internet connection, a developer can quickly create a development platform for the entire team that is ready to go without downloading or installing any software.
An IDE configured for your project, no installation required
You can work on all aspects of your project, including writing code, with just a browser in OpenShift.io. A powerful, next-generation IDE, Eclipse Che, is integrated into OpenShift.io. While it’s easy to focus on the browser-based code editing, what’s really important is that your developer workspace is running in a container, on OpenShift Online, as part of your OpenShift.io project space. This is truly cloud-native development.
When you launch Che from your project’s space on OpenShift.io, you get a development workspace that is configured for your project, with no setup required. This gives you the flexibility to work from any device or location because the development workspace is on-line in the cloud. For collaboration, you can share a workspace with members of your team. If you need to switch to another project, just open another browser tab.
Even though the experience is browser based, you get the features you expect from a desktop IDE. Intelligent, context-aware code completion assistance in your choice of programming languages is available via the built-in language server protocol.
The OpenShift.io IDE has functionality beyond what’s available in Eclipse Che. For example, OpenShift.io performs deep analysis of your technology stack. While editing manifests like Maven’s pom.xml, it can offer context-sensitive information, such as warnings about vulnerable versions of components, and give actionable advice.
Quick starts: the components of your stack, no download required
When you create a space for your project on OpenShift.io, you can choose from a list of vetted development stacks called quick starts. Selecting a quick start adds a ready-to-use software project that follows best practices, to your space. All of the components of the stack are pulled in along with the information to automatically build the entire project into Linux containers.
Develop for the cloud, in the cloud
Development on OpenShift.io happens inside containers. In fact, the whole OpenShift.io experience runs in containers on top of OpenShift Online. This provides a number of benefits. Your code runs inside of the same container-based environment during development, test, and deployment. Your application, developed in the cloud, is already cloud-native. Also, for collaboration, development workspaces can be easily shared with your team.
OpenShift.io combines the innovations of a number of open source projects including fabric8, Eclipse Che, Jenkins, JBoss Forge, WildFly Swarm, Vert.x, Kubernetes, and of course OpenShift. OpenShift.io itself is a container-based application delivered on Red Hat OpenShift Online.
Available for free, OpenShift.io is currently in a limited developer preview. Sign up at openshift.io to be notified when space becomes available.
Whether you are new to Containers or have experience, downloading this cheat sheet can assist you when encountering tasks you haven’t done lately.
Last updated: February 24, 2024