Skip to content
Meni Vaitsi edited this page Aug 17, 2015 · 3 revisions

##What is Hermes? Hermes is a platform service that acts as a messenger for your AppScale deployment. It enables secure and efficient remote monitoring and control for private and public AppScale deployments. Specifically, Hermes is a standalone service that can reach out of the platform to a (predefined or configurable) trusted external source. Hermes queries for requests to perform operations on its internal platform nodes. To enable this, Hermes communicates tasks to other nodes, gathers results, and takes further action if and when needed.

##Hermes's operations ###Backup & Recovery One of Hermes’s features is the ability to perform local or remote application and data backups, as well as restore from a previous backup. Currently, Google Cloud Storage is the only supported backend store, other than the local filesystem, for storing/retrieving backups.

###Coming up next... Hermes was created as a way to perform various operations on an AppScale deployment. Such operations include external platform monitoring at the system and/or the application level, application deployment and management, growing/shrinking platform resources on demand, etc.

##How to invoke an operation A large portion of Hermes’s core functionality is in place but external interfaces are still in the works. Because of that, you can only invoke requests to Hermes, like backup or restore, from within a deployment. Here are a couple of examples :

To start a backup on the local filesystem:

curl -X POST -d '{"type":"backup","task_id":"my_backup_task_id","bucket_name":"","storage":""}' "http://localhost:4378/do_task"

To start a backup on GCS:

curl -X POST -d '{"type":"backup","task_id":"my_backup_task_id","bucket_name":"my_gcs_bucket","storage":"gcs"}' "http://localhost:4378/do_task"

Keep in mind that the functionality described above is under development and is undergoing testing. Use at your own risk! :)

##Next steps

  • AppScale tools for actions like backup and restore.
  • Integration with external web service for remote monitoring and control of your registered AppScale deployments.