No matter how many lines of code it has, every software application has scalability limits.
Some limits can be caused by limits that are external to the application itself, while others can be inherent within the application. As a software engineering team, it is important for us to understand the scalability limits of the solution as a whole; this includes the limits of both external dependencies and internal code. Not only does this enable us to document and communicate this information to our customers, but it also helps us make better software. It provides us with a deeper understanding of our application within the most demanding environments.
Exchange 2010 is new and different from its predecessors in that, unlike all previous versions of Exchange, Exchange 2010 is the first version designed specifically to run as an on-premises application, as a hosted service in the cloud, and as a combination of both (cross-premise). At 20 million mailboxes and growing, it's more important than ever that our understanding of the limits of Exchange be crisp.
A while ago, we began the process of documenting the scalability limits of both Exchange 2007 SP2 and Exchange 2010. We've looked at all areas: things like organization sizing, rules sizing, IRM-protected messages, secure channels, named properties, load balancing, network latency, and more.
Here's our initial version of Exchange Scale Limitations spreadsheet (attached to this blog post) documenting our findings thus far. There's a lot of great information in there, including issue descriptions, mitigations, and links where appropriate.
We hope you enjoy this first version. Please feel free to send us your comments and feedback.