Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH. It is called "clientless" by its developers because no plugins or client software are required. With HTML5, once Guacamole is installed on a server, all that is need to access remote desktops is a web browser.
Apache Guacamole presents the following possible advantages:
Access computers from anywhere
Because the Guacamole client is an HTML5 web application, use of the computers is not tied to any one device or location. Access to a web browser means access to one's machines.
Keep a desktop in the cloud
Desktops accessed through Guacamole need not physically exist. With both Guacamole and a desktop operating system hosted in the cloud, the user can combine the convenience of Guacamole with the resilience and flexibility of cloud computing.
Free and open source
Apache Guacamole is and will remain free and open source software. It is licensed under the Apache License, Version 2.0, and is maintained by a community of developers that use Guacamole to access their own development environments.
Documented API
Apache Guacamole is built on its own stack of core APIs which are thoroughly documented, including basic tutorials and conceptual overviews in the online manual. These APIs allow Guacamole to be integrated into other applications, whether they be open source or proprietary.
Commercially supported
For enterprises, dedicated commercial support is also available through third party companies.
Guacamole is separated into two pieces: guacamole-server, which provides the guacd proxy and related libraries, and guacamole-client, which provides the client to be served by a servlet container, usually Apache Tomcat. Guacamole can also be deployed using Docker, removing the need to build guacamole-server from source or configure the web application manually. The Guacamole project provides officially-supported Docker images for both Guacamole and guacd which are kept up-to-date with each release.