The Uhuru AppCloud consists of controllers which determine which servers to host applications on and the actual servers which run the applications. The controller software runs on Ubuntu Linux. The app hosting servers can be either Ubuntu Linux or Windows Server systems, depending on the types of applications that need to be supported. Windows Servers are required for hosting .NET applications and Ubuntu Linux servers are required for hosting Open Source applications like Java, PHP and Ruby. The RTG AppCloud has both Windows and Linux servers.
An AppCloud agent is installed on each of the servers or virtual machines which allows them to participate as app hosting servers managed by the AppCloud controllers.
Only a handful of controllers are required to manage many hundreds of hosting servers. The controllers determine which specific hosting servers to run applications on based on how busy they are and the capacity needs. The controllers also monitor the health of the app servers and will automatically handle redirect traffic to healthy systems if a node goes down as well as distribute work evenly across servers for load balancing.
The Uhuru AppCloud software is agnostic as to which management tools or virtualization technology is used to provision and manage the environment. For example, AppCloud will run just as well on Amazon virtual machines as on virtual machines using Microsoft’s Hypervisor or VMWare’s ESX.