DevSpace Designed to Lower the Kubernetes Learning Curve
Simply put, DevSpace makes developers more productive in the Kubernetes environment. It can be used as a Docker Compose alternative, but also much more.
Open source DevSpace has drawn interest as a tool designed to make it easier for developers to create applications for Kubernetes without having to first learn the complexities associated with the environment. Its creators describe it as a CLI tool that can help to accelerate development workflows for applications deployed on Kubernetes. Likening the tool to “kubectl on steroids,” DevSpace’s creators say it allows developers to create code configured for YAML files in a repository that are distributed to the DevOps team and are compatible with all working Kubernetes environments, the creators say.
“Various features of DevSpace allow the developer not to worry about the Kubernetes environment,” Levent Ogut, developer advocate, for Kubernetes self-service and multitenancy platform provider loft.sh, wrote in a blog post. “Instead, it enables the developer to develop as they would do in their local machine.”
DevSpace capabilities Ogut communicated include:
- Deployments via Helm, kubectl.
- Dockerfile modification in-memory on execution time.
- Development tools, such as file synchronization, log aggregation.
- Custom hooks (actions that are carried out based on events).
- Custom commands (to build complex or lengthy commands into a single sub-command).
- Custom profiles (to change anything in the devspace.yaml and Dockerfile using add, patch, remove and merge operations.
- The profiles bring the ability to use different configurations for specific deployment types, such as staging, production or testing, Ogut wrote.
Anything that can lower the learning curve for developers and software engineers seeking to work in Kubernetes environments is welcome, Torsten Volk, an analyst at Enterprise Management Associates (EMA), told The New Stack.
However, Volk said while DevSpace provides a much-simplified developer experience for Kubernetes, developers still need to understand the basic concepts of developing Kubernetes applications in order to ensure scalability, compliance, security, performance, etc. “But as long as DevOps teams are sufficiently skilled to diligently implement the declarative configuration and automation guardrails needed to enforce best practices Kubernetes management, DevSpaces could significantly boost developer productivity,” Volk said.
DevSpace might be seen as a replacement for CI/CD tools for GitOps, such as Flux or ArgoCD, which can allow developers to only have to configure YAML files that are then uploaded to a Git repository for deployment. Indeed, with DevSpace, code is loaded onto Git as part of the CI/CD process. Still, DevSpace’s creators are not touting the tool as a CI/CD tool.
DevSpace differs from CI/CD platforms in that its focus lies in enabling developers to easily create application environments that match production, Ogut wrote. This can be tricky in cloud native development with its numerous dependencies, networking intricacies and storage challenges,” he wrote. “In a nutshell, the ability to enable developers to create code in a live Kubernetes environment that was built on the same set of declarative configuration parameters as production, is a very interesting value proposition.”