In the software industry, which is bursting with acronyms, a new technology hype has broken out. What’s it all about? “There is a quiet revolution unfolding at tech companies: cloud development environments (CDEs)“, writes Gergely Orosz in his blog post “Why are Cloud Development Environments Spiking in Popularity, Now?”
Gartner mentions Cloud Development Environments for the first time in their new “Hype Cycle for Emerging Technologies“. “CDE“, this acronym is often used when talking about this new “hype”.
However, this term is not particularly well chosen. For example, vendors also speak of workstations, cloud-based platforms or remote development environments. In addition, some companies also refer to pure cloud IDEs as CDEs – which isn’t correct.
Richard McManus of thenewstack did a good job of framing the emerging jungle of terms when one company used yet another term: “I’m not sure a new acronym helps in a market already confused by what is or isn’t a “cloud IDE.“
It’s time to clean up the acronym jargon to classify the terms.
A synonym hunter in the jungle of different terms
There are several terms used for this technology, often with the same root word (Development; Environment). Here is an overview:
- Remote Development Environments (Cloudomation)
- Cloud Development Environments (Gitpod)
- Standardised Development Environments (Daytona)
- Remote Development Workspaces (Gitlab)
- Cloud Development Environment Platform (DevZero)
- Cloud-based workstations (Microsoft)
- Self-Hosted Remote Development Platform (Coder)
- Generic: Disposable Development Environments, on-demand cdes, self-hosted remote development platform, etc.
In principle, all these terms describe a technology to deploy development environments in just seconds. Why does this make sense? There are several reasons:
- Setup is faster: developers simply launch the development environment and start coding.
- Hardware doesn’t matter: Dev Tools make developers’ laptops slow. Best practice at the moment: Just keep buying new, better laptops. With RDEs, hardware is not a problem because compute-intensive tasks aren’t running on the laptop but in the cloud.
- Security and onboarding: Onboarding time is reduced to minutes. Even external developers can start working immediately, no matter where they are. In addition, code and test data are not stored on the developers’ laptops.
Advantages of RDEs
The issues with the terms
- Although the terms mean the same thing, they are sometimes misused for other products. For example, there are vendors who simply use the term CDE to describe an editor in the browser. CDEs, however, go much further (Read more abou it here: What are RDEs). The reason: the product category is relatively new.
- The marketing trick: Of course, you want to stand out from other companies. With your own terms you can create a unique selling proposition.
Outcome: Confusion and lack of transparency. Comparing providers becomes difficult and tedious. As a potential customer, you first have to do a synonym hunt in order to be able to specifically search for the right solutions. (FYI: We created a list of CDE vendors here)
What to do? Declutter. Tidy up. Reclassify. Let’s try that.
Let’s start with the basics. What is a development environment, anyway?
Back to the roots: What are development environments?
Modern as we are – let’s first ask ChatGPT: “A development environment is a developer’s virtual workspace where code is written, tested and debugged. It includes not only the code editor, but also tools, libraries, and resources needed for software development. The development environment provides a platform for developers to work efficiently, whether it is hosted locally or in the cloud.“
So, a development environment is a workspace configured for development, where developers create, test and debug applications before pushing their code changes into the general code base. This traditionally happens locally, hence the term local development environment.
Often, “IDE” is equated with the overall development environment. But there’s a difference, which we’ve picked up in another post. Briefly summarized:
|IDE||Local Development Environment|
Tool for creating, editing
and reviewing code
Collection of tools and resources
for the development of software
Normally includes an editor,
Includes an IDE, compiler/debugger, version control,
database management systems
(if needed) and all resources needed for the development
and execution of the software.
Code creation in focus
Focus on overall development
Wikipedia writes that “IDE” stands for more than one tool/editor: The aspect integrated requires more than individual and separately operating tools. E.g. it also means that the processes of software development or even the entire software lifecycle are accompanied and supported. However, it is common to refer to an IDE as just a code editor such as VSCode etc.
If we follow these classifications, CDEs are development environments that provide all the tools and resources for developing software.
This is important because it clearly separates Cloud IDEs from CDEs.
A classification: CDEs, RDEs, SDEs?
What exactly differentiates the terms?
Cloud Development Environments (CDEs)
As mentioned earlier, CDE is a term that is most commonly used. Cloud Dev Envs describe development platforms that are hosted in the cloud. Developers can access the environment via the Internet and work with the tools provided there. The disadvantage: CDE suggests that only cloud hosting (SaaS) is available.
Remote Development Environments (RDEs)
Remote Dev Envs describe development environments that are either hosted in the cloud, or self-hosted. Regarding hosting, the term goes much further than CDEs.
Standardised Development Environments (SDEs)
A new term that has emerged in the context of this technology. A standardized development environment is described to be a consistent, replicable, and controlled environment. Cons: Differences between development environments are exactly the problem this technology is trying to solve. It is questionable whether a new term is necessary that emphasizes standardization. In addition, the categorization into “standardized development environments” and “non-standardized development environments” is not clearly separable. Even local development environments are, to a certain extent, subject to a company’s own guidelines.
- Cloud development environments are in vogue. However, the term is misleading and (at the moment) is used inconsistently – e.g. also for Cloud IDEs.
- CDEs should be defined as development environments that provide all the tools and resources for developing software.
- CDEs suggest that the hosting of the development environment is only available in the cloud. The term Remote Development Environment (RDE) goes further and includes other hosting options.
Subscribe to the Cloudomation newsletter
Become a Cloudomation Insider. Always receive new news on “Remote Development Environments” and “DevOps” at the end of the month.