These instructions will help you deploy and run the Sock Shop application on the Apcera Platform, an enterprise-grade container management platform for cloud-native and legacy applications. Apcera is secure by default, only permitting things explicitly authorized by policy, and supports multi-cloud deployments.
Apcera has tested Sock Shop on the Apcera Community Edition running single-cloud clusters in Amazon AWS, Google Cloud Platform, Microsoft Azure, and VMware. We have also tested Sock Shop on the Apcera Enterprise Edition running a multi-cloud cluster that spanned across AWS, GCP, and VMware.
The Sock Shop application is packaged and configured for Apcera using a Multi-Resource Manifest file called sockshop-docker.json which is similar to a Docker Compose file. Scripts are provided to make it easy to deploy all the services and a network from the manifest, to start and stop the services, and to delete everything that was deployed.
git clone https://github.com/microservices-demo/microservices-demo cd microservices-demo/deploy/apcera
apc policy import sockShop.pol
In this demo scenario, we create a single virtual network to which all the services except zipkin and user-sim are added. Services inside the virtual network can all talk to each other. Apcera job links are used to let the user-sim load testing service send requests to the front-end service and to let the main Sock Shop services send traces to the zipkin service. Using job links in this fashion simulates how real, cloud-based load testing and APM solutions can be integrated into applications running on Apcera without sacrificing security.
All of the Sock Shop services and the network are deployed to Apcera with a single script. However, you first need to target your cluster and login to it with APC. After that, just run the deploySockShop.sh script.
apc target <your_cluster> apc login
After determining your targeted cluster and default namespace, this script does the following:
Altogether, the script should take under two minutes to run.
A load testing service, user-sim, is provided in the sockshop-docker.json manifest file. It will run when the manifest is deployed after a delay of 60 seconds. This is a load test provided to simulate user traffic to the application. You can view the results of the test in the user-sim log.
Zipkin has been written into some of the services. While the system is up you can view the traces at http://zipkin.<your_cluster>. Currently orders provides the most comprehensive traces.
You can use the startSockShop.sh and stopSockShop.sh scripts to start and stop all the services.
Run the deleteSockShop.sh script to delete the Sock Shop services and network.