So 2023 is the year of the cloud development environment (CDE). That’s like one of the longest running jokes in tech- it’s the year of Linux on the desktop. Or maybe we’re finally approaching the time that a cloud-first developer experience (DX) becomes a normal way of working.
In early November GitPod took 25 million dollars in a Series A round to deliver on the promise of CDEs. Tom Preston-Werner of GitHub fame led the round, and he’s someone that knows a bit about developer experience. If we look at the other investors in the round it’s impressive. The CEOs of both Shopify and Datadog, for example. And some guy called Kent Beck. These are people that understand developer-led tech adoption. GitPod is determined to make software development easier, reducing toil for developers. It’s not about the editor but the environment.
A week later GitHub announced that CodeSpaces would become available for all GitHub users, with 60 hours a week free usage.
GitHub’s latest numbers are that it has 94M users. That’s a lot of potential growth for CDEs.
The industry continues to grapple with the challenge of local vs remote. This is not a done deal.
But it’s not really about online code editors, a platform idea that we have been talking about for a long time. AWS acquired Cloud9 way back in July 2016, and you’d think if anyone could make online editors a thing it would be AWS, given its scale. But developers love their MacBooks. They love high spec local performance. Latency is the enemy. They love their existing toolchains and editors. And so development stays local. So we keep arguing that “it worked on my machine”.
But unlike basic online editors CDEs are about creating an end to end developer experience, taking advantage of cloud technology to better integrate with code repos, build tools, databases, Kubernetes tooling and runtimes and so on. Packaging and delivering on developer workflows to offer a better experience. Repeatable, secure, automated, immutable, with no worries about drift. And aren’t industry leaders talking about testing in production now? That means developing in production. What if CDEs offered a better developer experience, and more flow – an instant on experience available to everyone.
The term CDE is not perfect, but will do for now. What we’re talking about are the advantages of cloud abundance and the ability to do all of these things in the cloud that make a developers’ lives easier. Making platform connections, allowing the developer to spin up containers without even thinking about it, dealing with remote APIs as first class citizens to the DX.
Vercel and Netlify have shown the power of understanding the components of developer workflows and assembling products accordingly. So why not apply this approach to the developer tooling itself?
The question of speedy local performance vs cloud power makes for unexpected competition.
Me, on Twitter, October 2021
So it’s basically Apple vs GitHub now, which is kind of crazy when you think about it. CodesSpaces vs M1. just when it seemed like online editing was going to kick into high gear, Apple threw down the most absurd local processing the world has ever seen. #GitHubUniverse
The ARM-based Apple architecture is so powerful and can make developers’ lives so great on their local machines that local editing and processing as the mainstay of daily work seems more sensible and likely entrenched than ever.
But if we think about cloud memory and compute, where builds are happening, what we’re doing with containers, and immutable architectures the direction of travel seems obvious. The real power is in the cloud. Abundance is a great opportunity to rethink how we do software development. No local machine can possibly have as much storage and compute as the public cloud. And what about APIs? It’s a constant question – how are you going to test apps that touch remote APIs? So why not just bring all of this power closer to the developer by making it available as well-packaged cloud services? And with a developer experience which is all about removing pointless busy work – task oriented end to end dev environments, ready to use on demand.
One of the reasons I am interested in the idea of CDEs is Progressive Delivery, which is also enabled by the cloud. Cloud abundance and routing make things like A/B testing, blue-green deployments and feature flags so much easier because we can replicate any environment without a second thought. We’re long past the era of ”oh my god, we’re going to have to spend 10 million dollars on hardware and software in order to stand up an instance of an application as I develop it, with replicated dev, test, QA and staging environments”.
If you can have one instance of a service, why not have five? If you can spin up one container why not spin up 10000? We can experiment with things. So Progressive Delivery has some of the same underpinnings as CDEs in terms of abundance rather than scarcity as an opportunity to rethink how developers work.
Another aspect of performance is of course the network, one of the constant hobbles on the idea of using a CDE. Developers always say: “But then I can’t work on a plane or when I am not in the office”. Have you checked out 5G lately? The speeds are really impressive.
I spoke to Johannes Landgraf, Gitpod’s CEO, about how he sees the market.
Developers will begin to change their behaviours when it becomes truly convenient for them to do. So the Figma moment will be about convenience.
And I think that’s exactly right. Convenience is the killer application. We’ve seen that in so many areas that we will always choose what is easiest. Even if it’s a little bit more expensive, it’s if it’s convenient, we’re, we’re going to use it. We’re going to like it because it’s one of our jobs to be done.
What Landgraf calls the Figma moment. That’s really about collaboration – 15 years ago, we might have called it the Google Docs moment. When most of us just said, “Hang on a minute, it is so much easier to collaborate with my colleagues on this platform. Why would I do anything else?” It’s a fundamentally different experience than we get from Microsoft.
But in DX we still haven’t had that change. Landgraf said:
The industry still hasn’t had its Figma moment. How strange it is that developers moved all of their workflows to the cloud except for their own.
So for more context. We’re going to see significant investments from AWS Cloud in this space, rethinking DX for cloud services. Just today AWS at re:Invent announced Application Composer (visual low code design for AWS services, essentially Stackery remade by AWS) and Code Catalyst (cloud development environment, integrated with pipelines, repo-focused, issue management integration built in]. As I said on Twitter today:
So CodeCatalyst looks like a packaging exercise, that taps into modern developer tools, platforms and workflows. packaging wins. convenience is the killer app. it’s going to be really interesting to learn more.
We’ve got GitHub moving forward with Codespaces, which people are now paying for in significant numbers. We’ve got Microsoft classic which actually is offering dev machines in the cloud with Dev Box, which may not be so radical, but is going to appeal to Windows and .NET shops that want easy onboarding and security for their employees. And if we integrate Dev Box with the recently announced Azure Automations, we can begin to do some powerful things from a DX perspective.
CDE is about revolutionising how development is done and really taking advantage of cloud services and routing, rather than simply thinking about how to build a browser-based IDE. Some of the cloud services are going to be accessed by local IDEs such as JetBrains or VS Code. This is an embrace and extend play.
Collaboration should be so much easier. Every time we do some work, it should have a URL, the Netlify and Vercel model.That should apply to backend development as well as the front end. So whoever solves these problems for engineers and engineering managers is likely to find an open door in sales situations.
Landgraf explained that integration is one of the key aspects of CDEs. Thus for example, when a developer goes to their GitPod console, they should already be authenticated with PlanetScale or MongoDB. Mongo actually invested in the Series A. JFrog will also be at the developer’s fingertips.
CDE is a packaging exercise. As I often say – the best packager in any tech wave wins and wins big. And I think what we’re currently looking at is packaging up how developers do their work and just trying to make that really, really easy.
I recently had a conversation with Stephen Pousty, an old friend, and we in fact have a bet on whether this really is the year of the cloud development environment. I bet that around 25% of enterprise software development would be using CDEs within 7 years.
Too aggressive a timeline? Maybe. But If things flip they could flip fast.
I think we’re going to see a significant amount of developer work moving into these cloud environments because it doesn’t matter how good laptops are, there are ways to rethink the experience and workflow around modern software development using cloud services, integration and automation that will make developers a lot more productive. CDEs address the Developer Experience Gap, and that’s really why I think they are somewhat inevitable. That “Figma moment” we could just as easily think of in terms of the iPhone moment, which fundamentally changed the tech industry,
Disclosure: AWS, GitHub, MongoDB, Microsoft, and Vercel are all clients. This was not, however, a commissioned piece of research.