IDE as a Service Philippe Charrière @k33g_org
Horacio Gonzalez @LostInBrittany
Slide 2
Qui sommes nous?
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
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.
2022 A-t-on réellement besoin d’un laptop à 6000€ ?
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
Les containers ont changé le jeu
On peut utiliser dans son portable la même archi qu’en prod
Slide 15
Même pour des architectures complexes
Slide 16
Mais un laptop reste un laptop…
Et tous ces containers bouffent beaucoup de RAM et CPU
Slide 17
Sans parler du temps et effort
L’installation et la configuration ne sont pas si simples…
Slide 18
Dans l’idéal je voudrais un IDEaaS
Integrated Development Environment as a Service
Slide 19
C’est là que Philippe m’a parlé de GitPod
Slide 20
Un IDE complet dans un onglet Un IDE sur le Web 🌍 ● Eclipse Theia → VS Code ● Remote ● Workspaces
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 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
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
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
Anatomie d’un projet GitPod ● Une image 🐳 Docker par défaut : gitpod/workspace-full
● Deux fichiers 📝 de configuration : .gitpod.dockerfile .gitpod.yml
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
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
Pourquoi Gitpod plutôt que CodeSpace ?
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
Installation de GitPod Open Source Vous n’avez besoin que de Kubernetes…
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
Pas trop compliqué à installer
Mais vous avez besoin de connaître Kubernetes…
Slide 34
Choisissez plutôt une solution managée
Vous utilisez le cluster, l’opérateur s’occupe des soucis
Slide 35
K3S sur une VM… ou avec CiVo
Pas besoin de cluster Kubernetes
Slide 36
Pourquoi ? Mais avec des démos
Slide 37
👋 Hello World 🌍
https://gitlab.com/k33g_org/tnt2022/readme.md
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.
🖐 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
🖐 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
Une plateforme prête à utiliser pour K8s
https://github.com/LostInBrittany/gitpod4k8s
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
🖐 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
👋 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 47
Slide 48
⏱ 5 minutes
Slide 49
One more thing… Comme disait le maître
Slide 50
VS Code dans le navigateur pour tout le monde
OpenVSCode Server
Slide 51
Projet open source par GitPod
Supporté par GitLab, VMware, Uber, SAP, Sourcegraph, SUSE… https://github.com/gitpod-io/openvscode-server/
Slide 52
C’est quoi la différence avec Gitpod?
GitPod est plus qu’un IDE
Slide 53
Très simple à déployer
docker run -it —init -p 3000:3000 -v “$(pwd):/home/workspace:cached” gitpod/openvscode-server