Why Local Environments Hold Your Developers Back
For enterprises whose growth depends on the innovation of their developers and data scientists, success moves at the speed of their development environments. Efficiency, effectiveness, and the ability to build without friction — that’s what sets the pace.
The question is simple enough: Do your developers and data scientists work their magic in cloud development environments (CDEs), or is their work bogged down by a legacy development environment? Read on to find out why local development environments and other traditional solutions may be holding back your developers, and how cloud development environments can set them free.
How traditional development environments are lacking
What are some of the ways the wrong development environment may be making your company’s progress sluggish?
- Local development environments: This was yesterday’s standard, with all developers managing their own environments on their own machines. All that local control gets in the way of getting ahead. It’s complicated and time-consuming to configure tools and dependencies on each individual environment. You wind up with inconsistencies that slow things down. And don’t even think about scaling this approach.
- Virtual desktop infrastructures (VDIs): VDIs help to centralize environments, but they’re often not really workable for development. They’re expensive and complicated to maintain. They also tend to suffer from sluggish performance, and that’s no way to keep developers happy.
- Shadow virtual machines (VMs): Developers may get around these issues with ad hoc VMs, but they end up creating different problems. “Shadow” solutions may be lacking in governance and are often overprovisioned. That makes them potential security risks, not to mention wasteful of resources.
How cloud development environments can help
A fully managed environment is the answer to the challenges of these more disjointed solutions from yesteryear. The CDE may be hosted in the cloud or via on-premises infrastructure, and it brings together all the necessary tools, libraries, and infrastructure needed for efficient development.
It’s a development workspace that can be accessed from anywhere, not tied to a specific location or machine. It’s great for remote work, and because of its centralized infrastructure, it’s a lot more secure than storing code and data on developers’ laptops. Developers and data scientists can easily tap into it for coding applications and training machine learning (ML) models, getting up and running in minutes.
Provisioning is automatic, so everything developers need is right there and ready to go. It can all be controlled from a centralized interface by authorized team members, ensuring only the right people can access code and data. And the compute and storage resources are easily scalable.
How CDEs make developers more productive
Traditional local development environments tend to be frustratingly slow when it comes to onboarding new developers or moving developers to new projects (and developers tend to take on new projects multiple times a year, of course). Provisioning environments can take days or even weeks, thanks to all the complexities of dependencies and the need for approvals.
Meanwhile, if developers are off working in their own local environments, that also leads to problems requiring time-consuming troubleshooting. Mismatched environments are the enemy of success. What’s more, resource constraints can be a hangup in local development environments.
CDEs, on the other hand, can be preconfigured, so developers just log in and get to work. Platform engineers can make global updates and ensure consistencies across the CDE. Configuration drift is no longer a problem.
As for resource constraints, the cloud can fix that with high-performance resources that scale as needed. Developers can set up resource-intensive tasks such as ML model training in the cloud, and use their local laptops to get other work done in the meantime.
Why cloud development environments provide better security
Local development environments and various noncentralized alternatives can pose security threats, due to a lack of adequate governance and a hard-to-manage attack surface. Working with intellectual property and other sensitive data on developer laptops or unapproved VMs is risky. If developers need to pull sensitive data to their laptops for such things as ML model training, you’re tempting fate, because security problems don’t just hold developers back — they can set back the entire organization.
CDEs, on the other hand, can live in a cloud environment or be centralized in on-premises infrastructure. They can be air-gapped if need be. Source code and data can stay in secure cloud or on-premise locations, along with any compute resources needed for dealing with them, so sensitive data never needs to leave the safety of home.
Compliance teams aren’t fond of local environments because they’re tricky to monitor. CDEs, on the other hand, offer better monitoring and auditing capabilities, without getting in the way of the developers’ work.
How CDEs save both money and time
Face it — local development environments can be costly. Local hardware isn’t cheap, especially the high-end hardware needed for resource-intensive processes. But if your enterprise tries to trim those costs, developers are likely to be displeased.
The reality is, CDEs not only provide a better developer experience and greater security, they also save money and time. Developers can use most cost-effective machines that are less powerful and longer-lasting, because the heavy lifting is happening in the CDE, not on the local machine.
What’s more, CDEs can tap into automation to optimize resource utilization. Auto-start and auto-stop features mean unused environments aren’t sitting there wasting money. Bin-packing multiple developer workspaces onto a single VM can reduce infrastructure costs, too.
And once again, helping developers be more efficient — by easing onboarding and transitioning, while banishing sluggish equipment — saves money, too. Time is, after all, money. If you can save hours and days and weeks of wasted developer time, you’ll get a whole lot more out of the money you’re paying them.