OpenShift for Developers – Part I: Open source tools
In this article We’d like to introduce to you set of Openshift Container Platform developer tools which can accelerate application development.
New developer oriented Web Console perspective
OpenShift Container Platform 4.2 introduces an alternative perspective in the OpenShift Web Console that will sit beside the admin console and focus on developer use cases. This is developer “home” in Openshift Container Platform. All OpenShift developer tool UIs will be surfaced here, though some (like CodeReady Workspaces) will be links out to external UIs.
Key features
Easy create application using graphical wizard from:
- Source in Git
- Existing container image
- YAML definition
- Build from Dockerfile
- Explore catalog
- Databases from catalog
Application Topology view
- View structure and status of app components
- Drill into specific workloads
- Quickly navigate to pod logs
- Manually scale
- Access route/URL
- Linked build and source
In order to get started with Web Console please visit: try.openshift.com, log in and select your infrastructure. Then look for the new developer preview link. Or simply wait for official OpenShift 4.2 release.
ODO command-line tool that brings continuous development to OpenShift
OpenShift Do (odo, for short) is a fast and straightforward CLI for developers who write, build, and iterate constantly on their source code. Instead of using more-refined tools such as oc, odo focuses on the iterative inner-loop cycle of coding (iterating on code changes prior to committing to Git) rather than the management of each application deployed to OpenShift.
odo has been created as a tool for developers to focus on their source code rather than worry about deployment scenarios. It’s as easy as having odo know about your source code by using odo create and specifying the framework for your application. Whether you’re pushing source code or a binary, odo will be smart enough with odo push to know how to run or build it as needed.
With odo, you can iterate on your source code and watch as odo automatically validates and deploys the source code to OpenShift with one simple command: odo watch.
Key odo features:
- Simple and easy deployment centered around similar concepts such as project, application, and component.
- Completely client-based, no server required.
- Supports multiple languages and frameworks (Node.js, Java, Ruby, Perl, PHP, and Python).
- Detects changes to local source and pushes it to the cluster accordingly, giving instant feedback to any build changes in real-time.
- Lists all available and deployment components to the OpenShift cluster. Configure locally, deploy anywhere.
In order to get started with odo please visit: github.com/openshift/odo
Local desktop or laptop Openshift deployment with CodeReady Containers
CodeReady Containers brings a minimal, preconfigured OpenShift 4.1 or newer cluster to your local laptop or desktop computer for development and testing purposes. CodeReady Containers supports native hypervisors for Linux, macOS, and Windows 10.
CodeReady Containers requires the following minimum system resources to run Red Hat OpenShift:
- 4 virtual CPUs (vCPUs)
- 8 GB of memory
- 35 GB of storage space
You will also require the native hypervisor for your host operating system. CodeReady Containers currently supports libvirt for Linux, HyperKit for macOS, and Hyper-V for Windows.
You can download CodeReady Containers from the CodeReady Containers landing page. To install CodeReady Containers, extract the downloaded archive, and add the extracted crc binary to your PATH environment variable. On Linux and macOS, you can extract the contents of the .tar.xz archive using the tar -xvf command.
Once CodeReady Containers has been installed, set up your host environment with the crc setup command. This command must be run before starting the OpenShift cluster. This command should be run with your regular user account but will request elevated privileges when modifications are needed. Ensure that your user account is capable of elevating privileges.
$ crc setup
After your host environment has been set up with the crc setup command, you can start the OpenShift cluster with the crc start command. When prompted, supply your user pull secret for the cluster. Your user pull secret can be copied or downloaded from the the CodeReady Containers landing page under the Pull Secret section. A Red Hat account is required to access the user pull secret.
$ crc start
CodeReady Containers includes a cached OpenShift client binary (oc). You can use this cached oc binary to interact with the running OpenShift cluster by running the crc oc-env command and following the printed instructions. Once the environment has been set up to use the cached oc binary, you can log in to the cluster as the developer user, as follows:
$ eval $(crc oc-env) $ oc login -u developer -p developer
In order to get started with CodeReady Containers please visit: code-ready.github.io/crc/
First Kubernetes native IDE CodeReady Workspaces or traditional desktop IDE extensions
Built on the open Eclipse Che project, Red Hat CodeReady Workspaces provides developer workspaces, which include all the tools and the dependencies that are needed to code, build, test, run, and debug applications. The entire product runs in an OpenShift cluster hosted on-premises or in the cloud and eliminates the need to install anything on a local machine.
Key features:
- Provides a centralized platform on OpenShift to define, administer, and manage developer environments. It simplifies the configuration of developer tools and secures access to the source code.
- Developers workspaces run on OpenShift from the moment they’re started. They support multi container configurations for developing microservices based applications and can scale to any size. This allows developers to work in replicas of the production environment in order to speed production problem diagnosis.
- Red Hat CodeReady Workspaces are centrally hosted in an OpenShift cluster controlled by IT policies. Source code never lands on hard-to-secure laptops, but developers can still perform all the tasks they’re used to with a laptop setup.
- Red Hat CodeReady Workspaces stacks are recipes for developer environments which include the base OS, all the runtime components needed by a project, the developer tooling needed, and the source code for the project (including optional branch and commit ID specifics). Pre-built stacks with supported Red Hat technologies can be used, or custom stacks can be created and shared across the developer teams.
- Includes Red Hat SSO to handle authentication and security between the developer teams. Allows integration with LDAP or AD.
- Bundles a rich, browser-based IDE with language tooling, auto-completion, refactoring, code navigation, debuggers, terminal to access containers, Git integration, and more.
In order to get started with CodeReady Workspace please visit: developers.redhat.com/products/codeready-workspaces/download
If you prefer traditional IDE you can have a look at Visual Studio Code OpenShift Extension Pack which provides feature rich integration with OpenShift
Here are a few of the tools developed to help you improve productivity in Visual Studio Code:
- Java – The Red Hat Language Support for Java extension is built on the Language Server Protocol, and provides language support for Java through the Eclipse JDT Language Server. It makes Java application development easier with VS Code.
- XML and YAML – Our extension, YAML Support for Visual Studio Code, makes reading and editing YAML easier and more organized – important for Kubernetes and Red Hat OpenShift application development. Our XML Language Support extension is useful for configuration work, especially with Red Hat Fuse (or Apache Camel).
- OpenShift and Server Connectors – The OpenShift Connector enables container native “inner loop” development and direct interaction with a Red Hat OpenShift cluster or a local instance. The Server Connector is a faster, more convenient way to develop and interact with your application server such as Wildfly, EAP and Minishift.
- Extension Packs – If you’re focused on Java development on OpenShift, you should look at the OpenShift Extension Pack for Java, which is an easier way to get the tooling for Java development and Red Hat OpenShift deployment.
- Dependency Analytics – Our Dependency Analytics extension is a service that checks your Maven or Node dependencies, can flag some known security vulnerabilities (CVEs), and tries to suggest a remedial version. It can also show Github popularity metrics, latest version available for your chosen package, and licensing information to help you choose a license for your project.
In order to get started with Visual Studio Code OpenShift Extension Pack and learn more about our VS Code extensions please visit:
developers.redhat.com/products/vscode_extensions/overview
10:46 AM, Oct 04
Author:
Principal Solutions Architect
Jarosław Stakun
Jaroslaw works as an Principal Solutions Architect at Red Hat and is responsible for delivery and solution selling based on Red Hat Openshift Container Platform and Red Hat Application Services in the region of Central and Eastern Europe.