If you came by our booth at DockerCon in Seattle this year you’ll have seen “Sock Shop”, our microservices demo application.
We originally designed it so we could demonstrate products like Weave Net and Scope – but additional benefits have arisen quickly: we’ve been using it to do testing, QA, user research and to evaluate processes for deploying to various container platforms, like Amazon ECS, Kubernetes, Mesos and, of course, Docker.
Sock Shop is built using Node.js, Go kit and Spring Boot based microservices, MongoDB as a service datastore, RabbitMQ for the order queue, and it uses NGINX as an edge load balancer in some configurations.
We deliberately used different language frameworks to explore how microservice architecture patterns are used, components are built and tested and to expose different monitoring requirements and resource utilisation behaviours.
We’ve also included a simple load test that exercises various user journeys in the repository.
You can see a simulation of Sock Shop in Weave Scope here: http://cloud.weave.works/demo
We think a general purpose microservices demo application could be beneficial to a wider community, so we’re going to share what we’ve learned and we hope you’ll find it useful. Over the next few weeks we’ll blog about our experience deploying ‘Sock Shop’ to each container platform.
We’ll continue to add platform deployment targets and improve the ones we have, we’d like to show best practices with CI/CD and we’d love to get feedback on what else we can do to improve the application.