If you were asked to name the most important cloud-based tools and services for doing DevOps, chances are that cloud desktops would not make it on the list. Your mind would probably instead go to IAM frameworks, cloud-based CI/CD suites and cloud IaC tools.
But for DevOps practitioners, as well as the end users they support, cloud desktops offer just as many advantages as these other types of cloud-based solutions. By moving your entire desktop to the cloud, you can achieve stronger collaboration across teams, gain security benefits, streamline app deployment and more.
What is a Cloud Desktop?
A cloud desktop is a desktop environment that is hosted by a virtual machine running in the cloud. Just as you can use VM instances on a cloud platform such as Azure Virtual Machines or AWS EC2 to host virtual servers, you can do the same thing with desktops.
Cloud desktops have been around for a while. Amazon, Azure and Google Cloud all offer versions of this type of service. So do companies such as Citrix and VMware.
Chances are, however, that these types of cloud services have remained under your radar if you work in DevOps. They haven’t received nearly as much fanfare as trendier types of cloud solutions, such as virtual servers or serverless functions.
How They Can Benefit DevOps
Cloud desktops can be just as useful to DevOps teams as other types of cloud services. There are a number of reasons why:
- Universal access: First, cloud desktops ensure that you can access your apps and data from anywhere and at any time. You don’t need physical access to your development PC to modify code and you don’t need to worry about using a VPN to log into on-premises management tools. This anywhere, anytime access is especially useful if you are troubleshooting an issue from out of the office. During downtime, you don’t want to have to travel on-site to access your tools.
- Scalability and performance: When your desktop is hosted in the cloud, you get all of the scalability and performance that the cloud brings. Do you need to add more RAM or CPU power to make your CI/CD tools run faster? Do you need more storage? These resources are just a click away for a cloud desktop. You can even use specialized configurations such as GPU-arrayed cloud instances if you need to run special workloads. The flexibility that virtual desktop hardware offers is a huge advantage over physical workstations, which require costly and disruptive hardware upgrades (or migration to new hardware) if you want to add resources.
- Deploy to the cloud: If your DevOps tools and code live in a cloud desktop, you can deploy and manage applications to the same cloud without letting network bandwidth limitations get in the way. In other words, there is no need to upload code to a cloud platform before you can deploy it or to connect an on-premises tool to the cloud. Everything is running in the cloud already if it’s hosted on a cloud desktop.
- Shared development environment: If you wish, you can share a single cloud desktop among multiple developers or DevOps engineers. This is advantageous if you have multiple people on a team who are working on the same project or app or who need to access a shared toolset to help manage CI/CD processes. Instead of trying to coordinate efforts across multiple machines, everyone can literally use the same device—although you can maintain security by assigning a different account to each user, of course.
- Security: Whether you share cloud desktops between users or assign one desktop to each member of your team, you gain security advantages compared to on-premises workstations. You don’t need to worry about someone stealing your laptop and gaining access to all of your data or development tools when they are hosted in the cloud instead of on a local device. You can also use cloud IAM policies to control access to your cloud desktops, which makes it easier to streamline and consolidate security operations. You don’t have to maintain separate security regimes for your workstations and your cloud resources; instead, you can manage the security of both types of assets from the cloud.
- Run on-premises tools in the cloud: In some cases, you may have a development or management tool that doesn’t run natively in the cloud. Your favorite IDE might run only on-premises, with no cloud IDE equivalent, for example. With a cloud desktop, you can host any app you want in the cloud by installing it within the cloud desktop environment. That way, you get the accessibility and performance benefits of the cloud, even for software that can’t run directly as a cloud service.
These are the advantages that apply to DevOps teams in particular. The list would be longer if we were discussing the benefits of cloud desktops in general, which also include things such as a reduced need to maintain physical hardware and the avoidance of upfront capital expenses to purchase desktop hardware.
Even though cloud desktops haven’t traditionally been thought of as a solution for DevOps teams, they offer a range of advantages for DevOps professionals. CI/CD tooling, storage management solutions and other DevOps tools have moved to the cloud, why not the entire desktop as well?