In the early stages of the development of a distributed application, information on its final size or utilization profile is often unknown. At an early point, deciding which overlay network implementation suits the application needs can be a complex task. Hermes provides a simple, yet powerful, environment for the development of P2P applications. It gives the application developer the possibility of choosing the overlay network implementation and replacing such implementation at any point, from development to production, without changes on the application code.