Cloud Development Environments: the Gitpod Guide

_Damilare_Damilare
4 min read

As the name suggests Cloud Development Environments (CDEs) are cloud-based, on-demand environments preconfigured with all the dependencies needed to write and review code.

Examples of CDEs are, Gitpod (the focus of this article) and GitHub Codespaces. They're more fully featured than online IDEs like StackBlitz and CodeSandbox which are more focused on JavaScript frameworks.

In this article, we're going to look at how CDEs work and the benefits of adopting them in your workflow.

Introduction

Gitpod workspaces run as containers which are units of software that package up code and its dependencies so the application runs quickly and reliably from one computing environment to another. This makes them incredibly fast and efficient.

Workspaces are based on Linux and can be automated through the configuration of a gitpod.yml file and/or a workspace image, such as a Docker Image which becomes a container at runtime. Anything you can do on Linux, you can do in Gitpod (one of my favourite things since this gives you access to a proper package).

💡
This is one of my favourite things about Gitpod since it gives you access to a proper package manager - apt-get and other useful Linux commands.

You can find out more about how workspaces work here.

Principles of CDEs

Some of the principles embraced in the design of Gitpod workspaces and CDEs in general include:

  • Instantly available on-demand

  • Extensible and powerful enough for any use case

  • Reproducible without manual intervention

  • Seamless setup process

  • Ephemeral and disposable environments for every new task

After using Gitpod for a while I can confirm that it achieves these design goals.

The Benefits of Using CDEs

CDEs allow developers to:

  • work from anywhere

  • access resources you wouldn't have been able to normally, for example

  • access pre-configured templates are available for virtually every language and framework. This means they don't have to repeat the installation or setup process

  • facilitate collaboration with other developers by making it as easy as sharing a link to your workspace

  • publish a public preview of a workspace

  • test out new frameworks and features without the commitment of having them installed on their (when they're not sure if they'll stick with them)

  • avoid becoming a meme😆

Employers can also benefit from the: sped-up developer onboarding, increased productivity and reduced security risk from shifting left.

Showcase

We are now going to look at Gitpod in action and see how easy it is to set up and get started.

Sign in

To get started create an account with one of the available git providers here:

Create a Workspace

There are many ways to start a workspace. In this showcase, we'll use this repository.

To start your workspace navigate to the repository and prefix its URL with gitpod.io/#. It is that simple, or better still you can click any of the links highlighted in the image below.

GitHub page of the django cookiecutter Gitpod sample

After this, you will be taken to a page where you can customise the options for your workspace. The defaults are okay for this example so you can continue.

Gitpod workspace customization options

Setting up the Template

The repository I chose for this demonstration is a "Gitpodified" version of the cookiecutter-django framework which is used for jumpstarting production-ready Django applications.

It demonstrates the extensibility of Gitpod since it requires a Postgres database which the standard workspace image doesn't provide. There's a guide on how to do this and set up other databases.

All the information you need to configure the project is on the project's README page.

After the setup is complete your workspace should look like this.

Complete setup for the github workspace

Miscellaneous

Settings

The Gitpod button in the bottom left corner of the workspace opens a menu that allows you to access your settings, stop a workspace, access the dashboard and documentation, etc.

Gitpod workspace menu options

Billing

Gitpod has a free tier which gives users 500 credits each month which is about 50 hours of use in a month, and users who upgrade to paid billing can use up to 1,000 credits, and pay for additional usage beyond that, as shown below.

Gitpod payment options

Conclusion

Overall, CDEs are a great tool for developers who want a reliable and secure development environment with all the benefits discussed in this article.

Thanks for reading.

Resources

2
Subscribe to my newsletter

Read articles from _Damilare directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

_Damilare
_Damilare