Monday 15 July 2013

APPLICATION OBJECT SERVER (AOS) TOPOLOGIES


Microsft Dynamics AX consists of two major parts.
1)  AOS 
2) Client. 

AOS stands for Application object Server

Usually, for a typical and simplest installtion of AX, one instance of AOS is installed and N number of clients are installed. Here N can be any number of clients. For each user/ computer one instance of client is installed. All clients connect to same AOS Server.


An Application Object Server (AOS) instance is a core component of your Microsoft Dynamics AX installation and is installed by using Setup. An AOS instance enforces security, manages connections between clients and the database, and provides the foundation where Microsoft Dynamics AX business
logic runs. Thus, installtion of AOS becomes most vital. 

Apart from topology as shown in image 1, above, there are two more suportted topolgies for installation of AOS. The topics in this section describe the various roles in which AOS can function. i.e. AOS Installation topologies. The other two topoligies are as under:
1)      AOS clusters without a dedicated load balancer
2)      AOS clusters with a dedicated load balancer


Lets talk about both of these how these work, practically and benefit/ loss of each toplogy.


1)      AOS CLUSTERS WITHOUT A DEDICATED LOAD BALANCER:



In this topology each AOS in the cluster acts independently. Each AOS has to be provided in the client configuration file for the client to connect. Based on a list of provided AOS servers in the client configuration file, the client will attempt to access each server in the order listed to find an available server. If a server's workload has reached its maximum level, then the client will simply attempt to connect to the next AOS.

·     When a Microsoft Dynamics AX client starts, the client reads the list of AOS instances that is specified in the Microsoft Dynamics AX 2012 Configuration utility. The client initiates a handshake with the first AOS instance in the list. If the first AOS instance does not respond, the client initiates a handshake with the next AOS instance in the list. The client continues in this manner until the handshake occurs.
·         The AOS instance that received the client request queries the database and all active AOS instances in the cluster. The AOS instance returns to the client a list of all active AOS instances in the cluster, sorted by workload. The server that has the smallest workload is at the top of the list. The workload is based on the number of connected clients, divided by the maximum number of clients that are allowed on the server.
·         The client attempts to connect to each AOS instance in the sorted list until a successful connection is established. The client then uses the AOS instance that it connected to for the whole session.


1)      AOS CLUSTERS WITH A DEDICATED LOAD BALANCER:  



Microsoft Dynamics AX provides the option to load balance two or more AOS's together. This is similar to how a web farm works for a SharePoint site. Alternatively, you may opt to use hardware or another software solution to load balance AOS access. It is recommended to have one AOS for no more than 50-60 users. In a load balanced cluster, one AOS is a dedicated load balancer, delegating client connections to the appropriate AOS. It is not directly used either for interactive purposes or for processing application code. Once a client is connected to the load balancer AOS, it will then determine which AOS it should connect to. If an AOS goes down, the load balancer AOS will automatically re-route clients to an active and available AOS without having to make any modifications to client configurations. Also, as a company grows and more users are needed, it is as simple as installing a new AOS and connecting it to the load balancer.

As previously mentioned, to set up load balancing, we must set up one AOS as the load balancer. Afterwards, each additional AOS in the load-balanced cluster will automatically listen for client connection requests from the Load Balancer AOS.
However, in order for an AOS to be a load balancer, it must first satisfy the
following criteria:
• Cannot be a Batch Server
• Must be an AOS that is active




·         When a Microsoft Dynamics AX client starts, the client reads the list of active AOS instances that is specified in the Microsoft Dynamics AX 2012 Configuration utility. The client initiates a handshake with the first AOS instance in the list. In this scenario, the administrator has configured the first AOS instance as a dedicated load balancer.
·         The load balancing AOS instance that received the client request queries the database and all active AOS instances in the cluster. The AOS instance returns to the client a list of all active AOS instances in the cluster, sorted by workload. The server that has the smallest workload is at the top of the list. The workload is based on the number of connected clients, divided by the maximum number of clients that are allowed on the server.
·         The client attempts to connect to each AOS instance in the sorted list until a successful connection is established. The client then uses the AOS instance that it connected to for the whole session.
·         An AOS instance that is configured as a load balancer does not accept any client connections as either an application server or a batch server. This AOS instance functions only as a load balancer.
·         A dedicated load balancer can be used only for remote procedure call (RPC) connections. To balance the load of connections for Application Integration Framework (AIF) and services, you must use Microsoft Network Load Balancing (NLB).
·         An AOS instance that is configured as a load balancer does not require an AOS license, because the server does not provide any application services to the clients.
·         If you configure an AOS instance as a dedicated load balancer, you do not have to update client configurations when AOS instances are added to or removed from the cluster.
·         A dedicated load balancer has lower hardware requirements than an AOS instance that functions as an application server, because the load balancer does not process application requests or business logic.
·         You can configure multiple AOS instances to function as dedicated load balancers. However, you must make sure that dedicated load balancers appear first in the list of active servers in the client configuration.

 
In order to configure any AOS as load balancing follow following path in AX

Company-Legal Entity/System administration/Setup/System/Cluster Configuration




5 comments:

  1. Does the AOS Load Balancing piece Use Unicast to communicate?

    ReplyDelete
  2. What happens if the load balancer fails?

    ReplyDelete
    Replies
    1. Well, this question we asked to ourselves and decided to implement architecture without LB

      Delete
  3. do I need to configure the "Custer Name" somewhere on the AXC Client? As I know, we configure AOS Servers instances on client but I do not see "Cluster Name" part.

    ReplyDelete