Gitpod looks to Advance Cloud Developer Environments
DevOps has been all the rage for the last couple of years. Today, something like GitHub / GitLab with Continuous Integration seems to be the absolute minimum for a decent development toolchain. Such tools allow faster feedback cycles, better reproducibility, and generally more productivity.
Continuous dev environments are a crucial part in a fully optimized DevOps toolchain, that allow to instantaneously spin up a ready-to-code developer environment from any Git state. Continuous dev environments reduce friction in onboarding and task switching and improves reproducibility across the project.
Automated Dev Environments
Automating dev environments is not new and usually focuses on the initial setup, but that doesn’t quite cut it. Of course, we all have felt the pain of being on-boarded in a new project, spending the first week figuring out what tools to install and how to configure them correctly. Manually setting up a dev environment is a waste of energy. Surprising that we still do such things, given that we developers are usually busy automating everything else in the world.
IT operations of all types have increasingly moved to the cloud in recent years, but when it comes to actual development, a lot of work still happens on local desktops. Among the many capabilities of the cloud is the ability to quickly setup and then tear down an environment that could be used for any amount of time.
It’s a capability that is widely used to help scale the infrastructure that supports applications, but that same model hasn’t been as widely adopted for development environments. It’s a situation that Germany-based startup, Gitpod, is looking to change with its technology that aims to evolve the current integrated developer environments (IDEs) approach into a more agile approach which it calls ‘cloud development environments’ (CDEs).
“Developers today still work on their local machines, though everything in production runs in the cloud,” Johannes Landgraf, cofounder and CEO of Gitpod told VentureBeat. “That leads to problems that I think everybody that has developed in teams has experienced at some point.”
Over the last several years, Gitpod has iterated on its open-source-based approach that helps enterprises to set up developer workspaces in the cloud. In 2021, the company raised $13 million in a seed round of funding to grow its efforts. Today the company announced the next stage of its evolution with a $25 million series A, led by none other than Tom Preston-Werner who was the founder and former CEO of GitHub.
Looking beyond the Cloud IDE
The cornerstone for most development work over the last several decades has been the developer IDE, which is the actual tool in which code is written.
Back in 2020 Gitpod supported the development of the Eclipse Theia open-source IDE, which provides a cloud based deployment model. Gitpod no longer contributes to the Eclipse Theia open-source project in 2022, instead taking what Landgraf referred to as a ‘non-opinionated’ approach to IDEs.
“We had to help create Theia in years past because we had to build a professional editing experience that supports cloud based development functionality,” Landgraf said. “Now we support all editing experiences out there that enable you to connect to a container that runs in the cloud.”
There are now multiple IDEs that can run in the cloud including Microsoft’s Visual Studio Code (VS Code) as well Jetbrains IntelliJ. As such, Landgraf emphasized that what Gitpod is doing is not about enabling a cloud IDE. Rather what his company is doing is providing capabilities that enable organizations to provision and orchestrate development environments in the cloud. That includes all these core IDE extensions and software utilities that a developer needs to be productive.
What is a cloud developer environment (CDE)?
The end result of what Gitpod enables is something the company is now referring to as a cloud developer environment (CDE). The CDE can be defined in code, enabling a programmatic and reproducible approach to building and deploying developer environments.
The idea of defining an IT deployment as code is not a new one. Infrastructure as code (IaC) technologies such as Hashicorp’s Terraform and configuration management tools like Chef, Puppet and Ansible have been doing the same thing for a decade. In Landsgraf’s view the time for defining developer environments as code has come now too.
There are several key characteristics that define a CDE, according to Landsgraf. One is the concept of ephemerality, that is the environment can be short lived and disposable. As developers work on different tasks or projects, they can build and shutdown CDEs as often as needed. Another key characteristic is that CDEs are reproducible, as such an enterprise can define a CDE image that can be used repeatedly by different developers, across an organization.
The message that Gitpod is preaching has resonated with developers in recent years and with the new funding the goal is to expand the reach to attract even move developers.
“The world of development is not yet fully happening in the cloud,” Landgraf said. ”We have 750,000 people that have signed up for our service, so we know that people understand and realize that, but we haven’t yet really crossed the mass adoption threshold.”