Improving Content Access through Location Awareness
Alfresco users access their content from different locations, which can be within the intranet of the organization, from home, or from another continent. As expected, accessing Alfresco within the intranet will be very fast. From home and abroad will be obviously slower. That is not just because of the speed of the Internet, but also because Alfresco handles all requests in the same way. The location of the user is not taken into account. Therefore, without locality awareness, "far" users don't get the same fast experience as "close" users. But it is possible to do better.
We continuously replicate Alfresco's content store to locations where there are many users, and we place a proxy in front of the replicated store. Then, when a user from those locations requests a document, Alfresco will redirect the request to the proxy that is closest to the user, getting a faster download. It is still a centralized Alfresco, but with distributed content. This scenario can help different kind of organizations, not only large ones where users are located in different continents. For instance, our customer P&V has offices in two cities in Belgium: Brussels and Antwerp. The main Alfresco instance runs in Antwerp, and the content is stored in a CAStor cluster. Another cluster located in Brussels is a replica of the one in Antwerp. Hence, users working in Brussels get a slower access to the documents. We can improve this situation by placing a proxy in front of the clusters and redirecting the requests accordingly, proving locality awareness. This can also be applied dynamically since some of the workers are half of the week on each city. Another example includes organizations that promote working from home. The idea is to have a storage on the intranet, and a replica on the internet. That reduces a lot the traffic between the intranet of the organization and the users working from home, decreasing network traffic cost, and improving the access speed of the workers at home. The replication of the content store is not limited to system such as the CAStor cluster. It can only be achieved by synchronising file systems, or combining it with S3 kind of storage. During the talk we will discuss the design and implementation of this solution, and some scenarios where it can be applied.