Think 2021: The premier hybrid cloud and AI event, May 11-12 Register now

IBM Developer Blog

Follow the latest happenings with IBM Developer and stay in the know.

Learn about Codewind, a solution that provides extensions to popular IDEs, so you can use the workflow and IDE you already know to build applications…

Archived content

Archive date: 2021-03-12

This content is no longer being updated or maintained. The content is provided “as is.” Given the rapid evolution of technology, some content, steps, or illustrations may have changed.

Building and developing a cloud native, containerized application can be challenging. First, you need to create your own application stack for a containerized microservice that also fits your preferred language and project type. Then, if you’re a software developer, to develop, build, run and test your code you have to perform numerous actions including building images, assessing build status, creating containers, opening application endpoints, debugging, analyzing the different logs, assessing performance metrics, and rebuilding the containers with each code change.

If you’re responsible for defining standards for application and runtime environments, such as framework and software levels, you need to implement and maintain your standards across the whole development team, ensuring consistency and reliability.

You need tools that help simplify this complicated process. Eclipse Codewind is an open source project that makes it easier for developers to create cloud-native applications within their favorite IDE.

What is Codewind?

Codewind is an open source projects that helps you achieve your cloud-native application development goals by extending your integrated development environment (IDE). With Codewind, developing in containers feels like traditional application development, and you can use project templates across your development teams.

Support for rapid iteration of your code is achieved using features, including:

  • automatic updating of containers with code changes (debug your remote applications as if they were on your local machine)
  • pre-supplied container-based project templates
  • user interface that exposes metrics, logs, and load testing at the click of a button

Your developers can use their preferred IDE to access your standardized project templates. This allows you to focus on traditional application development without needing to be an expert in container technology.

Containerized from the start

When you’re creating an application, Codewind immediately syncs and builds your application within its own container, pulling in application dependencies as appropriate. The best part? You don’t have to leave your editor to use dependent tools.

Auto-rebuild capabilities ensure that changes you make to your application are immediately reflected in your container, which results in quick feedback on your code changes. Applications that you build using Codewind come with health endpoints and metrics so that you can make sure your microservices are responding like you expect them to.

In addition, Codewind’s built-in performance tooling generates load on your microservice endpoint. This enables you to watch the metrics to compare changes between application levels and to identify hot spots that indicate potential application bottlenecks.

How can I use Codewind?

Different development flows are supported, so you can choose whether you want to use a desktop-based or cloud-based IDE, and whether you want to build and run your containers on your desktop or in the cloud. These development flows allow you to build and run Docker-containerized applications on Kubernetes container orchestration applications, including OpenShift, without the need for in-depth knowledge of container technology.

You can use Codewind either remotely, locally, or as a hosted application on your cloud.

Use Codewind locally

All you need is your IDE with the Codewind extension installed and Docker Desktop (or local Docker Engine and Docker Compose installations for Linux) to build and run containerized applications on your desktop.

Codewind local access

Use Codewind as a hosted application on your cloud

In the hosted approach, your IDE with the Codewind extension installed and your containerized applications are located in your cloud environment. For this hosted scenario, Codewind is used as an extension in Eclipse Che, one of the most commonly used IDEs for coding within your cloud.

Codewind as a hosted application

Use Codewind remotely

Host your IDE with the Codewind extension installed on your desktop, while the building and running of your microservice takes place in your cloud environment. Using secure HTTPS connections, you connect to your multiple cloud-hosted microservices from the Codewind panel in your desktop-hosted IDE.

Codewind remote access

It might help to think of remote access like a combination of the local and hosted scenarios. When using Codewind locally, everything happens on your desktop: Codewind extension, developing code, building and running the application. When using a hosted version of Codewind, everything happens in the cloud. When using Codewind remotely, your development happens locally, but you are building and running your application in the cloud.

Which IDEs are supported for Codewind?

Currently, Codewind is available as a fully-supported extension for VS Code, Eclipse, and Eclipse Che. It is also available as a tech preview in IntelliJ, with plans to expand to full functionality for the same seamless experience.

See Codewind in action

Tim deBoer introduces Eclipse Codewind, an open Eclipse open source project to extend common IDE’s and assist rapid micro service application development with containers.

Connect with us!

Have suggestions or requests? Contribute in GitHub and let us know what you think via Mattermost.