Categoria: diario-de-bordo

  • Impactos do ECA Digital

    A aprovação e sanção presidencial da Lei Felca – também conhecida por ECA Digital – vem para colocar uma série de obrigações para qualquer site ou serviço voltado para menores de 18 anos ou que estes possam ter acesso.

    Venho acompanhando pela mídia e pelo próprio documento da lei o que ela determina no sentido tanto da proteção dos menores quanto na limitação do acesso a serviços projetados para maiores de 18 anos.

    Desde o início tenho ficado em dúvida quanto a aplicabilidade dos processos de validação de identidade e idade.

    Sendo assim, pesquisei a respeito desse tema e existe uma série de soluções – nacionais, inclusive – que oferecem diferentes formas para identificar e validar uma pessoa que está acessando um serviço digital. Okay, talvez eu tenha entendido que sim, é tecnicamente viável validar identidades – inclusive usando o conceito de ZKP (Zero Knowledge Proof), onde uma identidade é validada, é gerado um token para a aplicação mas a aplicação não sabe os dados da pessoa que passou pela autenticação – mas para esse caso eu não encontrei ainda um fornecedor nacional.

    Conversando com um colega ele deu algumas sugestões que são bem factíveis também, como, por exemplo, fazer uma autenticação integrada com o Google, usando fluxo oAuth2, pois o Google é um serviço que requer que a pessoa seja maior de idade – nesse caso, a gente acaba terceirzando a responsabilidade e contando com a possibilidade do Google vir a implementar um mecanismo de validação de identidade para suas contas.

    Outra opção tecnicamente viável seria fazer uma transação num cartão de crédito, num valor simbólico de R$ 0,01 e que se fizesse o estorno imediato: nesse caso contamos com a credibilidade da operadora de cartão que não pode emitir cartão para menor – pelo menos não sem estar vinculado a um cartão de responsável.

    Mas o ponto é: eu não gostaria de dificultar a entrada de pessoas no isaCloud. Ele é para ser simples, familiar, para uma comunidade pequena. Além disso, é um serviço com financiamento próprio, sem nenhum recurso financeiro para ir atrás de soluções de validação de identidade e, principalmente, o isaCloud não tem registro aberto ao público, somente mediante convite.

    Eu realmente espero que a Lei Felca passe por revisões e que alguns requisitos sejam revisitados, seja no porte de quem provê o serviço, seja no volume de usuários.

    Esperar que o isaCloud tenha de cumprir as mesmas exigências que o WhatsApp da bilionária Meta é um tanto irreal.

    Não sei para onde isso tudo vai caminhar, mas eu vou fazer TUDO que estiver ao meu alcance para que o isaCloud esteja sempre disponível para você continuar mantendo as conversas e pessoas que mais importam pra você, por perto.

  • Diga seu nome, demônio!

    Hoje foi um dia interessante porque um amigo querido, sysadmin como eu, estava enfrentando uma questão de leak de memória no serviço de XMPP do ecossistema que ele administra.

    Ficamos num “ping pong” de idéias sobre o que poderia estar gerando aquele comportamento. A princípio o Prosody não demanda muitos recursos mas, no caso dele, o serviço estava “leakando” de tal forma que comprometia o ambiente como um todo onde o serviço está alocado.

    Analisa gráfico daqui, analisa gráfico dali, avalia o que houve de mudança recente no ambiente – nenhuma identificada -, avalia se o volume de sessões server to server e client to server estavam estourando e tal… nada. Nadinha. Nadica.

    Lembro de um pequeno diálogo em que o Blake (personagem do filme Batman – O Cavaleiro das Trevas Ressurge) conversa com o Comissário Gordon. Blake diz: “mas senhor, eu não entendo nada de construções”… e o Comissário responde: “mas você pode entender de padrões! Agora você é meu detetive e não mais oficial de patrulha”.

    Isso é bem real…. quando a gente vai acumulando horas de vôo na nossa profissão ou num hobby a gente vai aprendendo a juntar conexões, padrões e saber alguns caminhos que invariavelmente ajudam a diagnosticar os problemas mais cabeludos e misteriosos.

    Depois de alguns papos no canal XMPP a respeito do misterioso leak, o amigo foi pela abordagem de começar a descarregar os módulos extras do Prosody que foram adicionados mais recentemente… e PÁ! Parece que uma luz apareceu e o “demônio deu sinais de qual era seu nome”!

    Nem foi preciso chamar o Exorcista do Papa, Signore Gabriele Amorth (interpretado por Russel Crowe)… o amigo foi o próprio Leak Exorcist da vez 🙂

    E o nome do demônio? Parece que era mod_cloud_notify_extensions 😈

  • Rumo ao uptime infinito

    Brincadeiras à parte, eu sou a “doida do uptime”. Pelo hábito de trabalhar em operação de plataformas que operam 24×7, todo meu direcionamento é para manter sistemas rodando da forma mais contínua possível.

    Claro, há manutenções que demandam um restart de serviço, restart de host, de hipervisor e etc, mas o esforço é constante para que cada usuário de um serviço gerenciado por mim tenha a maior confiabilidade possível no serviço.

    Com o isaCloud não é diferente. São poucos usuários? São – quase 100 atualmente -, mas cada pessoa importa. A confiança que um usuário deposita no isaCloud como seu meio de comunicação torna minha missão de gerenciar esse serviço digna de carinho e dedicação máximos.

    Batemos mais de 71 dias de uptime no isaCloud, mas provavelmente vem uma atualização de Prosody que vai demandar aquele restart maroto… Nesses casos, tomo o cuidado de sempre avisar toda base de usuários e realizar as manobras num horário de menor impacto possível.

    E o que eu ganho com isso? Um coração quentinho por saber que cada login do isaCloud merece o melhor de mim e que essa confiança faça com que os usuários tragam mais pessoas com quem eles gostariam de manter conversas significativas dentro do isaCloud. 😊

  • Mais uma ampliação de estrutura

    Há alguns dias subi mais um servidor no “farm” do isaCloud. Eu havia contratado uma instância de computação na Scaleway para isolar o monitoramento da infraestrutura do datacenter primário e vinha funcionando bem… porém, como a gente sempre quer “subir mais uma coisinha”, o pequeno servidor de 1vcpu e 1GB para monitoramento rapidamente ficou pequeno demais.

    Conversando com o Kari`boka do xmpp.eco.br, subi uma nova instância de computação no Contabo. Recursos de sobra para realizar o monitoramento da estrutura e também mandar para lá algumas coisinhas que estavam num raspberry pi em casa – coisas acessórias, de monitoramento interno de casa, aplicação para fediverso e tal.

    Com esse novo servidor vou realocar também a questão da replicação do isaCloud [Messenger], para manter o funcionamento de failover dele na Contabo.

    Curiosidade: minha amiga (leiga em assuntos de tecnologia) me disse: “guria, daqui um pouco tu vai ter que ter um servidor [risos]” e eu respondi: “mas eu já estou com três!” 😁

    E uma outra pessoa me falou “tem que começar a monetizar, né? o isaCloud é top demais!” e eu respondi prontamente: o isaCloud não será monetizado porque eu já me sinto recompensada por porporcionar algo tão legal pras pessoas que eu gosto 💜

  • Alta disponibilidade acessível

    Venho há algumas semanas organizando uma forma de ter alta disponibilidade para o serviço isaCloud. É claro que o conceito de alta disponibilidade precisa ser de acordo com as demandas do “negócio” (entre aspas porque isaCloud é um serviço sem fins comerciais).

    O que eu tenho pensado:

    • Ter um cold site, isto é, um segundo datacenter (ou site secundário) com dados replicados que possa assumir o serviço
    • Não preciso ter failover automático
    • O chaveamento dos sites pode tolerar uma mudança e propagação de DNS (até 1h, digamos)

    Comecei configurando um simples lsync entre o datacenter A e o datacenter B. Estou há duas semanas mantendo essa replicação ativa de dados e configurações entre um servidor no Brasil e um na Holanda.

    Eu testei a virada de DNS de um dos domínios que tenho no isaCloud e a seguir compartilho o que funcionou e o que não funcionou:

    ✅ Consistência do histórico de mensagens
    ✅ Baixa latência para replicação
    ✅ Configurações do servidor e certificados
    ✅ Boot do serviço
    ✅ Reconexão de conversas com usuários de servidores externos
    🔴 Reconexão de conversas com usuários de outros domínios também do isaCloud

    Como mencionei ali em cima, eu virei apenas 1 domínio dos 5 que tenho no isaCloud e, nesse caso, a comunicação entre o domínio “migrado” pro site secundário e os demais que ficaram no site primário não funcionou bem porque os domínios que ficaram achavam ainda que o domínio em questão ainda era servido pelo site primário.

    Outra questão que não ficou clara para mim é sobre deixar previamente configuradas entradas de DNS SRV com menor prioridade para que a escolha pelo site secundário fosse automática. Mas isso tem uns poréns:

    • Pro meu teste não funcionou porque o site primário continuava acessível no target da entrada SRV já que os demais domínios seguiam funcionando lá
    • No caso de um failover automático pro site secundário através dessa entrada SRV com prioridade menor, o failback acabaria acontecendo automaticamente se o site primário voltasse a responder sozinho – porém os dados no site primário estariam desatualizados.

    Bem, ainda tô desenhando a melhor forma de fazer isso tudo:

    • Failover automático com faiback manual
    • Failover manual alterando o hostname pra onde os SRV apontam

    Num próximo post eu compartilho o que ficou decidido e como ficou implementado.

    Com carinho,
    Isadora.

  • Como eu cheguei no Lua

    Foi sorte… de verdade.

    Quando comecei a pesquisar sobre XMPP depois de ANOS afastada desse protocolo tão legal, me deparei com uma lista de servidores XMPP no site da XSF (https://xmpp.org).

    Eu tinha a lembrança nítida do Openfire, um dos servidores mais clássicos e padrões desde 2003 pelo menos.

    Mas eu queria recomeçar meu contato com o ecossistema. Olhei vários nomes de servidores na lista até que um deles me chamou atenção: Prosody. Ali indicava ser feito em Lua e eu pensei: “deve ser leve, acho que merece ser estudado”.

    Entrei na documentação, no repositório, olhei, olhei… parecia simples de implementar. E assim foi.

    Comecei a me debruçar sobre o Prosody, preparar container para implantação, comecei a conhecer o código fonte, a modularização, a lista enorme de módulos de comunidade e fiquei apaixonada: é isso!

    Cheguei num ponto em que já escrevi alguns pequenos módulos e modifiquei o comportamento de alguns componentes core para que a jornada de novos usuaŕios no isaCloud fosse mais amigável.

    Não me arrependo! Estou super satisfeita depois de quase 8 meses de uso, sem reclamações.

    Ter contato com os desenvolvedores diretamente por um canal XMPP também dá muita confiança de que resolver problemas não é um caminho tão árduo.

    Fico feliz de hoje estar tão confortável a ponto de poder ajudar mais pessoas que estão na jornada do Prosody.

  • A blamberagem nunca dorme

    Sim, falar “blambers” – também conhecido por “tecniquês” – é um hábito imortal dos nerds e não seria diferente por aqui, né?

    Afinal, que nerd eu seria se não estivesse envolvida em algum projeto open source, “comunistinha”, preocupada com o bem estar digital das pessoas que eu prezo?

    É com esse sentimento que nasceu o isaCloud – o mensageiro do coração 🙂