Christmas is approaching fast and I thought I would treat you with another cool CloudTest Video Hopefully you’ve enjoyed the previous one which show you how easy it is to setup and use monitoring during a load and performance test when using SOASTA CloudTest Lite. Today I wanted to show you the power of CloudTest when it comes to testing from the Cloud.
You might have experience leveraging the cloud with some open-source performance testing product, struggling to manually provision your cloud environment from the EC2 console for example. Don’t get me wrong, the console is very useful, but definitely not fit for us in performance testing who might need more than 300 servers on any given day. (one of) The cool thing with CloudTest is that the whole provisioning aspect is entirely automated. For any type of Cloud providers! Whether you’re using EC2, Microsoft Azure, GoGrid, rackspace, IBM Cloud, etc. you don’t have to worry spending time on their management console, pulling your hair because you can’t get your servers up and running FAST. Performance testing is all about finding performance bottlenecks, not spending time getting an environment up and running. So today, I thought I would show you how it’s done within CloudTest. Enjoy!
Here a transcript for this video:Hello and thank you for watching this video. Today I’m going to show you how easy it is to run a performance or load test from a public cloud using CloudTest – how cool is that! So what you’re looking at here is CloudTest. You’re familiar with CloudTest Lite, which is our free version of our offering allowing you to run load and performance test with up to 100 virtual users on your local machine. This is CloudTest, same web based interface and real time analytics – everything you’ve got in CloudTest Lite obviously you get in Cloud Test but what you get in addition is the access to Cloud Environment whether its public or private. And today I’m going to show you how easy it is to interact with that Cloud Environment for your performance tests. So we are going to test our Soasta Store which is our ecommerce demo website – very simple, people browse for a book, they interact on the forum – very simple application. I already have a composition ready, showing you user behaviour. so people are going to browse on that web site, they’re going to hit the home page, they’re going to search for a book and they’re going to post on the forum. So what I’m going to show you is how to run that particular test on the Cloud. The first thing I need to do is to set up a Cloud Environment which is called a “Grid” in CloudTest world. I’m going to give it a name “Grid for Video” and I’m going to click on next. Here I’m going to tell CloudTest how many servers I need, the location of the servers and the type of servers. So for that particular test I want to run a disparate test from four locations in the world. The US West Coast, East Coast, Europe and Asia. So I’m going to have one server on the East Coast, one server on the West Coast, other location – we are going to add Europe, and we’re going to add Singapore. Automatically we are also going to spawn one result server, and that result server – that’s our analytics server, responsible to gather aggregate, combine all the performance data coming from the application and the infrastructure. So I’ve declared my eight servers – four test servers, four results servers. I can change the server type if I want by default here it’s EC2 Large, but it could be High Memory XL, Quadruple, Double, CPU XL, all the server types Amazon offers. So I’m done with my Grid, it’s not deployed yet, I only deploy a grid when I need it. So here I’m actually ready to run my test so I’m going to deploy those instances – 4 locations, 4 test servers and 4 result servers. The cool thing about CloudTest is here – what you are seeing is an automatic deployment. So we have integrated all Cloud provider API within the product such as EC2, Microsoft Azure, IBM Cloud, Rackspace, Go grid so that you don’t have to deal with the manual processing of your server. I don’t have to go to Amazon console to manually launch my server which can be quite a difficult task when you want to spawn 20 servers, 50 servers or 100 servers. You don’t want to do that manually, you want a mechanism, an automatic mechanism and CloudTest offers you that here. It’s allocating all the servers I need for that particular environment. What’s cool about it is that if you get an error – connection time out, connection error, if anything goes wrong, CloudTest is automatically going to re-try until you get those servers up and running in good health for you to run your test. So I don’t have to spend time on that particular thing, we’ll go back a bit later. Next, what I need to do on my composition is pick and choose the location for these clips to be executed. As you can see here, I have a drop down that allows me to choose the location I want to use. So here I have a lot of locations that I can use – Rackspace, Azure, IMB Cloud, EC2, but I have an EC2 grid so I’m going to use EC2. East Coast, West Coast, Europe and Singapore, ok, so I’m going to run those four tests on those four locations. I think I’m done on my composition so I’m going to save it. I’m going to go back to my grid; it’s not ready yet so as you can see here as I was saying, I’m getting errors here on some of them. So CloudTest is re-trying until you get all these servers up and running. Here I have eight so I only have one problem now with one of the servers – connection refused. I don’t really care as I know that CloudTest is going to re-try until it gets those servers up and running for me which is cool. I can get some metrics on these servers that are up – allocation time, pending time, busy time – all types of statistics. I can change some settings for those servers – allocation block size, re-try count, re-try delay, there’s a whole bunch of advanced settings that you can set. I’m not going to do that here because I want to keep it simple. So here I’m actually done allocating, CloudTest is done allocating all those servers. What it’s doing now is its starting the monitoring for those eight servers because you might want to check on those servers as you generate load or get results, you want to check on those servers to make sure everything is fine and when it’s done it tells you the grid is ready. Here my grid is up and running. I have one server, actually 2 servers in all locations – one test server and one result server. So what I’m going to do here, I’m going to start my test. What happens when I start my test here, it’s just the same thing as when you run your test on CloudTest Lite. On CloudTest Lite, all the clips are going to be executed locally, here CloudTest is going to deploy that composition and those clips on those specific locations. So the browsing scenario is going to be executed from the East Coast and the home page scenario is going to be executed from the West Coast etc. So it’s the same thing as CloudTest Lite but here you are able to leverage public files and specifically here EC2. So that’s your dashboard that your familiar with. If you use CloudTest Lite, same thing – real time analysis that you get in front of you. What you’ve also got is the monitoring summary which is what I’ve shown in a previous video which is very simple to set up and put in place so it tells me the CPU percentage of the server hosting the website, per process CPU percentage and the process count. All the performance matrix coming back from the infrastructure which is very important. I’ve added a dashboard which gives you a graphical interface of that test so here the target is our website “Soasta Store”, it’s located in Seattle, Washington state. Here we can see our four servers, west coast, east coast, Europe and Singapore hitting the website with the particular traffic that we’ve defined in the composition. I can click on each of these servers and get individual response time for these locations. That’s very important for some of our customers that want to replicate, not only do they want to replicate global traffic but they want to understand the response time and the performance metrics when people hit the website coming from these locations because they might want to optimise a specific location for a particular event. For example, an ecommerce site might want to have a special offer for east coast customers and so on the D-day they want to make sure the performance of the website is optimised for east coast customers so that’s why they want to test for example 80% of the traffic is going to come from the east coast and the rest from the rest of the world and they want to make sure that these response times are really good for the east coast customer. I have the same type of information here on my summary dashboard. So that’s my average response time, aggregated view, I would say from all locations and I can split by location here and get a detailed view. I can filter them out so if I’m only interested by monitoring Europe and US East I can do that and as you can see obviously we can see that the response time from Europe is spiking a little bit and the east coast is obviously better because its closer to the website in that particular case and there’s no CDNs in so it’s a very simple web environment. So that’s it, we’re testing from the cloud from multiple location, I’ve got four locations, I could test from 28 locations, that’s what Soasta offers today. So very easy to set up you just declare your grid, you spawn your server automatically and you use them. What you want to do is when you’re done with your test campaign, I would say test for a day on those multiple locations. I’m going to stop my test here. What you want to make sure that you do is that you tear down your environment. Again its completely automatic here, I just tick on tear down instances and Cloud test is going to kill those servers for me and its very fast and here I’m done for my grid. If I want to use it again I just deploy the grid and that’s super easy. So what’s interesting is that we are seeing more and more customers creating their tests and testing up to 100 virtual users using CloudTest Lite on their local machine and when they’re ready to scale, when they want to see how their website is going to scale with the same type of scenario, they give the scenario to us and we execute the scenario on our global cloud. So if you are interested in doing that just send me an email email@example.com and I’ll be happy to help you look at your scenario and help you run those tests on our global cloud. Whether it’s EC2 or a Azure or Go Grid or Rackspace, whatever you choose, some customers have a preference. That’s up to you! So I hope you enjoyed the video and I hope that it was informative and hopefully I’ll see you for my next video. I’ll see you soon! Bye!