Modern, high‑traffic applications must serve thousands of concurrent requests from users or clients, and return the correct content quickly and reliably. To cost‑effectively scale to meet this high volume, modern computing best practice generally requires a load balancer.

Fault tolerance and load balancing can be achieved across multiple PAS for OpenEdge instances that support a single session-free business application by registering the instances with a Domain Name System (DNS) load balancing service like Elastic Load Balancer from AWS. In this case, your PAS for OpenEdge clients connect to the DNS load balancer using a URL that identifies the same OpenEdge ABL or SQL application and the appropriate connection transport supported by all the registered PAS for OpenEdge instances. Depending on the load balancing service, it can then delegate client requests to the available PAS for OpenEdge instances using several different load balancing policies.

Reasons to use a load balancer

There are many reasons for incorporating load balancers into your application’s architecture. A load balancer can:
  • Eliminate OS images and application servers as a SPOF
  • Increase the number of clients concurrently using your application
  • Update your application services with functionality that uses more OS image resources
  • Update your application without schedule downtime
  • Route end user access to application server instances located in multiple geographic locations
  • Meet end user service requirements for application availability and response times

What is a load balancer?

A load balancer acts as a traffic director that sits in front of an enterprise's PAS for OpenEdge instances, and routes requests across all servers capable of fulfilling those requests, to maximize speed and capacity utilization. Using a load balancer ensures that no PAS for OpenEdge instance is overworked. If a single server goes down, then the load balancer redirects traffic to the remaining online PAS instances.

After you have decided that load balancing can improve your application availability, it becomes easier if you understand a few of the basics. When you begin investigating this area, you will discover many hardware and software load balancer products that offer different features and capabilities. As you view those features and capabilities understand that choosing a load balancer product is heavily influenced by your ABL application’s design, implementation, and deployment. Choosing the correct load balancer product that matches your ABL application’s runtime requirements is be crucial to maximize performance at the lowest cost.

There are several components you will find in every load balancer deployment:
  • PAS for OpenEdge clients
  • A 3rd party load balancer hardware or software product
  • Multiple cloned instances of PAS for OpenEdge and your ABL application installed
  • OpenEdge network connected database servers
  • Monitoring tools for the load balancer, OS images, application servers, and database servers
Other more advanced features for certain load balancing products can be available:
  • PAS for OpenEdge HealthScanner
  • Autoscaling PAS for OpenEdge instances
  • Regional traffic routing to PAS for OpenEdge instances
  • Heart-beat tracking between load balancer instances for eliminating SPOF

How to choose a load balancer

Part of choosing the right load balancer product is related to the environment that your PAS for OpenEdge hosted ABL application is deployed. No single load balancer product is the right fit for every type of deployment environment. In most cases, software load balancer products are first on your list because they can work in most of the deployment environments. However, hardware load balancers can also be a candidate for certain types of deployments.

If your ABL application’s PAS for OpenEdge instance is running in a container, then focus on the load balancer products that are tailored for working with swarms of containers.

If your deployment environment is in a cloud environment, then focus on the cloud’s load balancer solution first as it is tailored for efficient interaction with cloud images and application servers. Then, look towards other software load balancer solutions that are designed for cloud operations.

For more information see, ABL Application Continuous Operation by OpenEdge Senior Architect Mike Jacobs.