Overview and Concept
DevStack is a tool for remote developing. Its purpose is to
- reduce time spent with troubleshooting of local development environments and dependency management,
- help developers concentrate on what's important,
- save costs on making expensive local development machines obsolete,
- keep the source code more secure.
DevStack in Software Development
There are 2 roles that make DevStack work: Developers and DevOps.
Developers are the end-users of DevStack, benefiting from its features. DevOps provide centralised and streamlined configuration templates that create the benefits for developers.
How DevStack fits in your team
DevStack Architecture
DevStack has a distinct architectural setup when compared to other Remote Development Environment (RDE)/Cloud Development Environment (CDE) solutions.
Here are some of the key distinctions.
DevStack | Traditional | |
---|---|---|
Environment type | DevStack's environment is a fully capable VM, meaning that you're not limited in how you set it up. The developed software can run directly on the VM, you can also use containers or Kubernetes. | The development environment consists of a single container. If the developed software can't run in that container it can't be part of the development environment. |
IDE support | DevStack supports any IDE in its default mode. An SSH capable IDE is only needed if DevStack is configured for maximum security | The IDE client needs to be SSH compatible to communicate with the IDE backend in the RDE container. |
Direct access | DevStack allows for SSH access to the RDE and use of a CLI. | Access is only possible through the IDE. |
The setup DevStack uses
The setup traditional RDEs use. The software that is being developed is not part of the development environment in most CDE tools.