Office 365, latência e o GEO-DNS ou (A Inesperada Virtude do Conhecimento de Resiliência em Cloud)

By: Caio Ribeiro César e Robson Elias da Silva

Neste artigo, iremos focar em um problema comum em clientes do Brasil e América do Sul: latência.

A latência pode ocorrer em diversos cenários, como ações bulk no Exchange Admin Center, envio de e-mails Outlook, conexões OWA. Nem sempre o root cause é o que vamos discutir neste post, então inicie isolando o cenário (diferentes usuários, networks, computadores).

O vilão pode ser conhecido, e a solução muito simples. Antes de pular para a solução, vamos explicar o que clientes O365 e parceiros devem entender em questão de cloud, DNS, roundtrip e latência.

Primeiro vamos para a cloud. E-mails na nuvem, mas que nuvem?

O entendimento da localização da estrutura dos tenants é feito via cmdlet “Get-OrganizationConfig”:

1 2

Seguindo a tabela abaixo de localizações, temos o entendimento que:

1)      Tenant caiocbr15.onmicrosoft.com foi criado em uma estrutura de North America (NAMPR), o OriginatingServer localizando-se em “CY1”, Cheyenne, US;

2)      Tenant c4iocesar.onmicrosoft.com foi criado em uma estrutura de LATAM (LAMPR), o OriginatingServer localizando-se em “BLU”, Virginia, US;

Datacenter Region Location
CP1 LAM Brazil
GRU LAM Brazil
GRX LAM Brazil
HKN APC Hong Kong
HKX APC Hong Kong
HK2 APC Hong Kong
SIX APC Singapore
SIN APC Singapore
SG2 APC Singapore
KAW JPN Japan
OS1 JPN Japan
OS2 JPN Japan
TY1 JPN Japan
AM3 EUR Amsterdam, Netherlands
AM2 EUR Amsterdam, Netherlands
AMS EUR Amsterdam, Netherlands
AMX EUR Amsterdam, Netherlands
DB3 EUR Dublin, Ireland
DB4 EUR Dublin, Ireland
DBX EUR Dublin, Ireland
HE1 EUR Finland
VI1 EUR Austria
BL2 NAM Virginia, USA
BL3 NAM Virginia, USA
BLU NAM Virginia, USA
SN1 NAM San Antonio, USA
SN2 NAM San Antonio, USA
BN1 NAM Virginia, USA
BN3 NAM Virginia, USA
DM1 NAM Des Moines, Iowa, USA
DM2 NAM Des Moines, Iowa, USA
BY1 NAM Bay Area, USA
BY2 NAM Bay Area, USA
CY1 NAM Cheyenne, Wyoming, USA
CY2 NAM Cheyenne, Wyoming, USA
CO1 NAM Quincy, Washington, USA
CO2 NAM Quincy, Washington, USA
CH1 NAM Chicago, USA

 

Então vamos utilizar o segundo tenant (c4iocesar.onmicrosoft.com) como exemplo. Isto significa que todas as mailboxes estão localizadas em BLU? Não.

Como podemos ver no comando abaixo, as mailboxes estão localizadas em servidores diferentes:

get-mailbox | fl iden*,servername*

Identity   : aux.pg

ServerName : cp1pr80mb0453

Identity   : Barbosa BB. JJ

ServerName : blupr80mb1106

Identity   : caioc

ServerName : fr1pr80mb1730

Identity   : chuck

ServerName : grupr80mb172

Identity   : DiscoverySearchMailbox

ServerName : cp1pr80mb0391

Identity   : jude

ServerName : roxpr80mb1387

Identity   : stevbios

ServerName : grupr80mb0396

Identity   : diretor

ServerName : grupr80mb345

Identity   : testefrederico

ServerName : grupr80mb0747

 

Identity   : usercloud

ServerName : grupr80mb201

A Microsoft trata reliability e disponibilidade para clientes O365. Isto significa que existem cópias e localizações diferentes na cloud para cada tenant.

https://o365datacentermap.azurewebsites.net/ 3

Aliás, quando falamos de cloud (depois de ter explicado o que é a cloud), as empresas que entregam soluções cloud fazem resiliência. Algumas GEO-resiliency, o que em high availability significa segurança (ou um aumento de availability level) .

A Microsoft possui estrutura de Exchange em dois datacenters LATAM (Brasil e Chile):

4 5

Isto não significa que mailboxes serão alocadas somente nos dois datacenters. Para tanto, temos reliability e high availability (consequentemente réplicas em outros datacenters).

Com o entendimento da estrutura, vamos a uma suposição comum de administradores: “minha estrutura ou mailbox está fora do BR [meu país], logo terei latência”.

Se o seu DNS apontar para o Brasil [ou o seu país de origem da conexão], não terá latência. O motivo é que a comunicação é feita via closest datacenter e, neste caso (Brasil), seria GRU. Se o DNS estiver apontando para outro país, como Estados Unidos, o roundtrip é maior e causa latência.

Se o meu computador apontar o DNS para US, significa que a comunicação é feita via web para os US. Se o DNS apontar para o BR, vai para o datacenter de GRU e consequentemente via fibra para US (caso a mailbox esteja localizada em US).

Vamos utilizar algo muito simples para explicar isso: nslookup e ping.

Utilizando um DNS localizado nos Estados Unidos e tendo a mailbox em BLU ou San Antonio (SN), o entendimento é que a conexão é feita com “outlook-namnorthwest2” e consequentemente tenho latência, por estar no Brasil:

6

Veja a diferença da latência para um request para o mesmo FQDN (outlook.office365.com). Inicialmente, com o DNS apontando para os EUA, temos um tempo de 171ms vs. o DNS apontando para o Brasil, com um tempo de 15ms. Note também a diferença da resolução de nome para o FQDN:

7

A latência ocorre, pois o roundtrip é maior. Consequentemente, os produtos (OWA/Outlook/Skype/Sharepoint) terão latência.

A mailbox abaixo está localizada em “cp1”. O computador possui um DNS apontando localmente para o BR:

8

Ao anexar um arquivo de 25MB, o POST demora cerca de 27 segundos:

9

Quando utilizamos um DNS localizado nos Estados Unidos, o POST demora cerca de 36 segundos:

10

Aproveitando esse cenário de latência em simples “POST”, vamos adicionar um pouco mais de complexidade - uma comparação, por exemplo, um arquivo de aproximadamente 20MB sendo anexado via OWA costuma levar cerca de 5 segundos, considerando que você esteja utilizando um DNS baseado em sua região (em nosso caso, Brasil).

11

Se fizermos upload deste mesmo arquivo via Outlook, e estivermos utilizando um DNS baseado em US, o tempo total de upload aumentará exponencialmente, e gastaremos aproximadamente 5 minutos.

12

Isso ocorre primeiramente porque o Outlook não utilizará a mesma largura de banda que o processo de upload via OWA, uma vez que o Outlook utiliza RPC/HTTP ou MAPI/HTTP - sendo assim, o Outlook está encapsulando o request dentro do protocolo HTTP e não o utilizando diretamente.

Este encapsulamento faz com que a requisição seja dividida em pacotes menores de 32kb cada, então um anexo de 20MB será dividido em aproximadamente 640 pacotes. Esse número grande de pequenos pacotes junto com uma latência alta irá aumentar o tempo de envio e, consequentemente, quanto maior for a latência entre o cliente Outlook e o servidor Exchange, maior será o tempo para o envio de e-mail.

Portanto, utilizar um DNS baseado em sua região irá resultar em um roundtrip menor, melhorando exponencialmente a performance na utilização do produto.

Cenários de mailbox migration, OneDrive upload (GB’s), Outlook efetuando download do .ost: a diferença de tempo é perceptível para o usuário final/administrador.

O meu DNS já aponta para um DNS do Brasil [Argentina,Chile,Uruguai, etc], porém minha conexão está com o mesmo delay e a resposta vem de US”. Alguns provedores DNS utilizam forwarders para os Estados Unidos. Exclusões de forwarder para o FQDN de office365 podem ser solicitadas diretamente com o seu provedor (ou utilize um DNS diferente).

Imagine então um segundo cenário. A mailbox em GRU (Brasil), e o DNS apontando para os EUA. O roundtrip seria algo explicado neste vídeo.

Para clientes com acesso ao channel9, recomendamos a sessão abaixo, que detalha os cenários discutidos:

https://channel9.msdn.com/Events/Ignite/2015/BRK4121


 

 

If you want this blog post to be translated to your language, please comment below. Thank you.