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

Who are we? Introducing myself and introducing OVHcloud

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

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

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

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

We all live in a Cloud world Cloud services are everywhere

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

Developers build the Cloud Every service, every application

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

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

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

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

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!

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

Even for complex architectures

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

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

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

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

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

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

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

  • The experience is still a bit lacking…

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

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

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

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€)

Some other use-cases Unexpected good matches for GitPod

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.

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

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!

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.

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!

Code for the cloud, in the cloud

Installing GitPod Open Source You only need a Kubernetes…

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

Not a straightforward task… You need some Kubernetes skills…

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

Using OVHcloud Managed Kubernetes A easy, cost-effective solution

One more thing… Let’s copy from the master

VS Code in the browser for everyone OpenVSCode Server

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

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

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

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

That’s all, folks! Thank you all!