{"id":35092,"date":"2019-10-31T22:02:18","date_gmt":"2019-10-31T19:02:18","guid":{"rendered":"https:\/\/prohoster.info\/blog\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim\/"},"modified":"2019-10-31T22:02:18","modified_gmt":"2019-10-31T19:02:18","slug":"bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim","title":{"rendered":"\u00abBitrix24\u00bb: \u00abO que \u00e9 levantado rapidamente n\u00e3o conta como ca\u00eddo\u00bb","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Atualmente, o servi\u00e7o \"Bitrix24\" n\u00e3o possui centenas de gigabits de tr\u00e1fego, nem um enorme parque de servidores (embora haja, \u00e9 claro, uma quantidade consider\u00e1vel). Mas para muitos clientes, ele \u00e9 uma ferramenta essencial para o trabalho na empresa, sendo um verdadeiro aplicativo cr\u00edtico para os neg\u00f3cios. Portanto, falhar \u2014 de jeito nenhum. E se a falha realmente ocorrer, mas o servi\u00e7o \"ressuscitar\" t\u00e3o rapidamente que ningu\u00e9m perceba? E como \u00e9 poss\u00edvel implementar o failover sem perder a qualidade do servi\u00e7o e o n\u00famero de clientes? Alexander Demidov, diretor da \u00e1rea de servi\u00e7os em nuvem do \"Bitrix24\", nos contou sobre como a sistema de reserva evoluiu ao longo de 7 anos de exist\u00eancia do produto.<\/p>\n<p><img decoding=\"async\" alt=\"\u00abBitrix24\u00bb: \u00abO que \u00e9 levantado rapidamente n\u00e3o conta como ca\u00eddo\u00bb\" src=\"\/wp-content\/uploads\/2019\/06\/973fa076fc654237aa869d0ecb0dae9a.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n\"Lan\u00e7amos o 'Bitrix24' na forma de SaaS h\u00e1 7 anos. A principal dificuldade, provavelmente, estava no seguinte: antes do lan\u00e7amento p\u00fablico como SaaS, este produto existia apenas na forma de solu\u00e7\u00e3o de caixa. Os clientes o compravam de n\u00f3s, instalavam em seus pr\u00f3prios servidores, criavam o portal corporativo \u2014 uma solu\u00e7\u00e3o geral para a comunica\u00e7\u00e3o dos funcion\u00e1rios, armazenamento de arquivos, gerenciamento de tarefas, CRM, tudo isso. E at\u00e9 2012, decidimos que quer\u00edamos lan\u00e7\u00e1-lo como SaaS, administrando de forma aut\u00f4noma, garantindo a continuidade e confiabilidade. Acumulamos experi\u00eancia ao longo do processo, pois at\u00e9 aquele momento n\u00e3o a t\u00ednhamos \u2014 \u00e9ramos apenas produtores de software, n\u00e3o provedores de servi\u00e7os. <\/p>\n<p>Ao lan\u00e7ar o servi\u00e7o, entend\u00edamos que o mais importante era garantir a confiabilidade, continuidade e disponibilidade constante do servi\u00e7o, porque se voc\u00ea tiver um site comum, uma loja, por exemplo, e ela cair por uma hora \u2014 voc\u00ea s\u00f3 sofre por isso, perde pedidos, perde clientes, mas para o seu cliente \u2014 isso n\u00e3o \u00e9 t\u00e3o cr\u00edtico. Ele fica triste, claro, mas vai e compra em outro site. Mas se for um aplicativo que \u00e9 vital para o funcionamento da empresa, comunica\u00e7\u00e3o e decis\u00f5es, o mais importante \u00e9 conquistar a confian\u00e7a dos usu\u00e1rios, ou seja, n\u00e3o deix\u00e1-los na m\u00e3o e n\u00e3o falhar. Porque todo o trabalho pode parar se algo interno n\u00e3o funcionar.<\/p>\n<h4>Bitrix24 como SaaS<\/h4>\n<p>\nO primeiro prot\u00f3tipo foi montado um ano antes do lan\u00e7amento p\u00fablico, em 2011. Levou cerca de uma semana, testamos e rodamos \u2014 ele funcionava. Ou seja, era poss\u00edvel entrar no formul\u00e1rio, inserir o nome do portal e um novo portal era criado, com uma base de usu\u00e1rios estabelecida. Analisamos o produto em si, avaliamos e, em seguida, passamos um ano aprimorando. Porque t\u00ednhamos uma grande tarefa: n\u00e3o quer\u00edamos criar duas bases de c\u00f3digo diferentes, n\u00e3o quer\u00edamos manter um produto de caixa separado de solu\u00e7\u00f5es em nuvem \u2014 quer\u00edamos fazer tudo isso dentro de um \u00fanico c\u00f3digo. <\/p>\n<p><img decoding=\"async\" alt=\"\u00abBitrix24\u00bb: \u00abO que \u00e9 levantado rapidamente n\u00e3o conta como ca\u00eddo\u00bb\" src=\"\/wp-content\/uploads\/2019\/06\/9f5781f4609b5e204f40c9c237deae03.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUm aplicativo web t\u00edpico na \u00e9poca consistia em um \u00fanico servidor, onde rodava algum c\u00f3digo PHP, uma base MySQL, arquivos eram carregados, documentos e imagens eram colocados na pasta upload \u2014 e era isso. Infelizmente, n\u00e3o \u00e9 poss\u00edvel lan\u00e7ar um servi\u00e7o web criticamente resiliente assim. O cache distribu\u00eddo n\u00e3o \u00e9 suportado, a replica\u00e7\u00e3o de bases de dados n\u00e3o \u00e9 suportada. <\/p>\n<p>Formulamos os requisitos: a capacidade de se posicionar em diferentes locais, suportar replica\u00e7\u00e3o, idealmente ser distribu\u00eddo em diferentes data centers geograficamente. Separar a l\u00f3gica do produto do armazenamento de dados. Ser capaz de escalar dinamicamente, levando em conta a carga, e retirar a parte est\u00e1tica completamente. Com base nesses princ\u00edpios, foram elaborados os requisitos para o produto, que aprimoramos durante um ano. Nesse tempo, na plataforma que resultou \u00fanica \u2014 para solu\u00e7\u00f5es de caixa e para nosso pr\u00f3prio servi\u00e7o \u2014 implementamos o suporte para as ferramentas necess\u00e1rias. O suporte \u00e0 replica\u00e7\u00e3o MySQL foi integrado ao n\u00edvel do pr\u00f3prio produto: ou seja, o desenvolvedor, ao escrever o c\u00f3digo, n\u00e3o precisa se preocupar em como suas solicita\u00e7\u00f5es ser\u00e3o distribu\u00eddas, ele usa nossa API, e n\u00f3s sabemos como distribuir corretamente as solicita\u00e7\u00f5es de grava\u00e7\u00e3o e leitura entre mestres e escravos. <\/p>\n<p>Implementamos o suporte para diferentes armazenamento de objetos em nuvem no n\u00edvel do produto: Google Storage, Amazon S3 \u2014 al\u00e9m disso, suporte ao OpenStack Swift. Portanto, isso foi conveniente tanto para n\u00f3s como servi\u00e7o, quanto para os desenvolvedores que trabalham com a solu\u00e7\u00e3o de caixa: se eles simplesmente utilizam nossa API, n\u00e3o precisam se preocupar com onde o arquivo ser\u00e1 salvo, se localmente no sistema de arquivos ou se ir\u00e1 para um armazenamento de objetos.<\/p>\n<p>Decidimos imediatamente que far\u00edamos reservas a n\u00edvel de um data center inteiro. Em 2012, come\u00e7amos totalmente na Amazon AWS, pois j\u00e1 t\u00ednhamos experi\u00eancia com essa plataforma \u2014 nosso pr\u00f3prio site estava hospedado l\u00e1. O que nos atra\u00eda era que em cada regi\u00e3o da Amazon existem v\u00e1rias zonas de disponibilidade \u2014 essencialmente, (na terminologia deles) v\u00e1rios data centers que s\u00e3o mais ou menos independentes entre si e nos permitem fazer reservas a n\u00edvel de um data center inteiro: se um deles falhar, os bancos de dados se replicam master-master, os servidores de aplica\u00e7\u00f5es web s\u00e3o reservados, e a est\u00e1tica \u00e9 movida para o armazenamento de objetos S3. A carga \u00e9 balanceada \u2014 naquele momento pelo ELB da Amazon, mas logo depois chegamos a nossos pr\u00f3prios balanceadores, pois precis\u00e1vamos de uma l\u00f3gica mais complexa. <\/p>\n<h4>O que quer\u00edamos, conseguimos\u2026<\/h4>\n<p>\nTodas as coisas b\u00e1sicas que quer\u00edamos garantir \u2014 a resili\u00eancia dos pr\u00f3prios servidores, aplica\u00e7\u00f5es web, bancos de dados \u2014 tudo funcionava bem. O cen\u00e1rio mais simples: se uma das aplica\u00e7\u00f5es web falhasse, era bem simples \u2014 elas eram desligadas do balanceamento. <\/p>\n<p><img decoding=\"async\" alt=\"\u00abBitrix24\u00bb: \u00abO que \u00e9 levantado rapidamente n\u00e3o conta como ca\u00eddo\u00bb\" src=\"\/wp-content\/uploads\/2019\/06\/2271e0e5f8aef72c2070a9d19d0e7dc5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAs m\u00e1quinas que falhavam eram marcadas como unhealthy pelo balanceador (naquele momento era o ELB da Amazon), que desligava a distribui\u00e7\u00e3o da carga para elas. O autoescalonamento da Amazon funcionava: quando a carga aumentava, novas m\u00e1quinas eram adicionadas ao grupo de autoescalonamento, e a carga era distribu\u00edda entre as novas m\u00e1quinas \u2014 tudo estava bem. Com nossos balanceadores, a l\u00f3gica \u00e9 mais ou menos a mesma: se algo acontecer com o servidor de aplica\u00e7\u00f5es, retiramos as solicita\u00e7\u00f5es dele, descartamos essas m\u00e1quinas, iniciamos novas e continuamos a trabalhar. O esquema mudou um pouco ao longo dos anos, mas continua funcionando: \u00e9 simples, claro, e n\u00e3o h\u00e1 dificuldades com isso. <\/p>\n<p>N\u00f3s operamos em todo o mundo, com picos de carga muito diferentes entre os clientes, e, idealmente, devemos ter a capacidade de realizar qualquer tipo de manuten\u00e7\u00e3o em qualquer componente de nosso sistema a qualquer momento \u2014 sem que os clientes percebam. Portanto, temos a possibilidade de desligar o banco de dados, redistribuindo a carga para o segundo data center. <\/p>\n<p>Como tudo isso funciona? \u2014 N\u00f3s redirecionamos o tr\u00e1fego para um data center em funcionamento \u2014 se houver uma falha no data center, redirecionamos completamente; se forem nossas manuten\u00e7\u00f5es programadas em uma base espec\u00edfica, redirecionamos parte do tr\u00e1fego dos clientes desse data center para o segundo, suspendendo a replica\u00e7\u00e3o. Se forem necess\u00e1rias novas m\u00e1quinas para aplicativos da web, devido ao aumento da carga no segundo data center, elas s\u00e3o iniciadas automaticamente. Conclu\u00edmos as opera\u00e7\u00f5es, a replica\u00e7\u00e3o \u00e9 restaurada e retornamos toda a carga. Se precisarmos realizar opera\u00e7\u00f5es sincronizadas no segundo data center, como instalar atualiza\u00e7\u00f5es do sistema ou alterar configura\u00e7\u00f5es na segunda base de dados, repetimos todo o processo, apenas na dire\u00e7\u00e3o oposta. Em caso de falha, fazemos tudo de maneira simples: usamos mecanismos de event-handlers no sistema de monitoramento. Se v\u00e1rias verifica\u00e7\u00f5es falharem e o status mudar para cr\u00edtico, esse handler \u00e9 acionado, executando a l\u00f3gica apropriada. Para cada base, definimos qual servidor \u00e9 o failover e para onde devemos redirecionar o tr\u00e1fego em caso de n\u00e3o disponibilidade. Historicamente, usamos de alguma forma o Nagios ou seus forks. Basicamente, mecanismos semelhantes est\u00e3o dispon\u00edveis em quase todos os sistemas de monitoramento; ainda n\u00e3o utilizamos algo mais complexo, mas \u00e9 poss\u00edvel que o fa\u00e7amos no futuro. Atualmente, o monitoramento \u00e9 acionado pela indisponibilidade e tem a capacidade de redirecionar algo.<\/p>\n<h4>Reservamos tudo?<\/h4>\n<p>\nTemos muitos clientes dos EUA, muitos clientes da Europa, muitos clientes mais pr\u00f3ximos do Oriente \u2014 Jap\u00e3o, Singapura e assim por diante. Naturalmente, uma grande parte dos clientes est\u00e1 na R\u00fassia. Ou seja, o trabalho n\u00e3o se limita a uma \u00fanica regi\u00e3o. Os usu\u00e1rios desejam uma resposta r\u00e1pida, h\u00e1 requisitos para atender a diferentes leis locais, e dentro de cada regi\u00e3o reservamos dois data centers, al\u00e9m de haver alguns servi\u00e7os adicionais que, novamente, s\u00e3o convenientes de localizar em uma \u00fanica regi\u00e3o \u2014 para os clientes que operam nessa regi\u00e3o. Processadores REST, servidores de autoriza\u00e7\u00e3o, s\u00e3o menos cr\u00edticos para a opera\u00e7\u00e3o do cliente como um todo, e \u00e9 poss\u00edvel alternar entre eles com um pequeno atraso aceit\u00e1vel, mas n\u00e3o queremos reinventar a roda em termos de como monitor\u00e1-los e o que fazer com eles. Portanto, sempre que poss\u00edvel, tentamos usar solu\u00e7\u00f5es j\u00e1 existentes, e n\u00e3o desenvolver uma compet\u00eancia para produtos adicionais. Em alguns casos, usamos simplesmente a altern\u00e2ncia a n\u00edvel de DNS, e a vitalidade do servi\u00e7o \u00e9 definida pelo mesmo DNS. No Amazon, existe o servi\u00e7o Route 53, mas n\u00e3o \u00e9 apenas um DNS onde voc\u00ea pode adicionar registros e pronto \u2014 ele \u00e9 muito mais flex\u00edvel e conveniente. Atrav\u00e9s dele, \u00e9 poss\u00edvel construir servi\u00e7os geograficamente distribu\u00eddos com geolocaliza\u00e7\u00f5es, onde voc\u00ea, com a sua ajuda, determina de onde veio o cliente e fornece os registros adequados \u2014 \u00e9 poss\u00edvel construir arquiteturas de failover com ele. Os mesmo health-checks s\u00e3o configurados diretamente no Route 53, onde voc\u00ea define o endpoint que ser\u00e1 monitorado, define as m\u00e9tricas, define quais protocolos usar para determinar a 'vitalidade' do servi\u00e7o \u2014 tcp, http, https; define a periodicidade das verifica\u00e7\u00f5es que determinam se o servi\u00e7o est\u00e1 ativo ou n\u00e3o. E no pr\u00f3prio DNS, voc\u00ea especifica qual ser\u00e1 o prim\u00e1rio, qual ser\u00e1 o secund\u00e1rio, para onde alternar caso um health-check seja acionado dentro do Route 53. Tudo isso pode ser feito com outras ferramentas, mas a vantagem \u00e9 que voc\u00ea configura uma vez e depois n\u00e3o pensa mais em como est\u00e3o as verifica\u00e7\u00f5es, como se d\u00e1 a altern\u00e2ncia: tudo funciona automaticamente.<\/p>\n<p><b>A primeira 'mas'<\/b>: como e com o que fazer backup do route 53? Caso algo aconte\u00e7a com ele, o que fazer? Por sorte, nunca passamos por isso, mas, novamente, vou contar por que achamos que \u00e9 preciso fazer backup. Aqui nos precavemos. V\u00e1rias vezes ao dia, fazemos uma exporta\u00e7\u00e3o completa de todas as zonas que temos no route 53. A API da Amazon permite entreg\u00e1-las em JSON, e temos v\u00e1rios servidores de backup que configuramos para onde convertemos isso, exportamos como arquivos de configura\u00e7\u00e3o e, grosso modo, temos uma configura\u00e7\u00e3o de backup. Caso necess\u00e1rio, podemos rapidamente restaur\u00e1-la manualmente, sem perder as configura\u00e7\u00f5es DNS.<\/p>\n<p><b>O segundo \"mas\"<\/b>: o que ainda n\u00e3o est\u00e1 reservado nessa situa\u00e7\u00e3o? O pr\u00f3prio balanceador de carga! A distribui\u00e7\u00e3o de clientes por regi\u00f5es foi feita de maneira bastante simples. Temos os dom\u00ednios bitrix24.ru, bitrix24.com, .de \u2014 atualmente s\u00e3o cerca de 13 diferentes, operando em v\u00e1rias zonas. Chegamos \u00e0 seguinte solu\u00e7\u00e3o: em cada regi\u00e3o, temos seus pr\u00f3prios balanceadores. \u00c9 mais conveniente distribuir por regi\u00f5es, dependendo da carga m\u00e1xima de rede em cada uma. Se houver uma falha em um \u00fanico balanceador, ele simplesmente \u00e9 retirado de opera\u00e7\u00e3o e removido do DNS. Se ocorrer um problema com um grupo de balanceadores, eles s\u00e3o reservados em outras localidades, e a troca entre eles \u00e9 feita utilizando o pr\u00f3prio Route 53, pois devido ao TTL curto, a troca acontece no m\u00e1ximo em 2, 3 ou 5 minutos. <\/p>\n<p><b>O terceiro \"mas\"<\/b>: o que mais n\u00e3o est\u00e1 reservado? S3, certo. Ao armazenarmos arquivos que temos de usu\u00e1rios no S3, acredit\u00e1vamos sinceramente que ele era \u00e0 prova de balas e que n\u00e3o precisava de reservas. Mas a hist\u00f3ria mostra que as coisas costumam ser diferentes. De fato, a Amazon descreve o S3 como um servi\u00e7o fundamental, porque a pr\u00f3pria Amazon utiliza o S3 para armazenar imagens de m\u00e1quinas, configura\u00e7\u00f5es, imagens AMI, snapshots\u2026 E se o S3 falha, como aconteceu uma vez nos \u00faltimos 7 anos em que utilizamos o Bitrix24, ele acaba arrastando uma s\u00e9rie de problemas \u2014 indisponibilidade de inicializa\u00e7\u00e3o de VMs, falhas no funcionamento da API, e assim por diante. <\/p>\n<p>E a S3 pode falhar \u2014 isso j\u00e1 aconteceu uma vez. Portanto, chegamos \u00e0 seguinte abordagem: h\u00e1 alguns anos, n\u00e3o havia reposit\u00f3rios p\u00fablicos de objetos s\u00e9rios na R\u00fassia, e consideramos a op\u00e7\u00e3o de criar algo pr\u00f3prio... Felizmente, n\u00e3o come\u00e7amos a faz\u00ea-lo, pois nos ter\u00edamos enredado em uma especializa\u00e7\u00e3o da qual n\u00e3o dispunhamos e, com certeza, ter\u00edamos cometido erros. Agora, h\u00e1 reposit\u00f3rios compat\u00edveis com S3 na Mail.ru, na Yandex e em v\u00e1rios outros provedores. No final, chegamos \u00e0 conclus\u00e3o de que quer\u00edamos ter, em primeiro lugar, redund\u00e2ncia, e em segundo lugar, a possibilidade de trabalhar com c\u00f3pias locais. Para a regi\u00e3o espec\u00edfica da R\u00fassia, usamos o servi\u00e7o Mail.ru Hotbox, que \u00e9 compat\u00edvel com S3 via API. N\u00e3o precis\u00e1vamos de grandes ajustes no c\u00f3digo dentro do aplicativo, e implementamos o seguinte mecanismo: no S3, existem gatilhos que s\u00e3o ativados na cria\u00e7\u00e3o\/removal de objetos; a Amazon tem um servi\u00e7o chamado Lambda \u2014 \u00e9 uma execu\u00e7\u00e3o de c\u00f3digo serverless, que ser\u00e1 realizada exatamente quando certos gatilhos forem acionados.<\/p>\n<p><img decoding=\"async\" alt=\"\u00abBitrix24\u00bb: \u00abO que \u00e9 levantado rapidamente n\u00e3o conta como ca\u00eddo\u00bb\" src=\"\/wp-content\/uploads\/2019\/06\/5366a87f56b9a6a994008feb1ccd3324.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nFizemos de forma bem simples: se um gatilho \u00e9 acionado, executamos um c\u00f3digo que copia o objeto para o reposit\u00f3rio Mail.ru. Para iniciar plenamente o trabalho com c\u00f3pias locais de dados, precisamos tamb\u00e9m de sincroniza\u00e7\u00e3o reversa, para que os clientes situados no segmento russo possam trabalhar com um reposit\u00f3rio que esteja mais pr\u00f3ximo deles. A Mail est\u00e1 prestes a concluir os gatilhos em seu reposit\u00f3rio \u2014 ser\u00e1 poss\u00edvel realizar a sincroniza\u00e7\u00e3o reversa no n\u00edvel da infraestrutura; por enquanto, estamos fazendo isso em n\u00edvel de nosso pr\u00f3prio c\u00f3digo. Se vemos que um cliente carregou um arquivo, adicionamos um evento em uma fila a n\u00edvel de c\u00f3digo, processamos isso e realizamos a replica\u00e7\u00e3o inversa. O problema \u00e9 que, se ocorrer alguma manipula\u00e7\u00e3o com nossos objetos fora do nosso produto, usando algum meio externo, isso n\u00e3o ser\u00e1 contabilizado. Portanto, estamos aguardando at\u00e9 o final, quando os gatilhos no n\u00edvel do reposit\u00f3rio estiverem dispon\u00edveis, para que, independentemente de onde executamos o c\u00f3digo, o objeto que chega a n\u00f3s seja copiado na outra dire\u00e7\u00e3o. <\/p>\n<p>No n\u00edvel do c\u00f3digo, temos os dois armaz\u00e9ns configurados para cada cliente: um considerado principal e o outro de backup. Se tudo vai bem, trabalhamos com o armaz\u00e9m que est\u00e1 mais pr\u00f3ximo de n\u00f3s: ou seja, nossos clientes que est\u00e3o na Amazon trabalham com S3, enquanto aqueles que operam na R\u00fassia utilizam Hotbox. Se um sinalizador \u00e9 acionado, devemos ativar o failover, e mudamos os clientes para outro armaz\u00e9m. Podemos ativar esse sinalizador independentemente por regi\u00f5es e podemos altern\u00e1-los. Na pr\u00e1tica, ainda n\u00e3o usamos isso, mas o mecanismo foi previsto e acreditamos que um dia precisaremos dessa troca. Isso j\u00e1 aconteceu uma vez. <\/p>\n<h4>Oh, parece que sua Amazon fugiu...<\/h4>\n<p>\nNeste abril, comemoramos o anivers\u00e1rio do in\u00edcio das limita\u00e7\u00f5es do Telegram na R\u00fassia. O provedor mais afetado por isso foi a Amazon. E, infelizmente, as empresas russas que operavam globalmente sofreram mais. <\/p>\n<p>Se a empresa \u00e9 global e a R\u00fassia representa apenas uma fra\u00e7\u00e3o pequena, de 3 a 5%, de qualquer forma, elas podem ser sacrificadas. <\/p>\n<p>Se for uma empresa completamente russa \u2014 estou certo de que \u00e9 necess\u00e1rio operar localmente \u2014 simplesmente ser\u00e1 mais conveniente e confort\u00e1vel para os usu\u00e1rios, e haver\u00e1 menos riscos. <\/p>\n<p>E se essa empresa operar globalmente e tiver aproximadamente um n\u00famero equilibrado de clientes na R\u00fassia e em outras partes do mundo? A conectividade entre os segmentos \u00e9 importante, e eles precisam trabalhar juntos de alguma forma. <\/p>\n<p>No final de mar\u00e7o de 2018, a Roskomnadzor enviou uma carta para os maiores provedores, informando que planejavam bloquear milh\u00f5es de IPs da Amazon para bloquear... o mensageiro Zello. Agradecemos a esses pr\u00f3prios provedores \u2014 eles vazaram a carta, e surgiu a compreens\u00e3o de que a conectividade com a Amazon poderia ruir. Era uma sexta-feira, e n\u00f3s, em p\u00e2nico, fomos at\u00e9 os colegas da servers.ru, dizendo: 'Amigos, precisamos de alguns servidores que n\u00e3o fiquem na R\u00fassia, n\u00e3o na Amazon, mas, por exemplo, em algum lugar em Amsterdam', para que possamos, de alguma maneira, ter nossos pr\u00f3prios servi\u00e7os l\u00e1. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/vpn\/\"   title=\"vpn\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"39\">vpn<\/a> e proxy para alguns endpoints, nos quais n\u00e3o temos como influenciar, como os endpoints do s3 \u2014 n\u00e3o podemos simplesmente criar um novo servi\u00e7o e obter um IP diferente, ainda precisamos acess\u00e1-los. Em poucos dias, configuramos esses servidores, os levantamos e, de modo geral, nos preparamos antes do in\u00edcio das restri\u00e7\u00f5es. Curiosamente, o RKN, ao ver toda a agita\u00e7\u00e3o e p\u00e2nico gerados, disse: 'N\u00e3o, agora n\u00e3o vamos bloquear nada.' (Mas isso foi at\u00e9 o momento em que come\u00e7aram a bloquear o Telegram.) Ap\u00f3s configurar as possibilidades de contorno e perceber que a restri\u00e7\u00e3o n\u00e3o havia sido imposta, decidimos, mesmo assim, n\u00e3o desmontar tudo isso. Assim, apenas por precau\u00e7\u00e3o. <\/p>\n<p><img decoding=\"async\" alt=\"\u00abBitrix24\u00bb: \u00abO que \u00e9 levantado rapidamente n\u00e3o conta como ca\u00eddo\u00bb\" src=\"\/wp-content\/uploads\/2019\/06\/334611ed880b13818dccca709baa0178.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nE aqui estamos em 2019, vivendo sob restri\u00e7\u00f5es. Ontem \u00e0 noite, observei: cerca de um milh\u00e3o de IPs continuam sendo bloqueados. Na verdade, a Amazon foi quase totalmente desbloqueada, no pico chegamos a 20 milh\u00f5es de endere\u00e7os... Em suma, a realidade \u00e9 que a conectividade, uma boa conectividade \u2014 pode n\u00e3o existir. De repente. Pode n\u00e3o existir por raz\u00f5es t\u00e9cnicas \u2014 inc\u00eandios, escavadeiras, tudo isso. Ou, como vimos, por raz\u00f5es que n\u00e3o s\u00e3o exatamente t\u00e9cnicas. Portanto, algu\u00e9m grande e poderoso, com seus pr\u00f3prios AS, pode conseguir administrar isso de outras maneiras \u2014 direct connect e outras coisas j\u00e1 a n\u00edvel L2. Mas na vers\u00e3o simples, como n\u00f3s ou outras empresas menores, \u00e9 bom ter uma redund\u00e2ncia ao n\u00edvel dos servidores, levantados em outros lugares, configurados previamente com VPNs, proxies, com a possibilidade de trocar rapidamente a configura\u00e7\u00e3o nas partes cr\u00edticas que voc\u00ea tem em termos de conectividade. Isso nos foi \u00fatil v\u00e1rias vezes, especialmente quando come\u00e7aram os bloqueios da Amazon, passando por eles, no pior dos casos, o tr\u00e1fego do S3, mas tudo isso foi se resolvendo gradualmente.<\/p>\n<h4>E como fazer a redund\u00e2ncia... de um provedor inteiro?<\/h4>\n<p>\nAtualmente, n\u00e3o temos um cen\u00e1rio para a falha total da Amazon. Temos um cen\u00e1rio semelhante para a R\u00fassia. Na R\u00fassia, est\u00e1vamos alocados em um provedor que escolhemos para ter v\u00e1rias localiza\u00e7\u00f5es. E h\u00e1 um ano, enfrentamos um problema: mesmo que fossem dois data centers, j\u00e1 no n\u00edvel de configura\u00e7\u00e3o da rede do provedor, podem haver problemas que afetariam ambos os data centers. E podemos acabar enfrentando indisponibilidade em ambas as localiza\u00e7\u00f5es. Claro, isso aconteceu. No final, reconsideramos a arquitetura interna. Ela n\u00e3o mudou muito, mas para a R\u00fassia agora temos duas localiza\u00e7\u00f5es que n\u00e3o est\u00e3o sob um \u00fanico provedor, mas sim em dois diferentes. Se um deles falhar, podemos mudar para o outro.<\/p>\n<p>Hipoteticamente, para a Amazon, estamos considerando a possibilidade de fazer reservas em n\u00edvel de outro provedor; talvez o Google, talvez algum outro... Mas at\u00e9 agora, observamos na pr\u00e1tica que se ocorrerem falhas na Amazon em uma zona de disponibilidade, falhas em n\u00edvel regional s\u00e3o fen\u00f4menos bastante raros. Portanto, temos uma ideia te\u00f3rica de que talvez possamos fazer uma reserva 'Amazon - n\u00e3o Amazon', mas na pr\u00e1tica isso ainda n\u00e3o existe. <\/p>\n<h4>Algumas palavras sobre automa\u00e7\u00e3o<\/h4>\n<p>\nA automa\u00e7\u00e3o \u00e9 sempre necess\u00e1ria? Aqui \u00e9 pertinente lembrar o efeito Dunning-Kruger. No eixo 'x', temos nosso conhecimento e experi\u00eancia, que adquirimos, e no eixo 'y' \u2014 a confian\u00e7a em nossas a\u00e7\u00f5es. No in\u00edcio, n\u00e3o sabemos nada e n\u00e3o temos confian\u00e7a alguma. Depois, sabemos um pouco e nos tornamos mega-confiantes \u2014 isso \u00e9 o que chamamos de 'pico da ignor\u00e2ncia', bem ilustrado pela imagem 'imbecilidade e bravura'. Em seguida, aprendemos um pouco e estamos prontos para entrar em a\u00e7\u00e3o. Ent\u00e3o, cometemos alguns erros s\u00e9rios, ca\u00edmos no vale da desesperan\u00e7a, onde parece que sabemos algo, mas na verdade sabemos muito pouco. Depois, \u00e0 medida que adquirimos experi\u00eancia, nos tornamos mais confiantes.<\/p>\n<p><img decoding=\"async\" alt=\"\u00abBitrix24\u00bb: \u00abO que \u00e9 levantado rapidamente n\u00e3o conta como ca\u00eddo\u00bb\" src=\"\/wp-content\/uploads\/2019\/06\/1e0321bd8d823da2439d25769cb944ab.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNossa l\u00f3gica sobre as diferentes altern\u00e2ncias automaticamente em caso de falhas \u2014 \u00e9 muito bem descrita por este gr\u00e1fico. Come\u00e7amos \u2014 n\u00e3o sab\u00edamos nada, praticamente todo o trabalho era feito manualmente. Depois entendemos que era poss\u00edvel automatizar tudo e, assim, dormir tranquilos. E de repente encontramos um grande problema: temos um falso positivo e alternamos o tr\u00e1fego de um lado para o outro, quando, na verdade, n\u00e3o t\u00ednhamos que fazer isso. Consequentemente, a replica\u00e7\u00e3o quebra ou outra coisa qualquer \u2014 essa \u00e9 a verdadeira depress\u00e3o. E, ent\u00e3o, chegamos \u00e0 compreens\u00e3o de que devemos lidar com tudo com sabedoria. Ou seja, faz sentido confiar na automa\u00e7\u00e3o, prevendo a possibilidade de um falso acionamento. Mas! Se as consequ\u00eancias podem ser devastadoras, \u00e9 melhor deixar isso a cargo da equipe de plant\u00e3o, dos engenheiros de plant\u00e3o, que v\u00e3o verificar, confirmar que realmente \u00e9 uma falha e executar as a\u00e7\u00f5es necess\u00e1rias manualmente...<\/p>\n<h4>Conclus\u00e3o<\/h4>\n<p>\nEm 7 anos, passamos de momentos de p\u00e2nico quando algo falhava, para uma compreens\u00e3o de que n\u00e3o existem problemas, apenas tarefas que precisam \u2014 e podem \u2014 ser resolvidas. Quando voc\u00ea cria um servi\u00e7o, olhe para ele de uma perspectiva elevada, avalie todos os riscos que podem surgir. Se voc\u00ea os v\u00ea de imediato \u2014 ent\u00e3o, preveja a redund\u00e2ncia e a possibilidade de construir uma infraestrutura tolerante a falhas, porque qualquer ponto que possa falhar e levar \u00e0 inoperabilidade do servi\u00e7o \u2014 definitivamente ir\u00e1 falhar. E mesmo que voc\u00ea ache que alguns elementos da infraestrutura, como o pr\u00f3prio S3, n\u00e3o v\u00e3o falhar, tenha em mente que eles podem falhar. E, pelo menos em teoria, tenha uma ideia do que far\u00e1 com eles se algo realmente acontecer. Tenha um plano para lidar com os riscos. Ao considerar se deve fazer tudo automaticamente ou manualmente, avalie os riscos: o que acontecer\u00e1 se a automa\u00e7\u00e3o come\u00e7ar a fazer todas as altern\u00e2ncias \u2014 isso n\u00e3o levar\u00e1 a uma situa\u00e7\u00e3o pior do que a falha original? Pode ser que, em alguns casos, seja necess\u00e1rio um compromisso razo\u00e1vel entre o uso da automa\u00e7\u00e3o e a rea\u00e7\u00e3o do engenheiro de plant\u00e3o, que avaliar\u00e1 a situa\u00e7\u00e3o real e entender\u00e1 se algo deve ser alternado imediatamente ou \u2018sim, mas n\u00e3o agora\u2019.<\/p>\n<p>Um compromisso sensato entre o perfeccionismo e os recursos reais, o tempo e o dinheiro que voc\u00ea pode gastar na solu\u00e7\u00e3o que voc\u00ea, no final, ter\u00e1.<\/p>\n<p><i>Este texto \u00e9 uma vers\u00e3o aumentada e expandida da apresenta\u00e7\u00e3o de Alexander Demidov na confer\u00eancia. <noindex><a rel=\"nofollow\" href=\"https:\/\/uptime.community\/ru\/uptimeday-4\">Uptime dia 4<\/a><\/noindex>.<\/i><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/455112\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb \u043d\u0435\u0442 \u0441\u043e\u0442\u0435\u043d \u0433\u0438\u0433\u0430\u0431\u0438\u0442 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (\u0445\u043e\u0442\u044f \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u043c\u0430\u043b\u043e). \u041d\u043e \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043e\u043d \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u044d\u0442\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 business-critical \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0430\u0434\u0430\u0442\u044c \u2014 \u043d\u0443, \u043d\u0438\u043a\u0430\u043a \u043d\u0435\u043b\u044c\u0437\u044f. \u0410 \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0441\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c, \u043d\u043e \u00ab\u0432\u043e\u0441\u0441\u0442\u0430\u043b\u00bb \u0441\u0435\u0440\u0432\u0438\u0441 \u0442\u0430\u043a \u0431\u044b\u0441\u0442\u0440\u043e, \u0447\u0442\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26389,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35092","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb \u043d\u0435\u0442 \u0441\u043e\u0442\u0435\u043d \u0433\u0438\u0433\u0430\u0431\u0438\u0442 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (\u0445\u043e\u0442\u044f \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u043c\u0430\u043b\u043e).\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb: \u00ab\u0411\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u043e\u0435 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u043f\u0430\u0432\u0448\u0438\u043c\u00bb | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb \u043d\u0435\u0442 \u0441\u043e\u0442\u0435\u043d \u0433\u0438\u0433\u0430\u0431\u0438\u0442 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (\u0445\u043e\u0442\u044f \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u043c\u0430\u043b\u043e).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:02:18+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:02:18+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\u2018Bitrix24\u2019: \u2018O que \u00e9 rapidamente levantado n\u00e3o \u00e9 considerado ca\u00eddo\u2019 | ProHoster","description":"At\u00e9 o momento, o servi\u00e7o 'Bitrix24' n\u00e3o disp\u00f5e de centenas de gigabits de tr\u00e1fego, nem de uma enorme frota de servidores (embora existam muitos, \u00e9 claro).","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb: \u00ab\u0411\u044b\u0441\u0442\u0440\u043e \u043f\u043e\u0434\u043d\u044f\u0442\u043e\u0435 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0443\u043f\u0430\u0432\u0448\u0438\u043c\u00bb | ProHoster","og:description":"\u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u00ab\u0411\u0438\u0442\u0440\u0438\u043a\u044124\u00bb \u043d\u0435\u0442 \u0441\u043e\u0442\u0435\u043d \u0433\u0438\u0433\u0430\u0431\u0438\u0442 \u0442\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u0435\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 (\u0445\u043e\u0442\u044f \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435\u043c\u0430\u043b\u043e).","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/bitriks24-bystro-podnyatoe-ne-schitaetsya-upavshim","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:02:18+00:00","article:modified_time":"2019-10-31T19:02:18+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35092","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-04 14:51:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:10:27","updated":"2026-02-04 14:51:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/35092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=35092"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/35092\/revisions"}],"predecessor-version":[{"id":156668,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/35092\/revisions\/156668"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/26389"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=35092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=35092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=35092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}