Cotidiano MT_FREE: várias histórias sobre a influência de serviços de terceiros no trabalho de redes Wi-Fi públicas



A Internet é um ambiente amplo e dinâmico, onde tudo está conectado um ao outro de uma maneira ou de outra e pode influenciar-se. Esse relacionamento, quando uma pequena mudança em uma parte do sistema pode levar a uma mudança completa em outra, é popularmente chamado de "efeito borboleta". O efeito ilustra perfeitamente como uma “bota bem posicionada no console” pode derrubar um grande serviço e, ao mesmo tempo, alguns estranhos ... Falaremos sobre isso.

Há cinco anos, quando o Wi-Fi no metrô apareceu ...


... foi um fenômeno que dividiu a vida dos moscovitas em "antes" e "depois". Naquela época, o projeto era o único no mundo e tudo nele era único: estrutura de rede, modelo de monetização, serviços ao usuário, abordagens de construção e operação.

Quase desde o lançamento do primeiro segmento de Wi-Fi no metrô, obtivemos autorização e nosso próprio portal de mídia. Nós experimentamos generosamente o portal em termos de integração com serviços de terceiros, na verdade, explorando as capacidades do nosso modelo de negócios ("e se vendermos café no metrô com entrega na entrada do lobby?!").

Inicialmente, envolvemos ativamente parceiros de várias áreas em nosso trabalho. Mas quase todas as publicações de um novo serviço de afiliado levaram à queda deste último sob carga e à necessidade de uma reversão emergencial das alterações. Poucas pessoas conseguem sobreviver a milhares de novas solicitações por minuto e algumas são incapazes disso em princípio devido à arquitetura não escalonável. A presença desse problema nos fez monitorar o desempenho dos serviços afiliados, dos quais a experiência do usuário depende diretamente. E também desenvolva mecanismos para reduzir essa dependência (proxy, cache).

Uma vez que um grito alto no escritório da "Fifhundred" pôs em movimento toda a empresa - agora tais situações praticamente não ocorrem. Na tela a partir de julho de 2015, o resultado do lançamento de um serviço de vendas de flores com entrega em nosso subdomínio.

Mas a evolução nunca passa rápido. Antes de construirmos o sistema atual, tivemos que “encher cones” e sofrer uma série de acidentes em nossa própria experiência. Além disso, o processo não para: quanto mais aprofundamos as questões, mais identificamos as dependências mais inesperadas. Olhando para trás, entendemos o quão importante às vezes é ter um exemplo de como isso acontece. É isso que queremos compartilhar.

Novo iOS reduziu o tráfego em 20%


A MaximaTelecom é especializada na construção de redes de transporte. A grande maioria dos dispositivos de assinantes que usam nossa rede são móveis, smartphones e tablets baseados em Android e iOS. Ambos os fornecedores, Google e Apple, têm roteiros para liberar atualizações em seus sistemas operacionais. Nas novas versões, os módulos responsáveis ​​pela conexão ao Wi-Fi costumam mudar. Na melhor das hipóteses, no dia em que a atualização é lançada, o tráfego está aumentando devido ao fato de os dispositivos baixarem a atualização via Wi-Fi. Mas há casos catastróficos.

Apenas no ano passado, a Apple lançou uma nova versão do iOS 10.3.1, após o que o tráfego de rede caiu quase 20%. Aconteceu que, na nova versão, a Apple "interrompeu" o processo de conexão à rede: a mecânica de autorização no Captive parou de funcionar e os dispositivos não puderam fazer login no MT_FREE. Eu tive que liberar uma correção no modo de emergência e corrigir a situação. O problema foi corrigido após três pequenas atualizações, depois que abrimos um caso no rastreador de erros da Apple.




O número de chamadas para a página de autorização auth.wi-fi.ru por minuto. O gráfico mostra claramente um atraso significativo em relação aos indicadores do período anterior.

A situação é agravada pelo fato de o Wi-Fi ser uma tecnologia bastante antiga e extremamente difundida, cuja criação não deveria ser usada em uma escala como a que temos no metrô de Moscou. Portanto, temos que lidar com toda uma "salada" de vários dispositivos, cada um dos quais se comporta na rede à sua maneira. Métricas simples do número de megabytes abstratos ou "assinantes esféricos na rede" não são aplicáveis ​​a nós. Qualquer serviço, seja o acesso básico à Internet, um portal de mídia ou um aplicativo móvel, deve ser considerado no contexto de dispositivos e / ou sistemas operacionais específicos, pois o problema pode estar relacionado a um grupo específico e bastante restrito.


... e algumas dezenas de opções mais exóticas.

Isso não é DDOS: o acidente de uma operadora móvel levou a um salto no tráfego em quase um terço


Dois anos atrás, um dos operadores móveis sofreu um acidente grave. Nesses casos, os usuários estão procurando uma alternativa para o serviço de comunicação. Se falamos sobre o metrô, não havia formas alternativas de comunicação nos trens.

Esclarecimento
E agora, apenas alguns operadores prestam serviços em áreas equipadas com um cabo radiante. Mas essa tecnologia é muito limitada em capacidade e não é capaz de fornecer um nível de serviço comparável para uma proporção significativa de usuários. Sem mencionar o custo do tráfego nos planos de tarifas limite.

Mas nas estações, as comunicações celulares se desenvolveram bastante fortemente, sem mencionar os segmentos terrestres, onde o Wi-Fi compete diretamente com ele.

Aprendemos sobre o acidente na rede da operadora de celular com nosso serviço de despachante, que anunciou que estava nos atacando. O crescimento no número de usuários e no tráfego foi tal que, a princípio, pensávamos que estávamos baseados no DDOS. Aprendemos sobre os reais motivos do aumento do tráfego posteriormente, descobrindo que um terço dos funcionários não possui telefone celular.


Foi assim que os usuários de Wi-Fi foram vistos acima do solo.

A especificidade de nossa situação especificamente é que temos redes Wi-Fi, o que significa que não importa para nós qual cartão SIM de qual operadora de telecomunicações está instalada no dispositivo do usuário.

Vale ressaltar que o acidente ocorrido afetou parcialmente e negativamente nosso serviço. Alguns segmentos da rede MT_FREE, em particular a rede de ônibus urbanos e trens urbanos, usam a comunicação celular como uma rede principal, o que significa que um acidente nas redes celulares leva à degradação do serviço nesses segmentos.

Wi-Fi no metrô sem anúncios? Sim


A publicidade é a base do acesso gratuito à rede MT_FREE, porque é graças a ela que o serviço existe e compensa. Como AdServer básico, usamos o AdFox há muitos anos. É interessante que o próprio AdServer não tenha sofrido alterações significativas durante todo o tempo em que trabalhamos com ele. Uma de suas especificidades é o sistema de coleta de estatísticas sobre impressões, formado por intervalos de hora em hora. Isso causa picos rítmicos no tempo de resposta do serviço (a cada hora, exatamente no limite da hora, o "toque" começa a "fazer brincadeiras" e a pensar em cada resposta). Não captamos essa nuance muito imediatamente!


Linha do tempo da resposta do AdFox para uma solicitação de anúncio. Explosões e quedas no limite da hora são claramente visíveis.

De fato, observamos a mesma característica “picos” de hora em hora no número de impressões para outras ferramentas de monitoramento, para a mesma métrica. Mas eu quero falar sobre uma situação mais extrema. No inverno passado, a AdFox sofreu um grave acidente: o serviço não respondeu por muito tempo. Em nossas métricas, isso se manifestou como uma falta de autorização do usuário e uma queda acentuada no desempenho do portal. Ao mesmo tempo, a interface de gerenciamento do AdFox com um erro de certificado não estava disponível.


Ilustração de erro de certificado adfox.ru.

Depois de realizar alguns testes e ligar para o próprio AdFox, descobrimos o acidente e não tivemos escolha a não ser deixar todos os usuários identificados na rede sem publicidade.


E aqui está o acidente com as métricas Yandex em nosso portal.

Às vezes, downloads mais rápidos produzem resultados inesperados


A qualidade percebida de nosso serviço depende não apenas do trabalho da infraestrutura de outras pessoas, das atualizações do SO e das falhas de recursos em massa, mas também do comportamento de navegadores específicos em dispositivos específicos. Nesse sentido, temos muito mais oportunidades de influência, por isso estamos trabalhando constantemente para melhorar os produtos. Em média, publicamos uma atualização por dia. Mas, às vezes, uma atualização aparentemente simples, que deve levar a uma melhoria na experiência do usuário, leva a consequências imprevisíveis.

Como temos a oportunidade de influenciar a operação de serviços no nível da rede (por exemplo, alterando a prioridade de um tipo de tráfego em relação a outro), surgiu a idéia de acelerar a autorização, priorizando o tráfego. Publicamos as alterações correspondentes e, espantadas, começamos a observar inúmeros erros e uma queda de 20% na receita de publicidade. Testes técnicos mostraram que o circuito funciona absolutamente corretamente do ponto de vista da rede. A reversão das alterações, no entanto, confirmou que o motivo estava precisamente nas novas configurações.

Como resultado, descobrimos que, aumentando a prioridade de alguns scripts em relação a outros, alteramos a ordem de execução das funções no nível de carregamento da própria página de autorização no navegador. Isso afetou significativamente a experiência do usuário. De fato, os scripts de autorização começaram a carregar e executar mais rapidamente que os scripts de anúncios. Devido ao relacionamento existente entre eles, surgiram situações em que uma função aguarda o resultado de outra, cujo arquivo ainda nem foi baixado no dispositivo.

Redes sociais vs Mídia


O comportamento dos usuários na Internet corresponde aos padrões padrão. As pessoas estão acostumadas a se comunicar através de mensageiros, procurar conteúdo em portais de mídia, ler notícias através de redes sociais e agregadores de notícias. Bastante óbvio, mas ainda focando no fato de que as redes sociais são uma alternativa às notícias e vice-versa. Quando algo de repente acontece com uma das fontes de informação, a atenção dos usuários é redistribuída para as demais, geralmente as mais acessíveis. Então, em 2017, houve uma falha global no VKontakte. De nossa parte, esse evento pareceu um aumento acentuado de usuários e tempo no nosso portal de notícias wi-fi.ru. De fato, os usuários, percebendo que sua rede social favorita não está funcionando, foram ler as notícias para nós.

O momento do colapso da VK foi marcado por um aumento de 30% na carga no portal wi-fi.ru.

Este caso ilustra como é importante que os serviços de massa tenham uma margem de segurança para "digerir" as conseqüências de um acidente informativo de "vizinho".

Verde - sem acidentes


As situações descritas nos incentivam constantemente a melhorar o monitoramento de serviços de terceiros no MT_FREE. É assim que o painel para operar nossa rede se parece.

Operação de rede do painel em São Petersburgo.

Um painel consiste em muitos indicadores do tipo “semáforo”: estado verde - tudo está normal, cor vermelha - alarme. A cor dos indicadores varia com o tempo. Isso pode ser um comportamento normal ou um sinal de anormalidade. Mas se você "puxa" todos os indicadores com uma linha e coloca cada etapa da medida dessa maneira no quadro, obtém uma imagem bidimensional em constante crescimento que descreve a evolução da rede como um todo. Essa imagem pode ser facilmente "alimentada" com algoritmos padrão de aprendizado de máquina projetados para reconhecer padrões gráficos (um tipo de FindFace, apenas para padrões de sensores).

A tabela de cores baseada em tempo dos indicadores nada mais é do que uma imagem que descreve a evolução da rede.

Em seguida, são adicionados algoritmos de auto-aprendizado (como IA) que podem classificar padrões automaticamente e identificar causas de desvios ou dados incompletos. Tudo parece simples, mas o que você acha, quantas operadoras de telecomunicações realmente usam?

Poucos, e não estamos entre eles


Para ser justo, a aplicação dessa tecnologia no âmbito do MaximTelecom está em um estágio bastante inicial, principalmente porque não está claro onde está a linha entre o que precisa ser recebido de fora da rede e o que pode ser obtido de dentro. Nossa vantagem aqui é que começamos a desenvolver a base algorítmica necessária desde o início, como parte de nossa plataforma para monetização da rede de publicidade.

A Maxima é a operadora, antes de tudo, do serviço de acesso Wi-Fi gratuito. Além disso, ao contrário de um número suficientemente grande de Wi-Fi "social", somos um operador de comunicações comerciais de pleno direito. De fato, essa é a nossa ideia corporativa: nos esforçamos para tornar a comunicação gratuita e lucrativa ao mesmo tempo, e já provamos que isso é possível. Quase nenhum operador de telecomunicações no mundo pode (ou não) deseja isso e, portanto, não desenvolve tecnologia para isso. Isso dá esperança de que, no futuro, possamos levar nossas tecnologias a um ponto em que a experiência do usuário do MT_FREE não seja diferente do que as operadoras pagas tradicionais fornecem. Ao mesmo tempo, o nível de confiabilidade será maior devido a um sistema de controle e operação inteligente mais desenvolvido.

Infelizmente, porém, nem todos os problemas podem ser resolvidos dentro dos recursos de uma empresa, mesmo que haja muitos fabricantes de equipamentos Wi-Fi de assinante e rede, e o nível de unificação é significativamente inferior ao das redes celulares. Resolvemos problemas com vários dispositivos ao conectar-se à rede desde o momento do lançamento. A “raiz do mal” aqui está na ausência de qualquer padrão e, como resultado, cada fabricante cria algo próprio.

Para resolver esses problemas da indústria, existem associações internacionais. Por exemplo, agora estamos liderando o projeto na padronização da experiência do usuário ao conectar-se a redes Wi-Fi usando monetização de publicidade. Mas este é um tópico para outro artigo.

By the way, estamos constantemente expandindo a equipe de desenvolvimento, vagas relevantes podem ser encontradas em nossa página de carreira .

Source: https://habr.com/ru/post/pt457958/


All Articles