Monday, June 29, 2015
Load testing is an important part of the software development lifecycle - it’s critical that you understand how your applications and infrastructure will hold up once they go into production. But basic load testing isn’t quite enough, you need to be able to model user behavior at scale to really get a feel for how your systems will perform under load. Today we’re introducing a new solution paper and a reference implementation that will show you how to simulate user behavior and conduct distributed load testing using Google Cloud Platform and Kubernetes.
When load testing your application, you first need to setup and provision compute instances then deploy and execute load testing software. This is a good start and you can establish some baseline understanding of your application’s performance. But then it comes time to scale up the load testing to see how your application performs against increasing load. This usually involves provisioning more infrastructure and then executing tests again. Over time, you’ll have to repeat this process again and again in order to make sure you truly testing the limits of your application. Couple that process with having to execute these tests on a regular basis, for example, after each new build and you’ve created additional devops work for yourself and your team.
Containers and Kubernetes can help minimize the devops work associated with load testing. Containers rapidly scale, making them a great choice for simulating clients. And while working with individual containers is straightforward, managing a fleet of containers and orchestrating them can be difficult. Kubernetes, an open source container container orchestration system, makes it easy to deploy and manage many containers.
The solution paper and reference implementation describe how you can deploy and scale distributed load testing using Docker containers and Kubernetes. You’ll learn how to create a container cluster using Google Container Engine, deploy a Docker-ized load testing framework, and scale the clients as you continue testing.
Check out the Distributed Load Testing Using Kubernetes solution and read through the details to learn about Kubernetes. Then take a look at the reference implementation tutorial to deploy a complete working example. Feedback is welcome and appreciated; comment here, submit a pull request, create an issue, or find me (@crcsmnky) on Twitter and let me know how I can help.
- Posted by Sandeep Parikh, Solutions Architect