GitPod: IDE as a service

A presentation at Touraine Tech in January 2022 in Tours, France by Horacio Gonzalez

Slide 1

Slide 1

IDE as a Service Philippe Charrière @k33g_org Horacio Gonzalez @LostInBrittany

Slide 2

Slide 2

Qui sommes nous?

Slide 3

Slide 3

Qui sommes nous ? Horacio Gonzalez: Espagnol perdu en Bretagne Head of DevRel @OVHcloud Philippe Charrière: TAM @ GitLab & Side Projects’ Gardener 🌸🌺🌼 “Free DevRel” for beloved products

Slide 4

Slide 4

Gitpod Heroes 🍊🦸 https://www.gitpod.io/community/heroes

Slide 5

Slide 5

Comment on est tombés sur GitPod Deux chemins vers la même destination…

Slide 6

Slide 6

GitLab WebIDE 🥰 https://github.com/microsoft/monaco-editor

Slide 7

Slide 7

Theia-ide, TypeFox 🤔

Slide 8

Slide 8

Gitpod 😮

Slide 9

Slide 9

Gitpod 💖 GitLab

Slide 10

Slide 10

Vous avez un workshop à préparer… Félicitations Horacio De : Big Conference organization@bigconference.com À : Horacio Gonzalez horacio.gonzalez@gmail.com Salut Horacio ! Nous sommes heureux de vous annoncer que votre atelier “Apprendre les composants Web en deux heures” a été accepté à la Grande Conférence 2021. Comme nous sommes une conférence hybride, vous aurez 50 participants physiquement dans la salle et 200 participants à distance. L’intégration est essentielle dans cette configuration, assurez-vous que les participants puissent facilement créer un environnement de travail en quelques minutes, même avec un mauvais réseau ou de vieux ordinateurs.

Slide 11

Slide 11

🖐 ¡Hola Horacio! https://github.com/LostInBrittany/stencil-beers

Slide 12

Slide 12

2022 A-t-on réellement besoin d’un laptop à 6000€ ?

Slide 13

Slide 13

Laissez moi vous raconter une histoire… Your next project From: Boss boss@mycompany.com To: Developer dev@mycompany.com Hi Developer! Next Monday you will begin a new project with Big Customer. You will be in a team building a system with a distributed architecture, using Redis & MariaDB storage, Go Python and Java applications, RabbitMQ event bus, … And here you have your new laptop, a good one this time, it has 8 GB RAM!

Slide 14

Slide 14

Les containers ont changé le jeu On peut utiliser dans son portable la même archi qu’en prod

Slide 15

Slide 15

Même pour des architectures complexes

Slide 16

Slide 16

Mais un laptop reste un laptop… Et tous ces containers bouffent beaucoup de RAM et CPU

Slide 17

Slide 17

Sans parler du temps et effort L’installation et la configuration ne sont pas si simples…

Slide 18

Slide 18

Dans l’idéal je voudrais un IDEaaS Integrated Development Environment as a Service

Slide 19

Slide 19

C’est là que Philippe m’a parlé de GitPod

Slide 20

Slide 20

Un IDE complet dans un onglet Un IDE sur le Web 🌍 ● Eclipse Theia → VS Code ● Remote ● Workspaces

Slide 21

Slide 21

Il est plus qu’un IDE Un IDE n’est qu’un élément constitutif de un environnement de dev basé sur le cloud

Slide 22

Slide 22

Slide 23

Slide 23

Sans avoir besoin d’un laptop surpuissant ● Low cost ultraportable laptop ● Chromebook ● iPad / Tablette Android*

  • L’expérience est encore un peu décevante dans certains cas…

Slide 24

Slide 24

Les projets GitPod se basent sur Git Il peut se connecter sur : ● N’importe quelle version de GitPod: ○ GitLab ○ GitHub ○ BitBucket ● Versions on-premises ou open source ○ Votre propre dépôt Git privé

Slide 25

Slide 25

Gitpod - comment y accéder ? Gitpod.io ou Gitpod self hosted Partir dʼun dépôt Git Ajout de https://gitpod.io/# Extension navigateur Gitlab integration

Slide 26

Slide 26

Anatomie d’un projet GitPod ● Une image 🐳 Docker par défaut : gitpod/workspace-full ● Deux fichiers 📝 de configuration : .gitpod.dockerfile .gitpod.yml

Slide 27

Slide 27

Projects & Workspaces ● Un workspace est un environnement 🐳 Docker complet ● Des workspaces multiples pour chaque projet ○ Par exemple pour des branches ou des commits spécifiques ● Les workspaces sont peuvent être partagés ● Communication possible entre workspaces

Slide 28

Slide 28

Combien ça coûte ? ● SaaS version ● Free Professional Open Source plan: no limit (public projects) ● Self hosted (K8S) Open Source (Free) et Pro (29€)

Slide 29

Slide 29

Pourquoi Gitpod plutôt que CodeSpace ?

Slide 30

Slide 30

Pourquoi GitPod plutôt que CodeSpace ? ○ ○ ○ ○ ○ ○ Plus de ressources machine (cpu & ram) Disponible pour GitLab, BitBucket, GitHub Open source Self-Hosted possible (GCP, AWS, K8S) SnapShots PreBuilds

Slide 31

Slide 31

Installation de GitPod Open Source Vous n’avez besoin que de Kubernetes…

Slide 32

Slide 32

Bonnes et mauvaises raisons Bonnes raisons d’utiliser GitPod Open Source : ● Je ne peux pas utiliser un SaaS avec mon code source ○ Ça veut aussi dire pas de GitHub, GitLab or BitBucket… Mauvaises raisons d’utiliser GitPod Open Source: ● Je suis radin et je ne veux pas payer le SaaS ○ Héberger GitPod vous coûtera du temps et de l’argent

Slide 33

Slide 33

Pas trop compliqué à installer Mais vous avez besoin de connaître Kubernetes…

Slide 34

Slide 34

Choisissez plutôt une solution managée Vous utilisez le cluster, l’opérateur s’occupe des soucis

Slide 35

Slide 35

K3S sur une VM… ou avec CiVo Pas besoin de cluster Kubernetes

Slide 36

Slide 36

Pourquoi ? Mais avec des démos

Slide 37

Slide 37

👋 Hello World 🌍 https://gitlab.com/k33g_org/tnt2022/readme.md

Slide 38

Slide 38

Vous avez un workshop à préparer… Félicitations Horacio De : Big Conference organization@bigconference.com À : Horacio Gonzalez horacio.gonzalez@gmail.com Salut Horacio ! Nous sommes heureux de vous annoncer que votre atelier “Apprendre les composants Web en deux heures” a été accepté à la Grande Conférence 2021. Comme nous sommes une conférence hybride, vous aurez 50 participants physiquement dans la salle et 200 participants à distance. L’intégration est essentielle dans cette configuration, assurez-vous que les participants puissent facilement créer un environnement de travail en quelques minutes, même avec un mauvais réseau ou de vieux ordinateurs.

Slide 39

Slide 39

🖐 ¡Hola Horacio! https://github.com/LostInBrittany/stencil-beers

Slide 40

Slide 40

🖐 Hello Philippe La nouvelle équipe arrive lundi De : Patron boss@mycompany.com À : Chef de projet pm@mycompany.com Salut chef de projet ! Votre équipe Shiny Project arrivera lundi prochain. Vous aurez 15 développeurs dans l’équipe, et ils doivent être productifs dès le premier jour. Un lot de 15 ordinateurs portables et 3 serveurs a été envoyé par DHL à votre bureau, veuillez vous assurer qu’ils sont installés et fonctionnent d’ici lundi matin. Passe un bon weekend! https://gitlab.com/k33g_org/tnt2022/prometheus-metrics-generator

Slide 41

Slide 41

🖐 Hello again, Horacio! Cours sur OVHcloud Managed Kubernetes De : Partenaire training@partner.com À : Horacio Gonzalez horacio.gonzalez@ovhcloud.com Salut Horacio ! Comme expliqué par téléphone, nous aimerions que vous suiviez une formation OVHcloud Managed Kubernetes pour notre organisation. Nous devons être entièrement basés sur le Web, les participants ne pourront rien installer sur leurs ordinateurs (même pas kubectl, helm ou tout autre outil). Les participants n’auront que leurs navigateurs et leurs identifiants API OVHcloud.

Slide 42

Slide 42

Une plateforme prête à utiliser pour K8s https://github.com/LostInBrittany/gitpod4k8s

Slide 43

Slide 43

🖐 Coucou Kristen Coucou Kristen, il faudrait préparer 30 postes de développement Rust & Node.js pour le nouveau projet wasm pour le client Pouillou https://gitlab.com/k33g_org/tnt2022/rust.wasm

Slide 44

Slide 44

🖐 Au fait Philippe, tes side-projects … Au fait Philippe pour tes side-projects, tu utilises aussi GitPod ? amélioration workflow: http://gitlab.com/k33g_org/tnt2022/rust.wasm/-/issues boulot: runners on demand https://gitlab.com/k33g_org/gitlab-cookbook/runners/six-runners-in-docker oss: https://github.com/suborbital/sat

Slide 45

Slide 45

👋 Hey Jane ! Salut Jane, bienvenue chez GitLab, tu vas contribuer au code source d’une application avec une architecture multi nodes, avec du Redis, du PostgreSQL, du Ruby, du Go, du NodeJS, du … … Et voici ton portable avec 8Go de RAM 😉 https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/gitpod.md

Slide 46

Slide 46

Slide 47

Slide 47

Slide 48

Slide 48

⏱ 5 minutes

Slide 49

Slide 49

One more thing… Comme disait le maître

Slide 50

Slide 50

VS Code dans le navigateur pour tout le monde OpenVSCode Server

Slide 51

Slide 51

Projet open source par GitPod Supporté par GitLab, VMware, Uber, SAP, Sourcegraph, SUSE… https://github.com/gitpod-io/openvscode-server/

Slide 52

Slide 52

C’est quoi la différence avec Gitpod? GitPod est plus qu’un IDE

Slide 53

Slide 53

Très simple à déployer docker run -it —init -p 3000:3000 -v “$(pwd):/home/workspace:cached” gitpod/openvscode-server

Slide 54

Slide 54

Conclusion

Slide 55

Slide 55

Bossez léger 😉

Slide 56

Slide 56

Bossez … 😉

Slide 57

Slide 57

Thank you for listening