MMS • RSS
Article originally posted on InfoQ. Visit InfoQ
Instana, provider of AI powered monitoring solutions for dynamic containerised microservice applications, announced at QCon New York the release of Stan’s Robot Shop, a sample microservice application that can be used as a sandbox to test and learn about microservice architecture, containerised application orchestration and automatic monitoring techniques.
Stan’s Robot Shop is a sample microservice application of an e-Commerce storefront and includes a product catalog, user repository, shopping cart and order pipeline. The technologies used to create this sample microservice application are: AngularJS (1.x), Nginx, NodeJS (Express), Java (Spark Java), Python (Flask), Golang, MongoDB, RabbitMQ, Redis and MySQL.
The key design consideration was to be small enough to run on a developer’s laptop but still have enough complexity to be interesting and not just a “Hello World” example. 2GB of memory is required to run ‘Stan’s Robot Ship’ using docker-compose or minikube/minishift. It can also be deployed to a cloud service that supports containers such as Google Compute, AWS ECS/EKS and OpenShift.
The web page is a Single Page Application written using AngularJS (1.x). Its resources are served by Nginx which also acts as a reverse proxy for the backend microservices. Those microservices are written in different languages using various frameworks, providing a wide range of example scenarios. MongoDB is used as the data store for the product catalogue and the registered users. MySQL is used for the look up of the shipping information. Redis is used to hold the active shopping carts. The order pipeline is processed via RabbitMQ.
The components required to build and run the application, along with the Instana monitoring components are available via a GitHub download. The Instana components provide instrumentation for end-to-end tracing and visibility into time series metrics for the included technologies. End user monitoring is included.
Once the ‘Stan’s Robot Shop’ application is installed, in order to see the application discovered and monitored with Instana an agent needs to be installed. The agent is not currently supported on Mac if the application is being run locally via docker-compose.
Load generation for the application is not started automatically but, by navigating around the shop with a browser, load is generated, clicks are captured and become available in the Instana dashboard. There is no load generation facility for the web application but there is a load generation utility for the microservices.
Instana is a supporter of open source and are members and contributors to a number of projects including: Open Tracing, Cloud Native Computing Foundation and Byte Buddy. The language sensors that the Instana agent uses are all open source on GitHub.