quinta-feira, 21 de março de 2013

Akamai otimizando sua Internet e o fluxo de negócios (e até o Facebook)


O uso comercial da Internet começou timidamente. Sites eram apenas “murais” que exibiam informações corporativas, dados de contato e algumas vezes portfólio de produtos. Atualmente há inúmeras empresas que usam a Internet não apenas como um meio de comunicação, mas fundamentam o seu próprio negócio no uso deste recurso.

Todas estas empresas compartilham do mesmo problema que é suportar o tráfego em seu sistema a todo o momento. Seja nos períodos de baixa ou alta demanda e ainda assim ter desempenho que não iniba o usuário a desistir de sua sessão no site. Links de comunicação para suportar este desafio existem em quantidade finita e pelo volume necessário a um custo nem sempre é compatível com o negócio. Como resolver este problema?

Tive a oportunidade de conversar com Ricardo Couto, um dos sócios da empresa EXCEDA, distribuidora exclusiva no Brasil da solução chamada Akamai. Ricardo ao longo da conversa explicou como funciona a tecnologia, melhores cenários de utilização e muitas outras informações ligadas ao ecossistema Akamai. Segue abaixo a transcrição (não literal) dos pontos mais importantes de nossa conversa.

Flavio: Ricardo eu já sei que Akamai agiliza o uso da Interent. Mas antes de entender como funciona o produto, quem se beneficia da solução?

Ricardo: A solução da Akamai é adequada para qualquer tipo de empresa ou  tamanho que tenha negócios críticos na Internet. Tanto em ambientes B2B ou B2C. Existem alguns casos “clássicos” na utilização de soluções de aceleração de Internet e distribuição de conteúdo. Começo destacando o e-commerce que se caracteriza por grandes volumes, por sazonalidade (datas de varejo) e necessidade de agilização muito grande. Afinal uma boa parte das vendas se dá por impulso. Se o  cliente não tem agilidade desiste da compra. O site de e-commerce tem que ser rápido e deve estar sempre disponível!! Tanto no processo de procurar produtos como no processo de fechamento do pedido, a parte transacional. Nesta parte há desafios ainda maiores porque o cliente está se comunicando não apenas com o seu banco de dados. Também com vários terceiros como operadoras de cartão de crédito, bancos, correio, etc. A experiência de uso deve ser garantida para o cliente e deve ser rápida senão existe o risco de perder vendas.

Flavio: O quanto isso é crítico? Há alguma medida? 

Ricardo: existem estudos que apontam que o volume de vendas de um site é realmente diretamente proporcional ao tempo de resposta. Grandes sites de e-commerce têm estatísticas claras, como por exemplo, uma diferença de 1 segundo a 1 segundo e meio pode representar 10% de variação no nível de vendas!!

Flavio: Mas existem dois momentos distintos. Há um imenso volume de tráfego gerado pela navegação nas “gôndolas virtuais”, quando o cliente está procurando os produtos e o na transação de compra na qual não há grandes volumes, mas há necessidade de poder de processamento. Como atender estes dois casos?

Ricardo: são dois momentos diferentes. Quando o cliente está navegando, olhando dados de produtos, fotos, logotipo da loja, etc., são conteúdos estáticos que podem ser retirados da infraestrutura (servidores da loja), distribuir pela rede e atualizar este conteúdo de forma programada, com a periodicidade desejada. Em uma época de campanha, época de concorrência mais acirrada, as fotos e dados de produto podem ficar em cache (na rede Akamai), mas o preço é buscado na base de dados da loja. As técnicas de distribuição e “cacheamento” de conteúdo são muito apuradas e sofisticadas. Uma página do site pode ter regras de “cacheamento” definidas para cada objeto. O que “cachea”, o que não “cachea”, o tempo necessário para recarregar a informação, etc. Estamos falando de conteúdo “1 para N”, ou seja, um objeto que será acessado por muitos usuários. Dessa forma você atende 10 usuários ou 1 milhão de usuários, pois o dado não estará no seu datacenter e sim distribuído pela rede da Akamai. Isso permite essa grande escalabilidade. Crescimento de demanda e sazonalidades são assim tratados.

Flavio: e os conteúdos dinâmicos?

Ricardo: este é o caso “1 para 1”, ou seja, o site começa a conversa com o indivíduo. Nesta hora não se aplica “cacheamento” e sim técnicas de aceleração. Essas se iniciam no próprio browser, melhorias na renderização das páginas, otimização do tráfego TCP/IP, compressão, etc. Quando você tem dispositivos que conseguem contornar algumas regras TCP/IP (que é um protocolo bastante antigo) como, por exemplo, regras de montagem de janelas de dados. O próprio protocolo inicia com blocos menores e vai gradualmente aumentando o tamanho do bloco ou da janela conforme percebe que o link físico é estável e íntegro. Como o Akamai está sempre monitorando a qualidade do link os blocos de dados podem ser imediatamente transmitidos em segmentos maiores, agilizando a comunicação. Também pelo tamanho de nossa rede estamos sempre olhando as rotas de menor latência. Sabemos de antemão quais caminhos devem ser percorridos entre o cliente e onde estão os dados que reflitam no menor tempo possível. Indo mais longe, nós conseguimos descobrir que nem sempre o caminho mais rápido entre dois pontos é aquele com menor número de “nós” (pontos intermediários). Por vezes descobrimos que certo tráfego será mais rápido se percorrer um caminho com mais “nós” do que uma rota padrão que olha apenas o menor número de pontos intermediários. Isso acontece às vezes com o seu GPS. Ele pode te conduzir por um caminho mais curto, mas que nem sempre é o mais rápido. Estas técnicas funcionam no momento “transacional” da operação tornando-as mais ágeis.

Flavio: então dessa forma que os conteúdos dinâmicos são acelerados, há algo mais? 

Ricardo: há também um algoritmo muito interessante que se base na predição do próximo passo. Por exemplo, em uma loja, ao entrar no carrinho de compras o sistema “aprende” que o próximo passo será a página com os meios de pagamento e dessa forma a requisição já é feita. Quando o usuário der o próximo passo a resposta será muito mais rápida dando uma dinâmica muito grande para este processo. Isso tudo é muito importante porque muitas vezes um site é lento porque ele gasta muito tempo tratando elementos não transacionais (dados estáticos, texto, fotos, etc.) e o processamento e a transmissão dos dados transacionais fica prejudicado. Se você tem 1 milhão de clientes acessando dados estáticos, o lado transacional vai estar competindo com estes clientes. Se você tem a sua infraestrutura desonerada do conteúdo estático ela fica livre para tratar o tráfego nobre que no caso é o processo de fechamento de pedido e efetivar o pagamento.

Figura 1 – visão ilustrativa do tráfego da Internet no mundo

Flavio: mas este alívio de processamento e tráfego, essa separação é algo feito pelo serviço do Akamai  de forma automática ou envolve a contratação de algum tipo de consultoria da empresa para alterar a arquitetura da aplicação e ter estes benefícios?

Ricardo: essa é a solução Akamai, um serviço. O interessante é que para isso tudo acontecer nenhum hardware precisa ser instalado na casa do cliente. Apenas precisa ser delegado o DNS do site para o serviço do Akamai. Cria-se um “apelido” para o site (CNAME) no DNS e a partir daí a Akamai que vai resolver o endereço do site e começar a usar todas as técnicas de “cacheamento” e otimização de processos transacionais. A partir deste momento quem passa a responder pelo site www.nomedaempresa.com.br são os servidores da Akamai e não mais a infraestrutura do cliente. E para a infraestrutura do cliente só vem aquilo que realmente interessa para ele que é a parte transacional. Contratado o serviço e apontado o DNS em até 4 horas (no máximo) esta informação do novo cliente é replicada em toda a Internet no mundo inteiro. Assim após este tempo se um cliente na China acessar o site do cliente quem vai responder pelo site será um servidor da Akamai na China e não no Brasil.

Flavio: isso ajuda a equalizar o tempo de resposta do site no mundo todo?

Ricardo: exatamente. Nós temos um exemplo de uma grande empresa de aviação brasileira que tinha o seu portal de manutenção das aeronaves acessado em todo o mundo. Eles tinham um tempo de resposta muito ruim fora do Brasil. Trata-se de uma aplicação pesada... Instalamos o serviço Akamai em “prova de conceito” e não tiramos mais. Nossos servidores ficam dentro das operadoras de banda larga, nos chamados “back-bones” da Internet, locais por onde passa o tráfego e por isso intermediamos todo o tráfego e prestamos o nosso serviço.

Flavio: essa tal “prova de conceito” é o test-drive. Como eu entendi o processo de implantação é simples. Instalou, 4 horas depois já são percebidos os benefícios. Funcionou a contento a empresa quer ficar com a solução. É assim? 

Ricardo: tem sido assim. Nós implantamos o serviço muito rapidamente. O que fazemos depois são ajustes finos em páginas e objetos específicos, técnicas de “cacheamento” e aceleração, etc.

Flavio: Falamos de e-commerce, você citou a aplicação da empresa de aviação. Onde mais se usa o Akamai? 

Ricardo: há outro segmento que temos usado com grandes resultados que é o segmento de mídia. Veja os grandes portais da Internet. Eles têm que ser rápidos, pois quanto mais rápidos, mais interação é feita com o usuário, mais publicidade é exibida, etc. Precisam ter alta escalabilidade. Imagine que o tal portal está colocando no ar um vídeo sobre o novo papa. Haverá muitos milhares de usuários acessando este vídeo. Imagine o tamanho da infraestrutura que este portal deveria ter se não tivesse nenhuma técnica de otimização em uso e de uma hora para a outra 300  mil pessoas resolverem acessar este vídeo simultaneamente!! Se é feita uma transmissão de um evento ao vivo, live streaming, como por exemplo, um jogo de copa do mundo. Na última olimpíada aconteceu um jogo de futebol Brasil e Coréia em uma 3ª feira de tarde mais de 350 mil pessoas assistindo ao vivo o evento por meio de nossa tecnologia. Neste horário os acessos foram feitos principalmente pelos links de acesso corporativos, que são bem mais parrudos que os links domésticos e que por isso mesmo remetem a transmissões em maior qualidade e muito maior tráfego. Isso tudo poderia atolar os backbones da Internet e a infraestrutura do portal, mas nada disso aconteceu por conta da otimização proporcionada pelo nosso serviço. Este é outro tipo de serviço, replicar conteúdo de vídeo (online ou não) e distribuir em nossa rede para melhor acesso por muitos milhares de usuários. Cada usuário assistirá ao vídeo carregado a partir do ponto mais próximo de si vindo de um servidor da Akamai respondendo pelo portal. Finalizando o exemplo, vídeos para aplicações de “e-learning” também é algo muito apropriado. Empresas que prestam serviço de aulas à distância para quem vai prestar a prova da OAB se utilizam muito da nossa tecnologia, assim como muitas outras empresas que trabalham com ensino à distância.

Flavio: e o segmento financeiro, também utiliza esta solução?

Ricardo: mais recentemente bancos (incluindo operações de Internet Banking), financeiras, brokers, seguradoras, crédito direto ao consumidor tem aderido à esta tecnologia. Mas não só estes. Corporações de forma geral, independentemente da quantidade de usuários e tamanho da empresa, mas que por estarem presentes em vários locais do mundo, utilizando uma aplicação via Internet (por exemplo uma extranet) e que necessitam de desempenho e uniformidade de tempo de reposta são clientes da solução.  Mas não acaba aqui.

Flavio: acho que com tantos servidores espalhado pelo mundo abre possibilidades. Existem outras ofertas de serviços? 

Ricardo: exatamente, temos cerca de 115 mil servidores espalhados pelos backbones da Internet em 76 países. Essa tecnologia é evolutiva, ou seja, o mesmo hardware vai recebendo novas versões ou novas camadas de software. Assim a empresa enxergou que seria uma ótima plataforma para produtos de segurança. A Internet traz consigo uma porção considerável de vulnerabilidades e ameaças. Com nossas camadas de proteção podemos fazer muitas coisas. Imagine um ataque simples baseado em “força bruta” de negação de serviço (DDOS). Um grande número de “robozinhos” (bots escravos), programados para acessar ao mesmo tempo o site www.nomedaempresa.com.br. Depois de algum tempo isso tira o site do ar por causa do excesso de requisições, seja pelo volume absurdo de tráfego ou pelo próprio firewall da empresa que bloqueia o site, atingindo o objetivo do hacker que era interromper o serviço. Mas se o site está sob os cuidados da Akamai, quando o hacker começa a enviar requisições para www.nomedaempresa.com.br  estes acessos serão respondidos pelos milhares de servidores e dessa forma não há como fazer o site entrar em colapso.       

Flavio: então quando o hacker começar a atacar, responderá o servidor de menor latência, mas depois a própria rede da Akamai vai começar a distribuir os acessos pois haverá um servidor que se tornou mais responsivo e os ataques vão sendo distribuídos sucessivamente e dessa forma não logram o objetivo de derrubar o sistema. É isso? 

Ricardo: é isso mesmo e acontece algo estranho. Quanto mais ataques acontecem a percepção do usuário é que o acesso vai ficando mais rápido, pois quem passa a responder pelo site será outro servidor que está mais disponível. Na verdade mais servidores (não apenas um) vão sendo alocados pelo algoritmo da rede Akamai provocando essa melhoria, a despeito do ataque. Assim o ataque dura, 10, 15, 20 minutos e como o hacker não logra seu intento ele acaba por desistir. E ao longo do ataque o usuário genuíno do site não sente que algo de anormal está acontecendo e segue interagindo com os serviços do seu site, sem interrupções.

Flavio: existem outras camadas de segurança implementadas pelo Akamai? 

Ricardo: sim, pois existem ataques mais sofisticados. Quando o site www.nomedaempresa.com.br é atacado não pelo domínio e sim pelo endereço IP do servidor usamos uma técnica diferente denominada SiteShield. Como quem responde pelo domínio é a rede da Akamai nós definimos um conjunto finito de hosts (identificados pelos seus endereços IP) podem interagir e enviar solicitações para o servidor da empresa. Assim toda interação com o servidor (que atende às demandas transacionais), inserido no firewall da empresa, só será feita com estes endereços IP. Dessa forma o hacker não consegue chegar perto da infraestrutura e não invade nem prejudica o fluxo de operação do site dos serviços. Adicionalmente temos um mecanismo de replicação de DNS que impede ataques do tipo “envenenamento de DNS” (redirecionamento de usuários para sites falsos e perigosos).

Flavio: e como o cliente percebe o valor deste serviço? 

Ricardo: na visão da empresa os benefícios que ele tem são a melhor disponibilidade para o site, desempenho melhor possível com menor tempo de resposta, sem gargalos, a escalabilidade... Ou seja, ele é capaz de suportar sazonalidades e “offload”, ou seja, ele economiza muito da infraestrutura, tráfego do link, processamento dos servidores de aplicação e também o aspecto da segurança. O retorno sobre o investimento é percebido pela maior disponibilidade do site, pela segurança, pela economia trazida pelo “offload”, crescimento do volume de vendas (no caso de e-commerce), maior quantidade de acessos ao site, importante para os anunciantes, maior difusão de mídia, cursos online, etc. que são vendidos... E como o cliente não precisa fazer nenhum investimento em hardware para ser instalado em sua casa, isso torna o processo bastante ágil. Não há investimento de capital, apenas um custo operacional da contratação do serviço.

Flavio: e como o cliente contrata ou paga pelo serviço? 

Ricardo: a empresa é tarifada mensalmente pelo uso. Os contratos são de 12, 24 ou 36 meses. No momento que fazemos a instalação em regime de “prova de conceito”, esta serve para uma demonstração real da eficácia do serviço, mas também para estimarmos o tráfego de informações a ser distribuído na rede da Akamai. A isso chamamos de “compromisso de tráfego”, por exemplo, o cliente contrata 80 TB (Terabytes) por mês. Apuramos o volume anual e o cobramos em 12 parcelas mensais. Assim ele já sabe quanto custará o serviço mês a mês.

Flavio: mas e se ele acabar consumindo mais? E se ele tiver um volume de tráfego acima do planejado? 

Ricardo: se ele usar a mais ele vai pagar pelo volume excedente o mesmo valor do Gbyte que foi usado em seu contrato anual, sem surpresas. Por isso normalmente as empresas fazem um dimensionamento mais conservador (menor) e ao longo do ano pagam o excedente nas ocasiões que fatores sazonais ampliam a demanda de tráfego. Ele tem como acompanhar online pelo portal da Akamai como está a sua conta a cada momento de forma bem transparente. Também pelo site ele mesmo pode interagir mais tecnicamente com o serviço, criar regras de “caching”, alarmes, regras de aceleração, biling, etc. Ele pode programar um alarme de tal forma que se o tráfego crescer acima do esperado alguém ser avisado, etc.

Flavio: então dimensionar um tráfego pequeno é melhor? 

Ricardo: na verdade não. Ao fazermos o contrato pela estimativa anual é definido o custo por Gbyte trafegado em função deste volume. Se ele tiver um volume maior nesta negociação o valor por Gbyte será menor. Ao contratar um volume mais baixo e pagar o excesso de tráfego todo mês ele estará pagando mais do que se tivesse dimensionado desde o começo um volume mais próximo da realidade.

Flavio: mas se isso acontecer ele pode renegociar o contrato? 

Ricardo: sim, nós temos a abertura de sempre rever o contrato a qualquer momento aumentando os volumes e baixando o custo unitário do Gbyte trafegado.

Flavio: olhando outro ponto novamente, o cliente não tem que fazer nenhum investimento em equipamentos, mas a Akamai teve que investir uma montanha de dinheiro para montar essa rede com 115 mil servidores no mundo, certo? 

Ricardo: é isso mesmo. A aqui no Brasil nós acompanhamos bem de perto estes investimentos, pois no começo da implantação da rede o braço de gestão de testes da Akamai fomos nós da Exceda. Mas é importante ressaltar que investimentos feitos na rede do Brasil, bem como de qualquer país acaba por beneficiar os clientes brasileiros e também clientes do mundo todo. Por exemplo, empresas como Microsoft, Apple, McAfee, ou seja, todos os sites que usam Akamai no mundo, se eles estiverem sendo acessados aqui pelo Brasil todos estes sites (alguns exemplos) terão muito melhor experiência de uso, da mesma forma que haverá a aceleração dos sites de empresas brasileiras, e-commerce local, uma atualização de software da Microsoft...

Flavio: você citou Microsoft, Apple e McAfee, estes são clientes reais ou apenas exemplos?

Ricardo: estes são clientes reais entre tantos outros. Há uma estimativa que indica que a Akamai é responsável mundialmente pela distribuição de 30% do tráfego total da Internet. No próprio site da Akamai existem algumas telas ou vídeos que mostram em tempo real uma visão do tráfego da Internet.

Figura 2 - 30% do tráfego global da Internet passa pela rede da Akamai

Figura 3 - Dashboard do site da Akamai com resumo do tráfego mundial da sua rede

Flavio: e o nível de segurança? Assim como o investimento na rede deve ser bem elevado. 

Ricardo: quando recebemos os servidores e os ligamos no rack e conectamos a fibra, a equipe técnica lá em Boston ativa remotamente os servidores, carrega remotamente os softwares, certificados de segurança, etc. Ao iniciar a operação se alguma tentativa de acesso indevida é feita ao rack (acesso físico) os servidores são imediatamente desligados e conteúdos dos discos apagados. Não só por isso, mas também por causa de tantas outras medidas de segurança nós intermediamos o tráfego, por exemplo, do Tesouro Americano, NASA, algumas companhias de inteligências ao redor do mundo...

Flavio: e no Brasil, falamos pouco sobre isso, quais são os principais clientes? 

Ricardo: o governo é um grande usuário em diversas instâncias (federal, estadual e municipal). A instância federal está mais avançada, tem muitas aplicações como do Ministério da Educação e Cultura (ENEN, SISU), TSE (Tribunal Superior Eleitoral)... Nas últimas eleições foi um show, muito rapidamente os resultados foram consolidados e divulgados. Os Tribunais em todas as estâncias estão usando muito, acesso às informações, processos...

Flavio: e as empresas privadas, bancos? 

Ricardo: atendemos várias corporações e 3 dos 5 maiores bancos (não estou autorizado a divulgar os nomes). Nos Estados Unidos nós atendemos 9 entre os 10 maiores bancos.   

Flavio: e como pode evoluir o produto, o serviço, a tecnologia? 

Ricardo: estamos indo para o FEO que significa Front End Optimization. Isso significa conseguir acelerar de uma forma ainda mais acentuada trabalhando técnicas de renderização (desenho e montagem das telas) nos diferentes browsers que existem garantindo que a distribuição das informações seja a mais otimizada possível em função do dispositivo e do browser usado no acesso. Seja um celular, um celular com Android é de um jeito, se for um iPhone é de outro, se for um Internet Explorer,Firefox, Safari ou Chrome, cada um tem um tratamento que otimiza o envio da informação, dos componentes da página, de cada objeto. Isso é importante, pois com a chegada do 4G isso vai ampliar ainda mais o tráfego. Também estamos trabalhando para integrar nosso produto com outras tecnologias para otimização de tráfego em WAN.

==================================================================

Após a rica conversa com o Ricardo eu passei a prestar mais atenção em tudo que se relacione com tráfego de Internet. Achei fascinante a tecnologia, suas aplicações, versatilidade, etc. Pouco tempo depois fiz uma descoberta incrível que compartilho com os leitores. Vejam com a atenção a Figura 4. Trata-se de uma página do Facebook. Você vê alguma coisa especial? Algo chama a sua atenção?

Figura 4 - Facebook sendo aberto – notam algo especial?

Se olhar no canto inferior esquerdo da figura... Reproduzo e amplio esta parte da tela na Figura 5. Esta tela foi capturada enquanto a página do Facebook era carregada. Você verá que em certo momento o conteúdo da página estava sendo carregado a partir do host (servidor) fbcdn-profile-a.akamaihd.net .

Figura 5 - Versão ampliada da tela de carga do Facebook – via Akamai

O Ricardo não havia  citado explicitamente o site Facebook. Mas após tudo que entendi desta tecnologia, como poderia com seu BILHÃO de usuários o Facebook atender a todos provendo acesso às infinitas fotos das linhas de tempo, dos álbuns? Só mesmo com um processo de carga de conteúdo distribuído a partir de mais de 115 mil servidores em todo o mundo para tornar este volume monstruoso de dados possível, carregando as informações a partir do ponto mais próximo dos usuários.

Contatei o Ricardo Couto enquanto revisava este texto e ele me confirmou. O Facebook usa o Akamai para entregar as fotos, quaisquer fotos contidas no bilhão de perfis usando protocolo seguro https (mais pesado em termos de tráfego pois é conteúdo criptografado).  Penso que este exemplo extremo ilustra da melhor forma possível o valor da tecnologia. Depois dessa descoberta, deste exemplo, falar mais o quê?

Figura 6 – visão ilustrativa do tráfego da Internet no mundo

Nenhum comentário:

Postar um comentário