Developing for the cloud… in the cloud!

A presentation at Container Day Italia in October 2021 in by Horacio Gonzalez

Slide 1

Slide 1

Developing for the cloud… in the cloud! Horacio Gonzalez 2021-10-08

Slide 2

Slide 2

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

Slide 3

Slide 3

Who are we? Introducing myself and introducing OVHcloud

Slide 4

Slide 4

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

Slide 5

Slide 5

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 6

Slide 6

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

Slide 7

Slide 7

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

Slide 8

Slide 8

We all live in a Cloud world Cloud services are everywhere

Slide 9

Slide 9

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

Slide 10

Slide 10

Developers build the Cloud Every service, every application

Slide 11

Slide 11

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

Slide 12

Slide 12

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

Slide 13

Slide 13

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

Slide 14

Slide 14

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

Slide 15

Slide 15

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 16

Slide 16

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

Slide 17

Slide 17

Even for complex architectures

Slide 18

Slide 18

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

Slide 19

Slide 19

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

Slide 20

Slide 20

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

Slide 21

Slide 21

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

Slide 22

Slide 22

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

Slide 23

Slide 23

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

Slide 24

Slide 24

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

  • The experience is still a bit lacking…

Slide 25

Slide 25

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 26

Slide 26

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

Slide 27

Slide 27

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 28

Slide 28

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 29

Slide 29

Some other use-cases Unexpected good matches for GitPod

Slide 30

Slide 30

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 31

Slide 31

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

Slide 32

Slide 32

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 33

Slide 33

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 34

Slide 34

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 35

Slide 35

Code for the cloud, in the cloud

Slide 36

Slide 36

Installing GitPod Open Source You only need a Kubernetes…

Slide 37

Slide 37

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 38

Slide 38

Not a straightforward task… You need some Kubernetes skills…

Slide 39

Slide 39

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

Slide 40

Slide 40

Using OVHcloud Managed Kubernetes A easy, cost-effective solution

Slide 41

Slide 41

That’s all, folks! Thank you all!