Loft Labs, a leading provider of software tools for platform engineers, announced the release of DevPod, an open-source project that allows engineers to codify reusable dev environments for any infrastructure. DevPod is the first and only tool for creating and managing dev environments that does not require a heavyweight server-side setup. Instead, DevPod is entirely client-only and runs directly on engineers’ machines while connecting to cloud platforms like AWS or remote systems like Kubernetes without a server-side component in the middle.
The Loft team created and currently maintains several popular open-source projects in the Kubernetes space, including vcluster (2,500+ GitHub stars, 32M+ vclusters created) and DevSpace (3,500+ GitHub stars, 1.2M+ downloads). DevPod’s launch marks the team’s first project that extends beyond the Kubernetes ecosystem. While working on their own products, the Loft team evaluated existing dev environment offerings and was disappointed to see no pure open source, infrastructure-independent solution available that could fit the needs of open-source contributors and enterprise engineers alike. The team created DevPod to fill this gap.
Unlike other dev environment offerings, DevPod does not host or manage the dev environments. Instead, DevPod introduces a way to define a dev environment which can then be run in any cloud infrastructure or even on a localhost machine using Docker or Kubernetes. DevPod allows dev teams to take full control over their dev environments, without being locked into a specific provider. Developers can write code in any language and run it anywhere. For example, they can test on virtual machines, or code in Python with VSCode running on Docker Desktop, or in Go running in EKS. If the provider they need doesn’t exist, they can build it.
CIO INFLUENCE: Exascend Launches Industrial-Grade SD and MicroSD Cards to Meet Growing IoT Edge Storage Demand
“We see DevPod as the Terraform for dev environments. Define your dev-environment-as-code and then run it anywhere you want. Just like Terraform, DevPod is infrastructure-independent and client-only, which makes it incredibly easy to get started with,” states Lukas Gentele, CEO at Loft Labs. “One of my favorite features in DevPod is that it automatically puts your dev environments to sleep when you’re not working. Since DevPod is client-only, we do this by injecting a lightweight control tool into the dev environment that looks for active connections and turns the environment off when nobody is using it.”
If you have used Codespaces before, you know how powerful a pre-configured development environment can be. With the power of most cloud dev environments also comes a lock-in and the inability to control everything yourself. Most dev environment offerings either require a complex server-side setup by a system admin or they are managed offerings that force you into a particular cloud offering. Neither one is ideal. DevPod takes a different approach. Instead of requiring a dev environment server, developers get an easy-to-install client-only desktop app. All you need is a devcontainer.json file in your project to launch a dev environment in any cloud or even on localhost.
Specifying a devcontainer.json to define a dev environment creates a reproducible experience for anyone using the project—no matter where they spin up the dev environment. DevPod allows users to seamlessly switch between cloud-hosted and local environments. Developers can work on Kubernetes in AWS for data-intensive operations and tests that need tons of computing power, but they can easily switch to Docker on their laptops to save costs if they don’t need all that cloud power. DevPod ensures developers can switch back and forth between environments while retaining the same experience.
CIO INFLUENCE: CSI Adds IT Governance to Advisory Services Offering as Cybersecurity, Regulatory Landscapes Grow in Complexity
DevPod is the glue connecting local IDEs to machines or containers for development. Depending on a project’s requirements, developers can create a workspace locally on their computers, provision a powerful VM in the cloud, connect to a spare remote computer, or create a dev container in Kubernetes. Under the hood, DevPod uses so-called providers to map what’s defined in the devcontainer.json to the infrastructure a user selects to spin up the dev environment. DevPod providers can create these containers on the local computer, any remote machine, or in a public or private cloud. It’s also possible for developers to extend DevPod and write their own custom providers.
Why DevPod
Compared to hosted services such as GitHub Codespaces, GitPod, JetBrains Spaces, or Google Cloud Workstations, DevPod has the following advantages:
- Cost savings: DevPod is completely FREE. It can use bare virtual machines or even your localhost laptop to run your dev environments.
- No vendor lock-in: DevPod supports all major cloud providers and even lets developers add their own—either just for themselves, or for the community. Choose the best cloud provider for the task— whether that be the most affordable or the most powerful—and switch as needed.
- Local development: Users get the same developer experience locally, so they don’t need to rely on a cloud provider.
- Cross IDE support: DevPod supports VSCode and the full JetBrains suite; other IDEs can be connected via ssh.
- Client-only: DevPod runs solely on a developer’s computer as a lightweight desktop app, so there’s no need to install a server backend. Developers can use the DevPod CLI if they prefer the terminal.
- Open Source: DevPod is 100% open source and extensible. If a provider doesn’t exist, developers can just create their own.
- Rich feature set: DevPod already supports prebuilds, auto inactivity shutdown, git and docker credentials sync, with many more features to come.
Loft Labs designed DevPod to use the devcontainer.json specification to configure the development container, which is also used by other popular tools such as VSCode dev containers or GitHub Codespaces. This means developers can already reuse projects that use this configuration to spin up a workspace in DevPod. If no configuration is found, DevPod will automatically try to determine the programming language used and provide an appropriate template for users to get started with.
CIO INFLUENCE: SEEQC Unveils Italy’s First Quantum Computing System
[To share your insights with us, please write to sghosh@martechseries.com]