Infra flexibility vs. app flexibility are concepts often misconstrued in the context of cloud development environments, especially as related to Gitpod vs. Coder. Learn when to choose which solution in this post.
Gitpod and Coder both provide platforms for creating and managing development environments. The biggest difference between the two is their developer experience and operational overhead.
Gitpod is an install-and-forget, self-hosted product for automated and standardized development environments.
Coder is a self-managed and self-hosted cloud development environment — this means you host their product, and you also commit to supporting and maintaining it. Coder can be easy to get started with for those familiar with Terraform, or with backgrounds in infrastructure, but requires a considerable amount of maintenance due to infrastructure choices you’re required to make. These maintenance challenges typically manifest as ‘day 2’ problems and can increase your total cost of ownership. Day 2 challenges are also often not apparent when trialing a product, making them a true hidden cost.
Cloud development environments (CDEs) are development workspaces pre-configured with all the tools, dependencies and libraries required to start coding. You can use CDEs for:
The ‘cloud’ part of cloud development environments represents infrastructure that can either be hosted within your organization’s cloud account, or hosted within a vendor’s cloud account. Once the decision is made on where to host the software, you have to decide how to manage it. This results in three options that will define the ease of use for getting started, and the ongoing overhead for maintenance and overall developer experience.
While you pay Coder the price of an Enterprise offering, none of the functionality ‘provided’ to users comes as a service. It comes as build-your-own infrastructure with attached massive maintenance costs. That ongoing overhead and impact to developer experience are bucketed into the day 2 challenges mentioned earlier. These challenges are more prominent depending on which model you move forward with. We discuss the challenges of the self-hosted and self-managed model in more detail in this blog post written by our CTO Chris Weichel. But for now, here’s your TLDR;
Self-hosted and self-managed software provides you maximum infrastructure choice at the cost of maximum overhead. It checks the boxes for security benefits associated with being hosted within your cloud infrastructure—provided you implement those security controls—by allowing you to manage and maintain every service related to that software: the components, data storage methods, computing resources, networking setup, observability, etc. But because of this degree of customization, setup can be tedious if you aren’t familiar with basic infrastructure concepts, and maintenance is always resource-intensive. This describes Coder.
Vendor-hosted and vendor-managed solutions are the complete opposite. They’re what we’re used to calling your typical ‘SaaS’ offering. They’re quick to set up, have no overhead, but offer limited customization and often are incompatible with enterprise compliance requirements. These solutions are often great for smaller teams with simple setups. This describes Gitpod’s pay-as-you-go offering.
Self-hosted and vendor-managed solutions are your Goldilocks solutions. They provide the security benefits of being hosted in your organization’s cloud infrastructure, as well as the ease and efficiency of being managed by a vendor. They eliminate any need for you to operate the software and require minimal upfront investment. This describes Gitpod’s enterprise offering.
Coder is open-sourced. They have optimized for being self-serve and quick to trial. And while it is fairly easy for anyone with knowledge of Terraform or basic infrastructure concepts to get up and running with Coder, they often overlook everything that happens after Day 1 – enter the day 2 challenges described above.
At Gitpod, we understand the challenges of self-hosting CDE software well. Our first enterprise product used a similar deployment mode to Coder. But we learned of the huge operational burden that we were passing onto our customers in operating and managing CDE infrastructure. Our customers wanted a CDE and all the productivity and security benefits, but didn’t want the overhead of managing that infrastructure. Because of this, we introduced a self-hosted, but vendor-managed solution.
When it comes to making infrastructure choices with a tool like Coder, it’s helpful to understand what decisions they ask you to make. Who wants to mess with Kubernetes, let alone a long list of requirements for running and maintaining a product you are paying for? Coder requires you to:
It’s also helpful to visualize this. Everything in the gray shows you your infrastructure choices – otherwise known as decisions you need to make, and then maintain, to run Coder.
The list above represents the infrastructure choices that Coder provides. It also represents a long-list, not inclusive of everything required in order to maintain a self-managed CDE. Part of that maintenance not represented above is updating the Coder software. Each time Coder pushes an update, you will have to manually make changes to your setup in order to retrofit those changes.
If you have a team that is ready to be resourced specifically towards maintaining CDEs and making choices about the infrastructure surrounding it, Coder could be a great fit. It will give you the most infrastructure flexibility when making choices on how to build your CDE solution.
But if your team looks at Coder because they thought it was the only solution that would fit its security needs, that is where sharing this post with them would come in handy. Gitpod is able to be self-hosted in your cloud infrastructure meaning it passes the security review for large enterprises. We explicitly chose to vendor-manage the application in order to take away the burden of operation. These are the infrastructure components we abstract away to provide our customers with a better developer experience, improved cost optimizations and higher security posture.
For contrast, here’s what your tech stack needs to look like when using Gitpod:
If high-security, application-flexibility and low-overhead is important to you, Gitpod is the right choice.
Gitpod was built with developer experience and security as equals, in mind. We have two offerings, an enterprise offering and pay-as-you-go. Gitpod’s enterprise offering is a single-tenant solution hosted by you, managed by us. The entire application is deployed within your cloud account ensuring Gitpod does not have direct access to source code, running workspaces or any other confidential resources. The Gitpod control plane, managed by us, is only responsible for monitoring the status of the instance and managing application updates.
Gitpod’s pay-as-you-go option is hosted and managed by us and best for teams who don’t have the same security requirements around hosting software. You can get started right away with no installation.
Overall, Gitpod is built for large enterprises as well as small teams. It’s best for those that are security conscious, but don’t want to resource a team that will manage their CDE installation and have to maintain those development environments. Coder is best for people who’d like end-to-end control of their infrastructure choices, as well as maintaining their software.
Here’s a feature breakdown:
Feature | Gitpod | Coder |
---|---|---|
Self-hosted | ✅ | ✅ |
Vendor-managed | ✅ | ❌ |
Try in seconds (laptop & cloud) | ✅ | ❌ |
SaaS deployment available | ✅ | ❌ |
Ephemeral workspaces | ✅ | ❌ |
Automatic scaling | ✅ | ❌ |
Automated version updates | ✅ | ❌ |
Managed database | ✅ | ❌ |
Managed Kubernetes workspaces | ✅ | ❌ |
Automatic security updates | ✅ | ❌ |
Private image registries | ✅ | ✅ |
Single-tenancy | ✅ | ✅ |
Use cloud commit | ✅ | ✅ |
Private networking access | ✅ | ✅ |
Self-hosted region | ✅ | ✅ |
GitHub, GitLab, Bitbucket integrations | ✅ | ✅ |
Automated VS Code integration | ✅ | ❌ |
Automatic JetBrains integration | ✅ | ❌ |
OIDC support for multiple identity providers | ✅ | ❌ |
Docker in workspaces | ✅ | ❌ |
Organizations/teams | ✅ | ❌ |
SSO | ✅ | ❌ |
Usage metrics | ✅ | ❌ |
Infra-level audit logs | ✅ | ❌ |
Configurable workspace resources and limits | ✅ | ❌ |
Workspace images and templates | ✅ | ❌ |
Workspace pre-builds | ✅ | ❌ |
Workspace snapshots | ✅ | ✅ |
CLI | ✅ | ✅ |
Programmatic access (APIs) | ✅ | ✅ |
This website uses cookies to enhance the user experience. Read our cookie policy for more info.