Our industry is experiencing a rapid adoption of container-enabled environments like Docker and Kubernetes. As these environments have grown in popularity, so has the adoption of microservices architectures. These approaches enable applications to leverage the key features of these new environments, such that they are not just cloud hosted, but rather cloud-native. These environments, however, come with a learning curve, presenting new challenges for developers who simply want to write, deploy, and debug their code quickly.
Traditionally, developers create applications on their desktop, debug them locally, and then build and deploy them through an automated DevOps pipeline. In each environment, there are often numerous differences, including the operating system, runtime, or package version differences. In addition, since development usually occurs locally before deploying to a containerized environment, there can be painfully long waits between making a code change and seeing that change running live in a staging environment that matches production.
Fortunately for developers, as part of the framework behind the open source Kabanero project, there are tools to help. Following the introduction by my colleague's earlier post, "Kabanero: Curated Development Tools and Runtimes Powering IBM Cloud Pak for Applications," this installment presents the curated development tools Codewind, Appsody, and Tekton.
Codewind: Simplify building cloud-native apps for Kubernetes
Codewind is a new Eclipse project that addresses many of these developer challenges. Codewind is a set of tools that helps developers efficiently build high-quality, cloud-native applications for Kubernetes, regardless of which IDE or language they are using.
When a developer's IDE is enhanced with Codewind, they can run their applications in a Docker container and still get the development experience they’re used to. Codewind's rapid development loop lets them edit, build, and run their code with minimal interruption—hiding the complexities of the underlying platform. With Codewind, developers can focus on just delivering code.
Codewind's initial tech-preview offers plugin support for VS Code and Eclipse IDEs. This common library provides the following IDE features:
- Create projects from templates or bind to existing projects, rapidly creating container-ready applications
- View live project information, including application and build status
- Debug and incrementally update Microprofile, Spring, and Node.js projects
- View application and build logs
- Integrate validation errors into the IDE's problems view
- Open a shell session into an application container
- Enable build actions, such as auto build or manual initiation of a build
- Disable, enable, and delete projects
- Launch performance metrics, a performance dashboard, and run load testing
In other words, Codewind has everything a developer needs for cloud-native development, without having to leave their IDE. Try it yourself in your Eclipse or VS Code IDE! Download the install from Eclipse Codewind and provide feedback to the Codewind developers via Mattermost.