Exchange Server 2013 Architecture, Part 1
Speaker NameTitleMicrosoft Corporation
Presentation available @http://ignite.office.comUpdated: Oct. 15, 2013
Agenda
Part 1Evolution of Server RolesClient Access ServerMailbox Server
Part 2TransportUnified MessagingManaged Availability
Evolution of Server Roles
Evolution of Server Roles
C C C H H H
L7 LB
2010
• Separate HA solution per role
• Support for Hybrid• Complex load
balancing
CAS HT
MBX MBX
2007
• Server roles introduced for deployment and scalability
• Support for simplified storage introduced
Ex Ex
SAN
Ex Ex
2000/2003
• Role differentiation through manual configuration
• Backups and hardware solutions for DR
Exchange deployments can be complicatedServer roles tightly-coupled in terms of versioning, functionality, user partitioning, geo-affinityLoad balancing can be difficult and expensive
Hardware can go unutilized or under-utilized
Many namespaces required in multi-site deployments
Challenges with Previous Model
“Our primary design goals were simplicity of scale, hardware efficiency, and failure isolation.”
- Microsoft Exchange Team
Use Building Blocks to facilitate deployments at all scales
Server role evolutionNetwork layer improvementsVersioning and inter-op principles
Numerous BenefitsHardware efficiencyDeployment simplicityCross-version inter-opFailure isolation
Architecture Theme and Benefits
Evolution of Server Roles
E C H U M
Exchange 2010 SP3Exchange 2007 SP3
RU10
C
Evolution of Server Roles
AuthN, Proxy, Re-direct
Protocols, API, Biz-logic
Assistants, Store, CI
Exchange 2010Architecture
AuthN, Proxy, Re-direct
Store, CI
Protocols, Assistants, API,
Biz-logic
Exchange 2013Architecture
Client Access
Mailbox
Client AccessHub Transport,
Unified Messaging
Mailbox
L4 or L7 LB
L7 LB
Thin, stateless (protocol session) server that includes:Client Access Front End (protocol proxy for HTTP, POP, IMAP)Front End Transport service (SMTP proxy)UM call router (SIP redirection)
Exchange-aware proxy serverPerforms lookups and proxies request to Mailbox server hosting active databaseSupports proxy and redirection logic for clients, including legacy mailboxes
Client Access Server Role
Server that processes, renders and stores Exchange data
Includes components previously found in CAS, Hub Transport, and UM server roles
Includes client access protocol stack that provides connectivity to mailboxApplication session is maintained on the Mailbox server that hosts the active copy of the user’s mailbox
Mailbox Server Role
Evolution of Server Roles
12
E M
Exchange 2010 SP3Exchange 2007 SP3 RU10
C MC
MC
Database Availability Group
(DAG)
Client Access Server Array
Load B
ala
nce
r
Evolution of Server Roles
13
E M/C
Exchange 2010 SP3Exchange 2007 SP3 RU10
M/C
M/C
Database Availability Group
(DAG)
Client Access Server Array
Load B
ala
nce
r
E2010Banned
Server1 (Vn) Server2 (Vn+1)
Protocols, Server Agents
EWS
RPC CA
Transport
Assistants
MRS MRSProx
y
Transport
Assistants
EWS
RPC CA
MRS MRSProx
y
Business LogicXSO
Mail ItemOther API
CTS
XSOMail ItemOther API
CTS
StorageStore
Content index
File system
ESE
StoreContent index
File system
ESE
SMTP
MRS proxy protocol
EWS protocol
Every server is an island
Client Access Server
Domain-joined machine in the internal Active Directory forestThin, stateless (protocol session) server
Comprised of three components:Client Access Front End (protocol proxy for HTTP, POP, IMAP)Front End Transport service (SMTP proxy)UM call router
Exchange-aware proxy serverPerforms lookups and proxies request to Mailbox server hosting active databaseSupports proxy and redirection logic for clients, including legacy mailboxes
Client Access Server
A group of CAS organized in a load-balanced configurationDesigned to work with TCP affinity (layer 4 LB) and session affinity (layer 7 LB), but does not require layer 7 LB
Provides a unified namespace and authenticationSimilar to Exchange 2010 in terms of providing a unified endpoint for client connectivity and authentication
Client Access Server Array
Load Balancer
MDB
HTTP Proxy
IISClient Acces
s
RPC CA
Mailbox
IIS
RPS OWA, EAS, EWS, ECP, OAB
POP, IMAP SMTP UM
POP IMAP
Transport UM
SMTPPOP, IMAPHTTP
MailQ
Client Protocol Architecture in Exchange 2013
RpcProxy
SMTP
SIP
Redirect
SIP + RTP
POP/IMAPOutlook Web App Outlook EAS EAC PowerShell
Only RPC/HTTP (Outlook Anywhere)
No RPC/TCP
Numerous benefitsSimplifies the protocol stackProvides an extremely reliable and stable connectivity modelMaintains RPC session on Mailbox server hosting active copyEliminates need for RPC CAS Array and associated namespace(s)Eliminates end user interruptions like “The Exchange administrator has made a change that requires you to quit and restart Outlook” during mailbox moves or *overs
Outlook Connectivity in Exchange 2013
Third-party MAPI products will need to use RPC/HTTP to connect
Exchange 2013 is the last release to support a MAPI/CDO downloadThird parties must move to Exchange Web Services in the future
Newest MAPI/CDO download supports RPC/HTTP connectivityWill require third-party application configuration; either by programmatically editing a dynamic MAPI profile, or by setting registry keysLegacy environments can continue to use RPC/TCP
Third-Party MAPI Products
20
What you need to control connectivity flow Outlook only supports a single RPC Proxy endpointIf Outlook Anywhere is allowed on the Internet, this may have internal Outlook clients connect to the external firewall for connectivity
To ensure that internal Outlook clients follow the internal pathway, use split-brain DNSForces internal clients to use internal IPForces external clients to use external IP
Split DNS
21
Exchange 2013 no longer requires multiple namespaces for site resilient solutions or site specific scenarios
Easy to setup a single, worldwide client access namespaceCan be used in coexistence with Exchange 2010
Namespace Simplification Options
A Single Common Namespace ExampleGeographical DNS Solution
Sue (somewhere in
NA) DNS Resolution
DAG
VIP #1 VIP #2
Sue (traveling in APAC)DNS Resolution via Geo-
DNSRound-Robin between # of VIPs
DAG
VIP #3 VIP #4
mail.contoso.com
Round-Robin between # of VIPs
Mailbox Server
24
Server that hosts the components that process, render and store Exchange dataIncludes components previously found in separate roles
Only Client Access servers and UM callers connect to the Mailbox serverClients connect to Client Access servers, and Client Access servers proxy/redirectConnectivity to a mailbox is always provided by the protocol instance local to the active database copy
Mailbox Server Role
Collection of servers that form a unit of high availability
Boundary for replication and *over
DAG members can be in different sites
Can have a maximum of 16 Mailbox servers
Database Availability GroupMBX1
MBX2
MBX16
Other Mailbox Server Changes
Managed Store
Modern Public Folders
Search Foundation
Workload Management
Managed Store
• Previously a single monolithic process• Unmanaged code• Very nested code that made it difficult to debug
Exchange Information Store
• Store service/process (Microsoft.Exchange.Store.Service.exe) Microsoft Information Store service Manages worker process lifetime based on mount/dismount Logs failure item when store worker process problems detected Terminates store worker process in response to “dirty” dismount during
failover
• Store worker process (Microsoft.Exchange.Store.Worker.exe) One process per database, RPC endpoint instance is database GUID Responsible for block-mode replication for passive databases Fast transition to active when mounted Transition from passive to active increases ESE cache size 5X
Managed Store
Store Worker Process Example
MountedOnServer: EXHV-1125.EXHV-44159dom.extest.microsoft.com
Name WorkerProcessId Mounted ActivationPreference EdbFilePath
---- --------------- ------- -------------------- -----------
MDB01C 11328 True {[EXHV-1125, 1], [EXHV-94234, 2], [EXHV-96496, 3]} C:\Databases\MDB01\MDB01C\MDB01C.edb
MDB02C 12504 True {[EXHV-1125, 1], [EXHV-94234, 2], [EXHV-96496, 3]} C:\Databases\MDB02\MDB02C\MDB02C.edb
MDB03C 11564 True {[EXHV-1125, 1], [EXHV-94234, 2], [EXHV-96496, 3]} C:\Databases\MDB03\MDB03C\MDB03C.edb
MountedOnServer: EXHV-94234.EXHV-44159dom.extest.microsoft.com
Name WorkerProcessId Mounted ActivationPreference EdbFilePath
---- --------------- ------- -------------------- -----------
MDB01A 2920 True {[EXHV-94234, 1], [EXHV-96496, 2], [EXHV-1125, 3]} C:\Databases\MDB01\MDB01A\MDB01A.edb
MDB02A 17480 True {[EXHV-94234, 1], [EXHV-96496, 2], [EXHV-1125, 3]} C:\Databases\MDB02\MDB02A\MDB02A.edb
MDB03A 22372 True {[EXHV-94234, 1], [EXHV-96496, 2], [EXHV-1125, 3]} C:\Databases\MDB03\MDB03A\MDB03A.edb
MountedOnServer: EXHV-96496.EXHV-44159dom.extest.microsoft.com
Name WorkerProcessId Mounted ActivationPreference EdbFilePath
---- --------------- ------- -------------------- -----------
MDB01B 16692 True {[EXHV-96496, 1], [EXHV-1125, 2], [EXHV-94234, 3]} C:\Databases\MDB01\MDB01B\MDB01B.edb
MDB02B 3336 True {[EXHV-96496, 1], [EXHV-1125, 2], [EXHV-94234, 3]} C:\Databases\MDB02\MDB02B\MDB02B.edb
MDB03B 17912 True {[EXHV-96496, 1], [EXHV-1125, 2], [EXHV-94234, 3]} C:\Databases\MDB03\MDB03B\MDB03B.edb
• Replication service process (MSExchangeRepl.exe) Detecting unexpected database failures Issues mount/dismount operations to Store Provides administrative interface for management tasks Initiates failovers on failures reported by ESE, Store, and Responders
Microsoft Exchange Replication service
• Allocates 25% of RAM for worker process ESE cache This is referred to as the max cache target Amount allocated to each store worker process based on number of
hosted database copies and value of MaximumActiveDatabases Static amount of cache allocated to passive and active copies
• Store worker process will only use max cache target when copy is active Passive database copies allocate 20% of max cache target
• Max cache target computed at service startup Restart Store service process when adding/removing copies or changing
value of MaximumActiveDatabases
New ESE Cache Management Algorithm
Scheduled maintenance is gone in Exchange 2013Recurring maintenance now part of time-based assistant (TBA) infrastructureStoreMaintenance: lazy index maintenance, isintegStoreDirectoryServiceMaintenance: disconnected mailbox expiration
Workload Management monitors CPU, RPC latency, and replication health Task execution throttled/deferred when resource pressure existsBackground ESE database scanning further throttledBased on datacenter disk failure analysis, target to complete background database scan within 4 weeks (using multiple databases on 8 TB disks)
Recurring Maintenance
Reduction in overhead to generate over-quota notificationAt logon time, system evaluates mailbox quota against policySends over-quota notification message once per notification interval, notifications are NOT sent to inactive mailboxes
Mailbox size calculation is more accurate measurement of mailbox database storage usedIncludes both internal and end-user items/properties
Reported size will increase when moved to Exchange 2013Search metadata stored on items increases overall mailbox sizeNo increase in database footprintShould plan to increase quota per mailbox
Mailbox Quota Management
Modern Public Folders
Public folders based on the mailbox architecture
Single-master modelWritable hierarchy is stored in one PF mailbox (all others have read-only)Content can be broken up and placed in multiple mailboxesHierarchy folder points to the target content mailbox
Because it’s in a mailbox database…High availability achieved through continuous replicationNo separate replication mechanism
Similar administrative features to current PFsMinimal end-user changes
Modern Public Folders
Public Folder architecture
Architectural Public folders are based on the mailbox architecture
Details•Hierarchy is stored in all public folder mailboxes•Content can be broken up and placed across multiple mailboxes•Similar administrative features•Minimal end-user changes
Red FolderGreen Folder
CAS 2013
Blue FolderPink Folder Yellow Folder
Publiclogon
Publiclogon
Public Logon
Hierarchy Hierarchy Hierarchy
Content Mailbox
Hierarchy Mailbox
Content Mailbox
Users connect to home Public Folder mailbox firstShould be located near their primary mailbox
Folder contents live in one mailboxAll content operations are redirected to the mailbox for that folderWhen a Public Folder mailbox gets full, move some folders to a new mailbox
Folder hierarchy changes are intercepted and written to writeable copy of Public Folder hierarchyAll Public Folder mailboxes listen for hierarchy changes and update similar to Outlook clients
Modern Public Folders
Analyze existing Public Folders Tool available to analyze existing Public Folder hierarchy to determine how many Exchange 2013 Public Folder mailboxes are recommended
Copy Public Folder dataUsers access existing Public Folder deployment while data is copiedData migration happens in the background
Switch clients to Exchange 2013 Public Folders There will be a short downtime while the migration is finalizedOnce migration completes, everyone switches at the same timeCan switch back, but any post migration Public Folder changes are lost
Public Folder Migration
Search Foundation
Search Foundation
Significantly improved query performance
Significantly improved indexing performance
With a single content indexing engine, no additional resources are used to crawl and index mailbox databases for In-Place eDiscoveryIn-Place eDiscovery uses Keyword Query Language (KQL)
Exchange 2013 allows SharePoint 2013 to search Exchange mailboxes using Federated search API
Search Foundation
Supports many file formats natively (Office, TXT, PDF)No need to install Office Filter Packs on Exchange servers
Can leverage iFilters
Includes robust error handling
Search Foundation
44
Search Foundation Primer
Core
Catalog
CTS
Incoming Documents
FilterWord Break
Content
XForm
MARS Write
r
Incoming Queries
“CTS Flow”
IMSContent XForm
Query
Parse
“IMS Flow”
Res
ults
Mailbox
DB
Idx
Passive
Exchange Search Infrastructure
TransportTransport CTS
MailboxStore
DB
Index Node
Idx
ExSearch
Loca
l Del
iver
y
Reliable
Event
CTS
Read Content
MBX2013
Log
MBX2013
Log
Workload Management
Workload refers to an Exchange server feature, protocol, or service that has been explicitly defined for the purposes of Exchange system resource management
Each workload uses system resources such as CPU, mailbox database operations, or Active Directory requests to execute user requests or run background workExamples of Exchange workloads include Outlook Web App, Exchange ActiveSync, mailbox migration, and mailbox assistants.
Workload Management
Control how resources are consumed by individual usersControlling how resources are consumed by individual users was possible in Exchange 2010, and this capability has been expanded for Exchange 2013
Monitor the health of system resourcesManaging workloads based on the health of system resources is new in Exchange 2013
Workload Management
Exchange monitors the health of the following key resources to determine when to throttle workloads: Active Directory replication latencyLocal server CPU usageMailbox database RPC latencyMailbox database replication healthContent indexing age of last notificationContent indexing retry queue size
Workload Management
Summary
Numerous and significant architectural changesServer roles evolved and consolidatedNew Managed Store, Search Foundation and Managed AvailabilityTransport architecture changes and enhancementsIncreased service availability throughoutModern Public FoldersSupport for larger mailboxes
Summary
Questions?
Documentation – http://aka.ms/Ex2013Docs
Blog – http://aka.ms/EHLO
For More Information
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.