Transitioning from traditional application development to more modern, cloud-focused approaches like DevOps requires different processes for almost everything. Because DevOps focuses on releasing code quickly, factors such as continuous collaboration, accurate handoffs between team members and faster developer onboarding become more important than ever.
As noted earlier, onboarding developers to a project — whether they are new to the organization or new to the project — can take several weeks or longer. During that time, new team members familiarize themselves with resources and rules, set up a workstation, undergo training, and ease into the role. The longer it takes for developer onboarding, the longer it will take for the team to get things done.
Another challenge for DevOps teams is ensuring consistency. Efficiency and frequent code releases require all developers to use the same technology stack, with the same tools and processes, but that can be difficult to ensure. Consistency also requires that all developers work on the same version at all times.
Some organizations try to address this issue by putting all developer tools into a container that the operations team also uses, but that’s a dangerous proposition. “You shouldn’t put development tools into production containers,” said Jason Dudash, a Principal Solutions Architect at Red Hat. “It can open you up for security issues and cause the containers to become too large to be really effective.”
Security is another major area of concern. Because DevOps is meant to drastically reduce the time it takes to build and release code, teams sometimes take shortcuts that can open up security vulnerabilities and result in breaches. And with the current work-from-home environment, it’s not uncommon for developers to transfer copies of the code they are working on to their laptop, which may not have the right protections installed.
The Solution: Developer Workspaces
One way to address all of these issues is by creating a developer workspace and cloud-based IDE built for containerized development environments. In the world of browser-based IDEs, workspaces store source code along with everything necessary to edit, build, run and debug code. Each workspace has its own private IDE hosted within it.
This solution addresses head-on the issue of quickly onboarding developers to new projects. With the workspace approach, adding a new developer to an environment is as easy as creating a new workspace, which can be done by simply identifying the type of workspace required, ideally through vendor-provided templates. That process spins up everything the developer will need — all of the tools, dependencies and other resources.
Ensuring consistency and collaboration for everything from frameworks and runtimes to libraries and software versions is a constant struggle in DevOps, but it’s critical. “There can be real implications if one developer is using the wrong version,” Dudash said. To avoid these issues, choose a development platform that enforces version control and enables all developers to work and collaborate on projects via shareable links.
Security is always top of mind with DevOps environments. One way a good browser-based IDE can address this is by allowing team leaders to specify only the tools and resources developers can use in the workspace. If they attempt to use anything else, the workspace will reject it. As an added security measure, look for a workspace that doesn’t allow developers to save code on their own devices.
This article is an excerpt from the GovLoop report, “Taking DevOps to a New Level With Modern Developer Workspaces.” Download the full report here and learn about best practices for developer workspaces.