Almost all DevOps tools and processes run in the cloud, while application development itself still remains on local machines. At Coder, we see this as the lone holdout preventing developers from creating efficient, well-integrated workflows.
A JetBrains study found that only 9% of professional developers tried cloud development tools last year, let alone use them in their workflows. In a previous post, we reviewed early attempts at migrating to cloud IDEs and detailed why they may have not worked for professional development.
Our key takeaways regarding the issues with (early) cloud IDEs were:
We’ll review some of the key benefits of developing in the cloud:
Cloud development eliminates the need to focus on hardware — that’s up to your cloud provider. Need more processing power? Add more cores to your instance. Need lightspeed access to your services? Provision an environment in the same network as your buckets.
Instead of buying a more expensive laptop, a faster internet connection, or more GPUs, you can just provision dev environments for your specific needs.
Last summer, I found myself coding on my Chromebook with only an LTE connection. However, I could still access my remote development environment exactly as I would from my PC back at home.
While that in particular is an odd use case, having a low-powered device and slow network did not hold me back in any meaningful way, since all of the processing power was handled remotely. All that is needed is a modern web browser and a stable connection. Switching devices is easier than ever, since there’s no need to reconfigure anything.
Developing alongside (or even inside) your infrastructure makes it significantly easier to access any resources you have hosted there. If you need to hook into a staging database or API server, you won’t need to reproduce it locally or reconfigure environment variables since the services are living “next door” to your dev environment in your cloud.
Setting up development environments can be time-consuming and updating them can lead engineers down rabbit holes that shouldn’t be there in the first place. Through the power of VMs, containers, or even Kubernetes, you can standardize the dev environments for everybody on your team, packaged with all the tools and dependencies needed for a given project.
Adding integrations, firewalls, security scans, and collaboration tools into the dev environment is much smoother when it is hosted in your cloud. Not only is it easier to configure, but the tools in your pipeline will not be bottlenecked if they are in the same place as you develop, with sufficient resources.
Cloud development allows organizations to “shift left” a lot of these policies into the development step, detecting these problems in real-time or even preventing them from happening in the first place.
Developers continue to adopt the mindset of “focus on the code, not the infrastructure.” Migrating to cloud development takes this one step further. By nature, it eliminates a lot of the existing friction that typically comes when writing code, while also introducing a smooth developer experience, integrations, and security at a scale that previously wouldn’t be possible.
If you’re looking for a cloud development platform, try our favorite (and our own), Coder.
We’re pretty excited about how our cloud development platform can change the software development landscape, and if you'd like to help make that vision a reality, we are also hiring.