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

A presentation at AsynConf in November 2021 in by Horacio Gonzalez

Slide 1

Slide 1

Developing for the cloud… in the cloud… with GitPod! Horacio Gonzalez 2021-11-01

Slide 2

Slide 2

Who are we? Introducing myself and introducing OVHcloud

Slide 3

Slide 3

Horacio Gonzalez @LostInBrittany Spaniard lost in Brittany, developer, dreamer and all-around geek

Slide 4

Slide 4

OVHcloud: A global leader Web Cloud & Telcom 30 Data Centers in 12 locations 1 Million+ Servers produced since 1999 Private Cloud 34 Points of Presence on a 20 TBPS Bandwidth Network 1.5 Million Customers across 132 countries Public Cloud 2200 Employees worldwide 3.8 Million Websites hosting Storage 115K Private Cloud VMS running 1.5 Billion Euros Invested since 2016 300K Public Cloud instances running P.U.E. 1.09 Energy efficiency indicator 380K Physical Servers running in our data centers 20+ Years in Business Disrupting since 1999 Network & Security

Slide 5

Slide 5

High performance at affordable prices From bare-metal servers to public or private cloud

Slide 6

Slide 6

Why are you talking about an IDE? This is the Container Day conference, you fool!

Slide 7

Slide 7

We all live in a Cloud world Cloud services are everywhere

Slide 8

Slide 8

Containers are a foundation of Cloud More and more of cloud services are built on containers

Slide 9

Slide 9

Developers build the Cloud Every service, every application

Slide 10

Slide 10

But they still do it in a traditional way Installing an IDE on their computer

Slide 11

Slide 11

What about doing it different? Building for the Cloud in the Cloud

Slide 12

Slide 12

Ok, man, stop the marketing… This is a technical talk, let’s talk tech

Slide 13

Slide 13

Being a cloud developer in 2021 Or do we really need 5000$ laptops to develop an app

Slide 14

Slide 14

Let me tell you a story 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 15

Slide 15

Containers have changed the game Using on your laptop the same architecture that in production

Slide 16

Slide 16

Even for complex architectures

Slide 17

Slide 17

But a laptop is still a laptop And all those containers need lots of CPU and RAM

Slide 18

Slide 18

Setting it up takes lots of time Installing and configuring isn’t always straightforward

Slide 19

Slide 19

In an ideal world, IDEaaS Integrated Development Environment as a Service

Slide 20

Slide 20

GitPod is an open source IDEaaS Automated, ephemeral developer environments in the web

Slide 21

Slide 21

A full IDE running in a browser tab Web based IDE 🌍 ● Eclipse Theia → VS Code ● Remote ● Workspaces

Slide 22

Slide 22

But more than an IDE An IDE is just one building block of a working cloud based developer environment

Slide 23

Slide 23

No overpowered laptop needed ● Low cost ultraportable laptop ● Chromebook ● iPad* ● Android tablet*

  • The experience is still a bit lacking…

Slide 24

Slide 24

GitPod projects are based on Git It can be used with: ● Any GitPod version: ○ GitLab ○ GitHub ○ BitBucket ● On-premises or open source version ○ Your own private Git repository

Slide 25

Slide 25

Anatomy of a GitPod project ● A default 🐳 Docker image: gitpod/workspace-full ● Two optional 📝 configuration files: .gitpod.dockerfile .gitpod.yml

Slide 26

Slide 26

Projects & Workspaces ● A workspace is a full 🐳 Docker environment ● Multiple workspaces for every project ○ For example for branches or specific commits ● Workspaces are shareable ● Communication from workspace to workspace

Slide 27

Slide 27

How much does it cost? ● SaaS version ● Free Professional Open Source plan: no limit (public projects) ● Self hosted (K8S) Open Source (Free) et Pro (29€)

Slide 28

Slide 28

Some other use-cases Unexpected good matches for GitPod

Slide 29

Slide 29

Running workshops Congratulations Horacio From: Big Conference organization@bigconference.com To: Horacio Gonzalez horacio.gonzalez@gmail.com Hi Horacio! We are happy to tell you that your workshop “Learn Web Components in two hours” has been accepted at Big Conference 2021. As we are an hybrid conference, you will have 50 attendees physically in the room and 200 remote attendees. The onboarding is critical in this setup, please be sure that attendees can easily spawn a working environment in several minutes, even with a bad network or old computers.

Slide 30

Slide 30

Example: Stencil Beers tutorial https://github.com/LostInBrittany/stencil-beers

Slide 31

Slide 31

Setting up team environments New team arrives on Monday From: Boss boss@mycompany.com To: Project Manager pm@mycompany.com Hi Project Manager! Your Shiny Project team will arrive next Monday. You will have 15 developers in the team, and they need to be productive from day one. A batch of 15 laptops and 3 servers has been sent by DHL to your office, please be sure that they are installed and working by Monday morning. Have a great weekend!

Slide 32

Slide 32

Integrated learning platform OVHcloud Managed Kubernetes course From: Training Partner <organization@training@partner.com> To: Horacio Gonzalez horacio.gonzalez@ovhcloud.com Hi Horacio! As explained by phone, we would like you to do an OVHcloud Managed Kubernetes course for our organisation. We need to be fully web based, attendees won’t be able to install anything in their computers (not even kubectl, helm or any other tool). Attendees will only have their browsers and their OVHcloud API credentials.

Slide 33

Slide 33

Making customers test new features Customer X wants to test the feature From: Boss boss@mycompany.com To: Project Manager pm@mycompany.com Hi Project Manager! Customer X has asked to test the new feature your team is working on. I have pointed to the Git repository, but they aren’t interesting in reading code, they want to test it! I have tell them that you will send them a way to test by Monday. Have a great weekend!

Slide 34

Slide 34

Code for the cloud, in the cloud

Slide 35

Slide 35

Installing GitPod Open Source You only need a Kubernetes…

Slide 36

Slide 36

Good and bad reasons Good reasons to use GitPod Open Source: ● I can’t use a SaaS to deal with my source code ○ That also means no GitHub, GitLab or BitBucket… Bad reasons to use GitPod Open Source: ● I am cheap and I don’t want to pay the SaaS ○ It’s going to cost you time and money to host it

Slide 37

Slide 37

Not a straightforward task… You need some Kubernetes skills…

Slide 38

Slide 38

If you don’t need to build it, choose a certified managed solution You get the cluster, the operator get the problems

Slide 39

Slide 39

Using OVHcloud Managed Kubernetes A easy, cost-effective solution

Slide 40

Slide 40

One more thing… Let’s copy from the master

Slide 41

Slide 41

VS Code in the browser for everyone OpenVSCode Server

Slide 42

Slide 42

Open source project by GitPod Backed by GitLab, VMware, Uber, SAP, Sourcegraph, SUSE… https://github.com/gitpod-io/openvscode-server/

Slide 43

Slide 43

How is this different to Gitpod? GitPod is more than an IDE

Slide 44

Slide 44

Very simple to deploy docker run -it —init -p 3000:3000 -v “$(pwd):/home/workspace:cached” gitpod/openvscode-server

Slide 45

Slide 45

Disclaimer: a two people work Many thanks to Philippe Charrière (@k33g_org)

Slide 46

Slide 46

That’s all, folks! Thank you all!