Developing for the cloud… in the cloud… with GitPod!

A presentation at Paris JUG in December 2021 in by Horacio Gonzalez

Slide 1

Slide 1

Développe dans ton cloud pour le cloud… avec GitPod Thierry Chantier & Horacio Gonzalez 2021-12-14

Slide 2

Slide 2

Qui sommes-nous?

Slide 3

Slide 3

Thierry Chantier @titimoby

Slide 4

Slide 4

Horacio Gonzalez @LostInBrittany Espagnol perdu en Bretagne, développeur, rêveur et geek polyvalent

Slide 5

Slide 5

Sérieux, un talk sur un IDE ? Nous sommes devs, nous avons déjà notre IDE favori !

Slide 6

Slide 6

Nous vivons dans les nuages Les services clouds sont partout !

Slide 7

Slide 7

Des nuages construits par des Devs Chaque service, chaque application…

Slide 8

Slide 8

Mais ces Devs développent comme en 1985… En installant un IDE sur leur gros ordinateur

Slide 9

Slide 9

Et si on changeait la façon de le faire ? Construisons les nuages dans les nuages…

Slide 10

Slide 10

Ok, les gars, arrêtez le marketing à deux balles… C’est un talk tech, parlons tech !

Slide 11

Slide 11

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

Slide 12

Slide 12

Eté 2020 https://tontoncodeur.fr/cahier-de-vacances-premieres-briques/ https://gitlab.com/k33g_org/k33g_org.gitlab.io/-/issues/80

Slide 13

Slide 13

Printemps 2021 bit.ly/YT-gitpod

Slide 14

Slide 14

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 15

Slide 15

Vous avez un workshop à préparer… https://github.com/LostInBrittany/stencil-beers

Slide 16

Slide 16

Être un dev cloud en 2021 Ou avons-nous vraiment besoin de ce laptop à 5000$ pour coder ?

Slide 17

Slide 17

Laissez-moi vous raconter une histoire Ton prochain projet From: Boss boss@mycompany.com To: Dev dev@mycompany.com Coucou Dev ! Lundi prochain, vous commencez un nouveau projet avec Big Customer. Vous serez dans une équipe construisant un système avec une architecture distribuée, utilisant le stockage Redis & MariaDB, des applications en Go, Python et Java, un bus événementiel RabbitMQ, … Et voilà votre nouvel ordinateur portable, un bon cette fois, il dispose de 8 Go de RAM !

Slide 18

Slide 18

Les conteneurs ont changé la donne On utilise la même architecture sur le laptop de dev et en prod

Slide 19

Slide 19

Même pour des architectures complexes

Slide 20

Slide 20

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

Slide 21

Slide 21

Sans parler du temps de mise en route L’installation et configuration ne sont pas triviales…

Slide 22

Slide 22

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

Slide 23

Slide 23

GitPod est un IDEaaS open source Environnements de dev automatisés et éphémères sur le Web

Slide 24

Slide 24

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

Slide 25

Slide 25

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 26

Slide 26

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 27

Slide 27

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 28

Slide 28

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 29

Slide 29

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

Slide 30

Slide 30

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 31

Slide 31

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 32

Slide 32

Gitpod - Codespace ? ● ● ● ● ● Open Source Ressources plus généreuses pour Gitpod Possibilité de lʼhéberger soit même Gitpod est aussi utilisable avec Gitlab et Bitbucket Les prebuild nʼexistent pas pour CodeSpace Démo time !

Slide 33

Slide 33

D’autres use-cases Des autres exemples avec GitPod

Slide 34

Slide 34

Préparation d’environnements pour une équipe 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!

Slide 35

Slide 35

Permettre au client de tester des fonctionnalités Le client X veut tester la fonctionnalité De : Patron boss@mycompany.com À : Chef de projet pm@mycompany.com Salut chef de projet ! Le client X a demandé de tester la nouvelle fonctionnalité sur laquelle travaille votre équipe. J’ai pointé vers le dépôt Git, mais ils ne sont pas intéressants pour lire du code, ils veulent le tester ! Je leur ai dit que vous leur enverriez un moyen de tester d’ici lundi. Passe un bon weekend!

Slide 36

Slide 36

Plateforme d’apprentissage 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 37

Slide 37

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

Slide 38

Slide 38

Codez pour les nuages, dans les nuages

Slide 39

Slide 39

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

Slide 40

Slide 40

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 41

Slide 41

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

Slide 42

Slide 42

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

Slide 43

Slide 43

One more thing… Comme disait le maître

Slide 44

Slide 44

VS Code dans le navigateur pour tout le monde OpenVSCode Server

Slide 45

Slide 45

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

Slide 46

Slide 46

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

Slide 47

Slide 47

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

Slide 48

Slide 48

Two more things… ;) Comme disait l’autre

Slide 49

Slide 49

Un travail de trois personnes Many thanks to Philippe Charrière (@k33g_org)

Slide 50

Slide 50

That’s all, folks! Thank you all!