Cloud Development Environments: the Gitpod Guide
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).
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.
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.
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.
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.
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.
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
Subscribe to my newsletter
Read articles from _Damilare directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by