Eclipse Che introduces a new kind of developer tool that runs directly on Kubernetes and is accessible through a web-based IDE. The container architecture enables easy and rapid onboarding of new team members while eliminating workstation maintenance costs and limitations, all while leveraging a VS Code-like experience. The release of Che 7.0 by the open source community goes further by making the developer environment consistent, repeatable and reproducible. Now available for mainframe-based code with the Che4z subproject, teams can collaborate on cross-platform applications and bridge the distributed/mainframe divide.
The panel with discuss how the Eclipse Che IDE and workspace server drive developer productivity and improve overall software delivery.
3. What are IDEs?
Integrated Development Environment (IDE)
Source code editor
● Syntax highlighting
● Code Navigation
● Auto-completion
● Check bugs while typing
Developer tasks automation
● Compile/Build
● Package
● Run Application
● Run Tests
Debugger
● Testing program/application
● Show application state
● Halt at particular point of code
● Stepped execution
6. Cloud Native Java IoT & Edge Automotive Tools
Strategic Focus Areas
Ecosystem
Development &
Marketing
IP Management
& Licensing
Governance &
Processes Infrastructure
Eclipse Foundation Services
7. We provide a collaborative
environment for the world’s
leading Java ecosystem
players to advance open
source enterprise Java
technologies for the cloud.
We enable industry
leaders to collaborate on
an end-to-end IoT
architecture that is
secure, flexible, and fully
based on open source
and open standards.
We provide leading
automotive OEMs, their
suppliers, and partners with
a sustainable, transparent,
and vendor-neutral platform
to collaborate on open
technologies and
standards.
The Eclipse IDE is the
critical development
environment for more than
6 million active users. Our
community is innovating on
the next generation of cloud
native developer tools.
Cloud Native Java AutomotiveIoT & Edge Tools
Strategic Focus Areas - What We Do
10. Development time spent on configuration and setup
Activities that require configuration and
setup:
- Onboarding on a new project
- Switching between different projects,
technologies
- Fixing a maintenance branch
- Reviewing a pull request
- Upgrading tools, plugins, dependencies
- Trying out a new technology
24%
of a dev team’s week is spent on
building and maintaining
developer environments
Config and Setup
11. Modern application architectures increase complexity
Monolithic applications:
- Source code has all the
dependency graph
- Connections between services
are obvious
- IDEs understand the app and
allow developers to jump to
definition
Services based applications:
- Everything is broken up
- Connections are unclear
between the services
- IDEs understand each service,
but not the interconnection
13. The developer contribution journey
- Scaffold
- Configure dependencies
- Code
- Build
- Run
- Test
- Debug
- Integrate
- Optimize
14. The developer contribution journey
- Scaffold
- Configure dependencies
- Code
- Build
- Run
- Test
- Debug
- Integrate
- Optimize
Config and Setup
Dev
Feedback
15. The developer contribution journey
- Scaffold
- Configure dependencies
- Code
- Build
- Run
- Test
- Debug
- Integrate
- Optimize
Config and Setup
Dev
Consistency, reproducibility, and ease of access is a velocity factor
Feedback
16. What is needed to contribute?
- Project sources
- Dependencies
- Developer Tools: language servers, debuggers, testing tools, security tools, etc...
- Commands
- Build and packaging tools
- Terminal
- Operating system
- Web server / application server
- Database
- (All other runtime components)
18. Eclipse Che Workspace
Defining a new kind of workspace
Containerize everything you need to develop, build, run, test and debug your application.
IDE Tools Runtime EnvSource Code
> ………………………
…………………………
…………………………
………………………....
> ………………………
…………………………
…………………………
………………………....
{
Main void
function() …………..
}
19. Defining a new kind of workspace
Containerizing the IDE: zero install and automate configuration
Extended Eclipse Theia, to
provide a VSCode-like
experience
Built-in:
⌁ Languages Server Protocol
⌁ Debug Adapter Protocol
Compatible with VSCode
extensions
22. Eclipse Che Workspace
Tools
Defining a new kind of workspace
Containerizing everything you need to develop, build, run, test and debug your application.
Plug-ins
Build Env
Dependency MgtIDE
Commands
Compilers
Build Configuration
Runtime Env
OS
Runtime Dep
Env Variables
Debug Env
Debugger
Debug Configuration
Test Env
Testing Tools
Target environment
Log services
Common LibrariesVCS
Env Variables
23. Defining a new kind of workspace
Containerizing development tools Tools (IDEs and plug-ins) are bringing
runtimes and dependencies:
- Zero dependency installation
- Isolated execution
- Own lifecycle
- Easy upgrade/switch
- Simple packaging
- Scalable
Package VSCode extensions in the
container.
Runtime
Executable
Dependencies
24. Devfile Definition
Devfile: Developer environment as code
Build Env
Runtime Env
Commands
Editor
Tools Plug-ins Dep
Project
Name Repo Branch
Test Env
Build Run Debug
The devfile provides easy to configure, highly
reproducible definitions of portable developer
environments.
It is a declarative abstraction of a replicable
developer workspaces, which includes the runtime
environments, the source code of the projects
mapped to repositories and the tools, plugins and
commands needed to code, build, test, run and debug
a project.
26. Devfile: Made for Team
Manage Consistency
First class support of
K8S, manage the
complexity of developer
environments take out
the pain.
Easy to Integrate
Devfiles are easy to
integrate with any tools.
Developer environments
can be created from
anywhere at anytime.
Simple to Share
Devfile live with source
code, are easy to modify,
fork and share.
Extensible
Customize per task, with
plug-in and developer
preferences
28. Deploy Eclipse Che On-Premise
Eclipse Che can be deployed on any K8S
cluster:
- Operator based application
- Install on public cloud, private cloud
- AirGap installation
Built-in:
- High availability
- Rollout update
- Health Check
MAVEN REPOS
KUBERNETES
ECLIPSE CHE
SOURCE CODE
REPOS
YOUR PRIVATE CLOUD
CONTAINER
REGISTRIES
DEVFILE
29. Collaborate with your team
- One-click onboarding
- Resource limits per group
- RBAC security
- Pre-commit feedback
- Standards compliance enforcement
Integrate with LDAP / AD and OAuth
30. Toolchain Integration
Integrate Eclipse Che developer
workspaces in your entire toolchain:
issues tracker, CI, CD, logs and generate
disposable one-click developer
environment.
Change the paradigm and get on-demand
developer environments. Pre-load them
with in-context and event-driven
metadatas for even more developer
productivity.
32. 43%
of World Banking system
is build on COBOL
80%
of of-in transactions use
COBOL
95%
of ATM swipes rely on
COBOL code
220
billion lines of COBOL are
in use today
Mainframe Applications
38. Eclipse Che
Centrally hosted developer environments
Deploy on your K8S cluster, behind your firewall. Developer
environments are running on the cluster.
Protect your Code
Source code is never cloned to a hard-to-secure laptop.
Code stays in an IT controlled sandbox.
Easy Onboarding and DevOps Integration
Embed a Eclipse Che link in a project repo or issue tracker
and anyone with a browser can be contributing code in <2
minutes.
Fully Containerized tools
Everything you need is containerized even the IDE and its
plugins. Zero configuration needed, zero pain.
Built-in Editor
Browser based Editor, based on Eclipse Theia. Provides a
VSCode like experience. Compatibility with VS Code
extension.
Codified Developer Environments
Developer environments are codified with a devfile making
them consistent, repeatable and reproducible.
39. Cloud Development Tools at Eclipse Foundation
Eclipse Foundation and its community is investing efforts at building the next generation of
Developer tools
Eclipse Cloud Development top-level project is expanding fast
- Che
- Orion
- Dirigible
- Tools for CloudFoundry
New working group at Eclipse for Cloud Development Tools launched in September, 2019
New in 2019
- Theia
- Sprotty
- CodeWind
- GLSP
- Che4z