benefits of eclipse che when developing multi container
play

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:


  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

  2. AGENDA: This presentation covers: 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 2 INSERT DESIGNATOR, IF NEEDED

  3. What Is Eclipse Che? Open Source Workspace server Cloud IDE Eclipse Foundation project Runs on and supports Code, compile, run debug and since 2016. ~4.5k stars, ~100 OpenShift, Kubernetes and collaborate on projects in releases, ~90 contributors, Docker as runtime engines. your browser. GWT and ~800 forks New infras can be plugged in TypeScript IDEs are available 3 INSERT DESIGNATOR, IF NEEDED

  4. 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 LOCALHOST ENVIRONMENT NEVER WELL DEFINED AND PREDICTABLE REPLICATES PROD ENVIRONMENTS Containers behave in the same way Something that works on localhost may fail anywhere they are run in containerized production env 4 INSERT DESIGNATOR, IF NEEDED

  5. The Solution Develop in your production! apiVersion: extensions/v1beta1 kind: Deployment = metadata: labels: app: microservice-app-example name: users-api spec: replicas: 2 template: metadata: CHE RUNS PROD IN DEV MODE Brings IDE tooling, source code and data management on top of prod yaml definition 5 INSERT DESIGNATOR, IF NEEDED

  6. How It Works Che workspace engine magic: Prod containers defined in env recipe IDE Tooling Shared volumes ● Services ● Build Separate build and run ● Remote debug ● INSERT DESIGNATOR, IF NEEDED

  7. 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) INSERT DESIGNATOR, IF NEEDED

  8. 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) ● INSERT DESIGNATOR, IF NEEDED

  9. Tooling LSP support ● Local LS mode ● Language server as side-cars (TCP mode, shared volumes) ● Registering new Language Servers ● Terminal and exec agent sidecars ● INSERT DESIGNATOR, IF NEEDED

  10. 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 ● INSERT DESIGNATOR, IF NEEDED

  11. Cloud Native Development with Che Production Che Workspace CI/CD 11 INSERT DESIGNATOR, IF NEEDED

  12. Demo Time What will we see? Deploy microservice app to MiniKube Push to GitHub Develop in Che CI job triggered 12 INSERT DESIGNATOR, IF NEEDED

  13. Get Started With Eclipse Che Sources Dev List che-dev@eclipse.org https://github.com/eclipse/che Docs Mattermost https://mattermost.eclipse.org/ https://eclipse.org/che/docs INSERT DESIGNATOR, IF NEEDED 13

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

Recommend


More recommend