DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • Ditch Your Local Setup: Develop Apps in the Cloud With Project IDX
  • Snowflake and dbt Integration to Enable Advanced Analytics
  • Build Quicker With Zipper: Building a Ping Pong Ranking App Using TypeScript Functions
  • How TIBCO Is Evolving Its Platform To Embrace Developers and Simplify Cloud Integration

Trending

  • DZone's Article Submission Guidelines
  • Enforcing Architecture With ArchUnit in Java
  • GitHub Copilot's New AI Coding Agent Saves Developers Time – And Requires Their Oversight
  • MCP Servers: The Technical Debt That Is Coming
  1. DZone
  2. Software Design and Architecture
  3. Cloud Architecture
  4. What Is a Cloud Development Environment?

What Is a Cloud Development Environment?

A Cloud Development Environment (CDE) is an online container used for code development activities. Here is a brief history and account of the benefits of CDEs.

By 
Laurent Balmelli, PhD user avatar
Laurent Balmelli, PhD
·
Nov. 22, 23 · Tutorial
Likes (2)
Comment
Save
Tweet
Share
2.6K Views

Join the DZone community and get the full member experience.

Join For Free

A Brief History of Cloud-Based Development

Let us start with the end goal: the aim of Cloud Development Environments is to enable software development to move online. Although it is becoming the talk of the town, this approach to coding online has an interesting history that dates back to the mid-2010s when a handful of innovative startups took their first steps into this emerging field.

Bringing development online

Figure: Bringing development online brings new benefits, from productivity to security aspects.

As time went on, several of these early ventures were acquired by larger tech companies, who saw the promise in their innovative ideas. For example, Amazon Web Services (AWS)’s Cloud 9 and Redhat's Dev Ready Workspaces platforms stem from acquisitions.

So, when we talk about Cloud Development Environments today, we are actually looking at a concept that had its roots in the forward-thinking landscape of the mid-2010s.

After a Slow Start, Lift Off!

Fast-forward 6 to 8 years, i.e. early 2020s, and the concept of remote development is now starting to reach the masses. Both Microsoft Visual Studio Code and IDE company JetBrains provide a mechanism for that. 

Startup entrants in the field propose online or self-hosted CDEs and, until recently called themselves Cloud IDE companies, likely because a web-based IDE is the most straightforward mechanism to access CDEs.

gartner hype cycle image 2023

Figure: Gartner’s Hype Cycle now features CDEs as an emerging technology

This year, in 2023, the industry finally settles with calling the technology for what it is, i.e. a Cloud(-based) Development Environment likely because a Cloud IDE is just one mechanism to access CDEs, i.e. in addition to local IDEs and terminals. And now that Gartner has made CDEs a new category, the “what are we?”-discussion topics amongst industry players are closed.

Grasping the Concept of a Cloud Development Environment

The simplest way to envision a CDE is to compare it to a remote machine to which you connect, in its simplest form via a terminal command window, e.g. using an SSH client.

Such a remote machine could be a physical host, but in the case of a CDE, it is technically a virtual process based on container technology or a virtual machine. For the sake of efficiency, running CDEs online might typically rely on technologies such as lightweight virtualization, e.g. Docker or Podman, but virtual machines are also viable candidates albeit slower.

CDE or Cloud Development Environment

Figure: A CDE is a container or virtual machine dedicated to development.

The typical specification of a CDE is typically a Linux OS with a series of applications and packages, with the goal of providing a ready-to-use, fully-configured development environment. Embed an IDE as a web application and you have all the components to start writing code online.

Using a web-based IDE (try Microsoft Visual Studio Code) a typical onboarding on the CDE goes like this: the developer opens a URL that loads the IDE into the browser and, in addition, gets a terminal prompt to the online CDE. Source code and any data in the CDE are authored using the IDE’s editing functions. Code compilation as well as other operations occur using commands in the terminal. Besides the URL visible in the browser, there's no notable difference with a local counterpart to this workflow.

What Are the Benefits of CDEs for Developers and Organizations?

The first attractive aspect of managing developments online is that the organization can provide a self-serve mechanism for any developers to get access to fully configured, policy-compliant environments without the need for IT support. Configurations do not only include authorized software and packaged, but also computational abilities of the workspace delivered by the CDE.

This mechanism can be used regardless of the type of developer, but the flexibility of a self-served environment is convenient for “badged”, i.e. internal employees. In contrast, managed access to environments is also possible for contractors or temporary employees.

CDE platform Strong Network

Figure: CDE platforms can be used as a self-serve mechanism for developers.

Improved Governance and Security for Development Using CDEs

Because CDEs are running online, they can be essentially maintained, updated, and upgraded without having access to the developer's physical machine. They can also be inspected in real-time in the same way a process running in the cloud can be monitored, yielding interesting metrics along the lines of productivity and security. It is a boon for workflow governance.

Lastly, there is an opportunity to handle security better from the standpoint of resource access control, network monitoring, and data loss prevention. You can find more information about security for CDEs in this article.

A centralized view of running CDEs increases management efficiency

Figure: A centralized view of running CDEs increases management efficiency.

Remote Onboarding of Developers and Data Scientists

The online nature of cloud development environments makes them very attractive to onboard developers regardless of their geographical location. In particular, using a browser-based IDE to access the CDE allows organizations to easily onboard remote developers on BYOD; i.e., no need to send over a laptop. This is handy to lower both cost and technical inertia when implementing a "liquid workforce."

 A web-based IDE is ideal for BYOD onboarding of developers

Figure: A web-based IDE is ideal for BYOD onboarding of developers.

How CDEs Automate DevOps and DevSecOps Workflows

This brings us to the opportunity of automating DevOps and DevSecOps workflows. Bringing development environments online strongly benefits interactions with commonly used DevOps tools and applications. Most importantly, no existing tools can be hindered by the use of CDEs.

On the contrary, any communication is facilitated by the fact that CDEs exist online as do most of the existing DevOps and DevSecOps tools. This makes automation easy.

Properties of CDEs bring opportunities for DevOps automation

Figure: Properties of CDEs bring opportunities for DevOps automation

Building Modern, Distributed Cloud-Native Applications

CDE technology is driving the fastest DevOps transformation trend today with the entire cloud-native development industry moving development environments online. As mentioned at the beginning of this text, CDEs just became one of Gartner's new technology categories.

In addition, Gartner predicts, "by 2026, 60% of cloud workloads will be built and deployed using CDEs.”

CDEs are best adapted to build modern, Linux-based, distributed, cloud-native applications including front-end, back-end, and anything in-between. It is also quite easy to develop mobile applications provided that they are based on a friendly framework, such as Google Flutter or React Native.

Integrated development environment Cloud Coding (social sciences)

Published at DZone with permission of Laurent Balmelli, PhD. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Ditch Your Local Setup: Develop Apps in the Cloud With Project IDX
  • Snowflake and dbt Integration to Enable Advanced Analytics
  • Build Quicker With Zipper: Building a Ping Pong Ranking App Using TypeScript Functions
  • How TIBCO Is Evolving Its Platform To Embrace Developers and Simplify Cloud Integration

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!