The purpose of this article is to link together some of the tools we use to build and test Java microservices at Groupon.

Groupon started as a Ruby on Rails shop and continues to use it, but the recommendation for new microservices is to use Java. Most of the internal library and tooling development is centered around Java.

Language, Frameworks, Third-Party Libraries

Editor

Build and Code Analysis

Testing

Deployment

For deployment we use both Capistrano and a custom internal promotion-based deployment method.

Service Discovery

Services have generated API documentation with Swagger. A custom web application provides a directory of all services, where attributes of the services such as the owner or email list are driven from YAML configuration files.