# Marshal ## The assembler and conductor of your services Marshal is a simple program that will marshal your services in the cloud or on bare metal. It will monitor the resource usage and response times and react when predetermind states occur. ## Key features * Easy setup and deployment of an entire environment * Deploy new services and code with the click of a button or automate the whole thing * Monitor resources and scale up horizontally or vertically as needed * Scale down when resources are under utilized * Allow manual scaling * In public cloud environments manage VM sizes and usage ## Design Principles * All features should work on local systems and in public clouds * If there are specific cloud behaviors then there should be a way to specify which cloud the target is running on. * Define a generic interface and implement it for each cloud.