VOOZH about

URL: https://thenewstack.io/how-to-choose-a-cloud-development-environment/

⇱ How to Choose a Cloud Development Environment - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2023-10-07 05:00:47
How to Choose a Cloud Development Environment
tutorial,
Cloud Services / Software Development

How to Choose a Cloud Development Environment

Experienced engineer David Eastman lists the considerations for when software development teams are choosing a CDE platform.
Oct 7th, 2023 5:00am by David Eastman
👁 Featued image for: How to Choose a Cloud Development Environment
Image via Unsplash.

I remember a financial institution trying to rationalize their development pipeline about 10 years ago, and trying to create what we would today refer to as a platform. They noticed how slow their onboarding times were for new developers, and how inconsistent technology uses could be. They had an architectural board, but that was distant from day-to-day development. Agile methodology informed them that everything should be automated, so they took that approach to their pipeline.

What they were doing was moving towards a Cloud Development Environment, or CDE. There was a vague understanding that if they packed the “best in class” tools altogether, that might provide a good onboarding experience. But one of the problems was working out how to synthesize the different development experiences throughout the organization, and how to avoid losing expertise that might coalesce around a unique environment. Did it make sense to sacrifice expertise in order to gain standardization?

This post is about understanding how the answer to that question hits your team, in the face of all the new CDE options. And it still requires an honest reflection on how your team in your organization operates.

The CDE-WordPress Analogy

You don’t need to think about development to examine cloud experiences. Like many other online publications, The New Stack runs on the WordPress platform. When I write a post, there is a good chance I will want to present a snippet of code that includes angled brackets. If I just plop the snippet straight in as a piece of content, the angled brackets may be interpreted as an instruction, or may be replaced by HTML entities that you are probably all too familiar with: “&lt” and “&gt”. Either way: I have hit a snag in my role as a platform user, a problem with the system. And now the clock starts.

  • Will the platform, or at least Google, direct me to a solution?
  • Who actually understands the issue? Does the person who understands the issue also have access to the platform?
  • How long will the resolution take?
  • Should I just avoid the code?

In this situation, the answer involved the excellent internal team recognizing the issue, and quickly giving access to the appropriate WordPress plugin. Time was important, but in no way critical. Ultimately the focus is on the writer expressing themselves as accurately as possible. But if push came to shove, I could correct my post later.

Now imagine your software development team approaching a deadline, and a problematic issue coming up. Does the team have the skills to isolate the problem? Is it more important that quirky developers can express themselves, or that the team preserves a collaborative approach? Answering these questions honestly helps work out how to get into online environments.

On-Demand Computing with CDEs

Today we think of a CDE as an on-demand development environment that comes with all the tools and pre-configured dependencies needed to build and deploy applications — as long as the template exists for the flavor of application you want to build. They normally operate within a known performance band; that is, you have some idea of how much RAM and CPU their containers can spin up. Like most cloud products, you might only be able to access them via the web. In my last article, I looked at the popular online environment Replit running Ghostwriter AI and noticed how easy it was to get started.

The Gitpod CDE whitepaper describes four principal qualities of a CDE: Equity, Consistency, Extensibility and On-demand availability. Anyone can start a session with a development environment, and get the same environment as anyone else. It is more than just spinning up a container and handing it off; a full pipeline must be available to build a complete application from code. Just like Google Docs, a session is available immediately, 24/7. Collaboration is fairly natural.

Self-hosting and Standardization

Daytona has what it calls a Standardized Development Environment (SDE), which is largely about self-hosting CDEs and the need to control these efforts. Coder.com has a slightly different approach to self-hosting.

Many large organizations have built their own cloud environments, citing the need to control cost, security or scalability. SDE recognises the need to create templates to allow developers to use their own tools or access contained resources with AI; to work locally or online.

Self-hosting brings flexibility and control closer to internal users, but clearly favors organizations with the skills to hook everything up.

Some Developers Actually Like Configuration

Some engineers do specifically enjoy working on configurations and infrastructure code. If those skills exist in your team, then it makes sense to exploit them. Conversely, many developers are loathe to fiddle about with a script that doesn’t look like their everyday development code. More to the point, they may never have dug into how systems like Ansible or Chef worked when they were in vogue and may contrive spaghetti-like solutions to fixing platforms.

Are You Onboarding for Standardization or Not?

The most important gain from an environment in a box (Software-as-a-Service, or SaaS) — like GitHub Codespaces — is that it speeds up onboarding massively. The team knowledge about that environment will not have the broad envelope that occurs when everyone has a slightly different experience, because of how they installed it. Any document about getting started is much more likely to be entirely accurate for each user. But there are problems with assuming that because I want an environment, I want one for the same reason as the last person who wanted an environment.

More heterodox onboarding allows everyone into the environment quickly, without assuming you know exactly what they want to do when they get there. A good example is the inquisitive marketing executive who wants to do more than use slides and wants to run a current build. Allowing them to spin up a build makes sense, but not if they have to set up SSH tunnels first. The gains they can make from updating one image resource with the logo of a prospective client — something they can’t do simply from behind a web browser — may be massive. On the other side, someone coming in to quickly assess the project may want to run a range of builds from different times, and may be challenged by not having full control of their familiar tools.

Coding for Innovation vs. Production

The great advantage of shipping containers (or intermodal containers) is that they have a standard size. This has revolutionized cost control in shipping, as container ports can be built in advance with a working template. You might wonder why it took so long (the 1970s) for these to come about. Of course, there were plenty of attempts before this — what has actually standardised are the patterns of international trade. Similarly, you have to look honestly at your team and work out whether their raison d’etre is delivery or inspired skunk works.

Data security has never quite been the issue it is assumed to be. It is more a question of legal geography — where data can be held. Otherwise, data held on your own internal data center is unlikely to be more secure than it is in the data center of a company paid explicitly to mind security. But the term “security” may also mean safety within your own sandbox, or making sure developers don’t have too much code on their laptops. It remains more of a political than a literal issue much of the time.

Start With What Your Team Does

So the bottom line is to make sure you know what your team is really doing, then push in a little future-proofing. AI might be a boon now, but essential later. You may know exactly how big a container you need now, but that might change. You may come to the conclusion that the only thing your team should share is a git repository. Maybe a few containers under Docker. Maybe a full CDE, or maybe something self-hosted. Either way, start with the basics of how the first conflicts would be resolved.

TRENDING STORIES
David has been a London-based professional software developer with Oracle Corp. and British Telecom, and a consultant helping teams work in a more agile fashion. He wrote a book on UI design and has been writing technical articles ever since....
Read more from David Eastman
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Docker.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.