Benefits of Eclipse Che When Developing Multi-Container Apps How to - - PowerPoint PPT Presentation

benefits of eclipse che when developing multi container
SMART_READER_LITE
LIVE PREVIEW

Benefits of Eclipse Che When Developing Multi-Container Apps How to - - PowerPoint PPT Presentation

Benefits of Eclipse Che When Developing Multi-Container Apps How to use existing production k8s environment in enterprise development Eugene Ivantsov Senior Software Maintenance Engineer Red Hat AGENDA: This presentation covers:


slide-1
SLIDE 1

Benefits of Eclipse Che When Developing Multi-Container Apps

How to use existing production k8s environment in enterprise development

Eugene Ivantsov Senior Software Maintenance Engineer Red Hat

slide-2
SLIDE 2

INSERT DESIGNATOR, IF NEEDED 2

  • Introduction to Eclipse Che
  • Cloud native development

challenges

  • Solution Eclipse Che offers
  • Demo: deploying a microservice app

to a k8s cluster, developing in Che using the same yaml definitions, updating deployments in k8s cluster

AGENDA:

This presentation covers:

slide-3
SLIDE 3

INSERT DESIGNATOR, IF NEEDED 3

Open Source

Eclipse Foundation project since 2016. ~4.5k stars, ~100 releases, ~90 contributors, ~800 forks

Workspace server

Runs on and supports OpenShift, Kubernetes and Docker as runtime engines. New infras can be plugged in

Cloud IDE

Code, compile, run debug and collaborate on projects in your browser. GWT and TypeScript IDEs are available

What Is Eclipse Che?

slide-4
SLIDE 4

INSERT DESIGNATOR, IF NEEDED 4

LOCALHOST ENVIRONMENT NEVER REPLICATES PROD ENVIRONMENTS

Containers behave in the same way anywhere they are run

The Problem

Containerized production VS localhost development

!=

apiVersion: extensions/v1beta1 kind: Deployment metadata: labels: app: microservice-app-example name: users-api spec: replicas: 2 template: metadata:

PRODUCTION DEPLOYMENTS ARE WELL DEFINED AND PREDICTABLE

Something that works on localhost may fail in containerized production env

slide-5
SLIDE 5

INSERT DESIGNATOR, IF NEEDED 5

CHE RUNS PROD IN DEV MODE

The Solution

=

apiVersion: extensions/v1beta1 kind: Deployment metadata: labels: app: microservice-app-example name: users-api spec: replicas: 2 template: metadata: Brings IDE tooling, source code and data management on top of prod yaml definition

Develop in your production!

slide-6
SLIDE 6

INSERT DESIGNATOR, IF NEEDED

How It Works

Che workspace engine magic: Prod containers defined in env recipe IDE Build Tooling

  • Shared volumes
  • Services
  • Separate build and run
  • Remote debug
slide-7
SLIDE 7

INSERT DESIGNATOR, IF NEEDED

Workspace Environment

  • Consist of containers, single/multi-container pods
  • Defined by a recipe: k8s yaml, docker image, composefile
  • Shared volumes to exchange source code changes and artifacts
  • Servers to expose services (publishing ports, OpenShift routes, k8s

ingress etc)

slide-8
SLIDE 8

INSERT DESIGNATOR, IF NEEDED

IDE

  • Fast JavaScript IDE
  • Client-Server architecture
  • Pluggability
  • Plugin registry
  • Custom IDE per workspace
  • Use of various IDEs (e.g. Theia https://github.com/theia-ide/theia)
slide-9
SLIDE 9

INSERT DESIGNATOR, IF NEEDED

Tooling

  • LSP support
  • Local LS mode
  • Language server as side-cars (TCP mode, shared volumes)
  • Registering new Language Servers
  • Terminal and exec agent sidecars
slide-10
SLIDE 10

INSERT DESIGNATOR, IF NEEDED

Build Containers

  • Use custom build images (e.g. the ones used in CI)
  • Shared volumes - build artifacts available in run containers
  • Resource management - RAM allocation for a particular project
  • One service per container
slide-11
SLIDE 11

INSERT DESIGNATOR, IF NEEDED 11

Production Che Workspace CI/CD

Cloud Native Development with Che

slide-12
SLIDE 12

INSERT DESIGNATOR, IF NEEDED 12

Deploy microservice app to MiniKube Push to GitHub CI job triggered Develop in Che

Demo Time

What will we see?

slide-13
SLIDE 13

INSERT DESIGNATOR, IF NEEDED

Get Started With Eclipse Che

13

Sources

https://github.com/eclipse/che

Dev List

che-dev@eclipse.org

Docs

https://eclipse.org/che/docs Mattermost

https://mattermost.eclipse.org/

slide-14
SLIDE 14

THANK YOU

plus.google.com/+RedHat linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/eclipse_che