Server Farm Distribution and Availability
One of the major strengths that attracts companies of any size to deploy Citrix MetaFrame Presentation Server is that it is more redundant and more available than any other system. For example, suppose you have 10 MetaFrame servers in the farm serving users. If one server fails or goes down for any reason, the users connected to that server will lose their connection, as well as any unsaved work they were working on. However, they can immediately connect back and will be directed to another server in the farm that supports the same application, enabling them to keep working.
Ideally, you would want all your MPS servers to be in one geographical location, which is what server-based computing or centralized computing is all about. However, in many cases and mostly in larger organizations, you may find groups of servers located in different regions serving different users. For these types of scenarios, you should investigate clustering the IMA Data Store and distributed databases.
Clustering, Distributed Databases, and Multiple Farms
In large, enterprise-class organizations where numerous servers may be located in different geographical locations, you should rethink the way you design your IMA Data Store for performance reasons and for failover or disaster recovery reasons.
If your organization requires zero downtime or very minimal downtime and is willing to spend the money, you should consider clustering the IMA Data Store to avoid the single point of failure scenario. You can use a number of different clustering methods, but most notable here is the Microsoft Clustering service. The topic is beyond the scope of this exam, but as an administrator, you should be aware of the different options available to you.
Another method you should be aware of is the distributed databases method, which is useful for organizations that have groups of servers in different geographical locations. Because the servers do many reads to the IMA Data Store to query it for data, if these servers are located far away from the Data Store and must travel the WAN to query it, performance is affected for all servers in the farm. For this reason, you should consider using distributed databases, which means you will add a database server at every location where the number of servers warrants a database server. This database server would be an exact replicated copy of the original Data Store and would be used to serve these servers in the remote locations. Again, this topic is beyond the scope of the CCA exam but is mentioned here because, as an administrator, you should be aware of it.
Organizations usually consider creating a second farm when servers are located in geographically dispersed areas and separation of communication is critical. For example, an organization that has a presence in the United States and also in Europe with servers in every continent should consider having separate farms for each region, which would improve performance and reliance on each other. This would mean separate Data Store databases for each farm, which in this scenario is required and recommended.
The quest of building the "ultimate" environment where no component will ever go down is the dream of every techie in the industry. Many of us dream of a server with so much redundancy that it can never go down. Even though that dream is far from being realized, components in the server can be redundant, which means you have two or more of the same component, and in the event that one of them goes down, the other picks up automatically without any interruption of service.
Today, you can order servers with redundant hard drives that are built on RAID technology, so if a hard drive fails, the server continues to function properly, and all you need to do is exchange the bad hard drive with a new one.
You can also have redundant network interface cards (NIC) and redundant power supplies so if one goes down, power is picked up from the other one without affecting the server’s uptime.
Even if you spend thousands on redundant components, in our opinion, you can never ensure that a server will never go down. For example, what if the motherboard goes bad? All the other redundant components will not help.
A much better solution would be to spend the money on an additional server, rather than on redundant components. More servers improve performance, and they do not cost that much more than the redundant components. This is, of course, the advice we give for MPS servers. For database servers, we recommend some redundant components such as power supplies and hard drives, but we strongly recommend clustering in environments where extended downtime is not tolerated.
Citrix MetaFrame Presentation Server Advanced Edition and Enterprise Edition have the capability of automatically load balancing MPS servers either based on user load or based on a more advanced set of calculations. We discuss load balancing in more detail in Chapter 8, "Citrix Load Management." Load balancing is an automated method of spreading user load to the least busy server in the farm. You should be careful, though, as load balancing is not fault tolerant, which means in the event that an MPS server goes down, the users connected to that server will lose their connection. They will not be automatically routed to another server, but they will have to initiate a new ICA session and then be directed to a new server.