REST Commander

(Formerly known as REST Superman)
Fast Parallel Async HTTP/REST/SOAP client as a service to monitor and manage 100,000 web servers.
Sends requests to 1000 servers with response aggregation in 10 seconds. or 10,000 servers in 50 seconds.*

Response analysis    Agent-less monitor   Configuration push    Discover outliers    Orchestration
Generic    Scalablity    Open Source    Visibility    Agility

View on GitHub Download (78 MB)

Fork me on GitHub

Watch Demo! REST Commander has been in top 10 overall Github trending; reported at InfoQ; recommended and listed in top 20 trending in oschina.
Need to embed REST Commander inside your app? Try Parallec.io as the next gen with 15+ new features. View production use cases.

Scalable and Fast

Utilizes Akka and Async HTTP Client to maximize concurrency; Sends and aggregates responses from 10,000+ Servers within 1 minute.*

Powerful

Sends uniform or different requests to same or different servers with near real-time reponse analysis or config pushes. Request level concurrency control (throttling).

Generic

Generic HTTP request. Generic response aggregation with user-defined regular expression matching. Generic variable replacement in request templates for server specific requests.

Ready to Use

Agility. Zero installation required. Changing requests and target servers with breeze. No database or server setup. Run locally in a single click. Require only Java preinstalled.

User Friendly

Build in Java with Play Framework, Bootstrap and its Application Wizard, Commander enables sending requests in both easy-to-use web UI wizards and powerful REST APIs (HTTP client as a service).

About

Designed and built at eBay by Yuanteng (Jeff) Pei, Bin Yu, Yang (Bruce) Li, and Chunzhi Yang, REST Commander helps managing one of the largest private cloud in the world.


Faster than Faster! Commander becomes horizontally scalable with Akka Clustering. Sends requests to 100,000+ servers with response aggregation in 100 seconds using just 5 VM - 2014.09.


What's new? Check related work review on efficient HTTP client and concurrency and throttling model in Akka at eBay tech blog.

Monitor and Manage 10 - 100,000 Web Servers.



Web Server Management Work Flows. Check Sample Code

Monitor Web Servers

Are you a company who has 10-10,000 web servers (e.g. tomcat, nginx, etc.) running; and want to check every minute which servers are slow or misconfigured? Commander can get this done for you in an hour: Check the sample code. Just put it into crontab and you are done. Simple poll mode without costly infrustructure setup.

Config Push to Web Servers

If your servers use REST/SOAP APIs to update its config and you want to enforce server-specific or uniform config on demand or with auto-remediation. Commander is your perfect choice. Then a work flow of monitor and rescue: (1) obtained unhealthy servers by monitoring; (2) rescue or restart them by config push APIs.



Try Commander Now!





Agent-less Monitoring

Quickly check any HTTP results from an ad hoc list of servers with generic response aggregation by regular expression matching. FAST: No dependency or setup required.

Configuration Pushes

Push uniform config or server-specific configs to HTTP end points, as long as there are HTTP (REST/SOAP) APIs to perform.

N Requests to 1 Target

Concurrently fire a large number of different requests to a single target server. E.g. look up thousands of jobs status in a server. Concurrency control to accommodate server capacity.


IT Orchestration

Scalable multi-step HTTP work flows to thousands of HTTP endpoints. Federated data aggregation. Scalable task executions.

Discover Outliers

Discover misconfigured servers from thousands of servers with http APIs in no time.

Auto-Remediation

If your config change requests are idempotent, Commander can easily ensure correct config by scheduled config pushes.



* Actual performance may vary based on network speed, the slowest servers and Commander timeout settings. In our test, for 10,000 servers in across regions, 99.8% responses received by 33 seconds and 100% by 50 seconds.
** The background music in the video is from Dan-O at http://danosongs.com.