This set of articles guides you through the most important concepts related to the performance and scalability of applications, and what considerations you need to account when you are developing, deploying, monitoring or troubleshooting them.
Performance is an indication of the responsiveness of a system to execute any action within a given time interval, while scalability is the ability of a system either to handle increases in load without impact on performance or for the available resources to be readily increased. source: https://docs.microsoft.com/en-us/azure/architecture/patterns/category/performance-scalability
So to handle those variations in workload approaches like horizontal or vertical scaling are used.
Horizontal scaling means that you scale by adding more machines into your pool of resources whereas Vertical scaling means that you scale by adding more power (CPU, RAM) to an existing machine.
Horizontal scaling helps also to get high availability of your application
Autoscaling, also spelled auto scaling or auto-scaling, and sometimes also called automatic scaling, is a method used in cloud computing, whereby the amount of computational resources in a server farm vary automatically based on the load on the farm. source: https://en.wikipedia.org/wiki/Autoscaling
All these approaches to scaling are used in GeneXus applications. When horizontally scaling web applications or services, a load balancer is commonly used to balance the requests to the machines of a cluster or farm.
GeneXus supports these sophisticated architectures and scaling methods to combine different solutions depending on the application needs. Anyway, special considerations need to be taken into account in the whole lifecycle of an application so that it can perform and scale as needed.