09-July-2024, min readtime

Improve and save with performance testing on your cloud environment

Are you thinking about how to better set up your cloud environment and save costs at the same time? Performance testing can play a major role in this. These tests not only help you determine if your systems can handle the expected workload but also provide insight into how to make your cloud environment as efficient as possible. Below, we explain in an understandable way how you can approach this.

1. Think carefully about the design of your application

Do you really need a virtual machine (VM), or would it be better to opt for a serverless solution? Both Microsoft Azure and Amazon Web Services offer serverless options that can be cheaper. An example of this is an API that reads or writes data to or from a database or simple storage where you don't want any maintenance. You only pay for the actual usage, and if there is no load, the costs are extremely low. Very advantageous indeed.

2. Choose the right virtual machine

Cloud providers have different types of virtual machines, depending on the type of workload you need.

  • Does your application heavily rely on CPU usage? Then choose a machine optimized for that purpose. The advantage is that these machines have the latest CPU generations, ensuring pure computing speed, although at a corresponding cost. The emphasis may be somewhat less on other aspects, such as disk or network speed and memory size.
  • Do you have short, busy periods? Then you want the performance to still be top-notch. 'Burstable' types offer a solution here. You can work above the defined capacity of the type, although this will naturally cost extra.
  • Does your application process a lot of data locally? Then opt for a storage-optimized type. These types have the fastest and possibly largest SSD solutions to read and/or write data as quickly as possible.
  • Do you work a lot with AI-related applications, such as ChatGPT, graphical applications, or other models where neural networks need to be trained? There are also special VMs with specific GPU hardware for that.
  • And if your application has no specific requirements, the general, cheaper machines are often just fine. So, don't be easily tempted to choose the advanced (more expensive) types.
  • Last but not least: ‘spot’ virtual machines. Spot VM is not derived from spot cheap, but because the market price is determined by the demand and supply of overcapacity, the VMs are often competitively priced. However, there are some downsides. Spot VMs are not guaranteed to be available for you, and the cloud provider can decide at short notice that it needs the capacity (or part of it) for customers who pay more for it. Are there no heavy performance requirements for your workload? For example, in an automatic nightly processing in the administration, it may not matter much whether it is done within 1 hour or 4 hours. In such a case, it may be worthwhile to look into this.

3. High Available: necessary or not?

Making the application ‘highly available’ means making it available across multiple so-called availability zones. Does a cloud provider location have a technical issue? Then your service will hardly be affected. This can only be achieved by running virtual machines and other services in multiple places and using a load balancer to manage this properly. This naturally incurs additional costs. So, think carefully about whether this is really necessary for your situation.

4. Configure automatic scaling

One of the advantages of the cloud is that you can quickly add extra capacity when needed. But be careful, running extra machines costs money. Therefore, set up automatic scaling to match the load profile of your application. Are there short peaks in load? Ensure you can respond quickly and set the right rules to handle the peaks. Is it less important that the application always completes tasks as quickly as possible? Then limit automatic scaling to save costs.

Performance testing as a basis for optimization

Many of these cost-saving opportunities can be discovered by conducting realistic performance tests. These tests often show that your cloud environment can be set up more efficiently, for example by using fewer or cheaper machines. They also help identify scaling issues.

Performance tests, such as a Stress Test or Load Test, can help you both improve the performance of your cloud environment and save costs. Want to learn more about how you can do this? Contact our specialists at performance@computest.nlfor advice and a comprehensive assessment of your cloud environment.

This website works best with JavaScript enabled