in

Recurso promete atualizações mais rápidas e seguras de pacotes snap

Os chamados lançamentos progressivos devem dar maior controle aos desenvolvedores.

Recurso promete atualizações mais rápidas e seguras de pacotes snap
Você pode instalar o Titania X3D Editor através do SNAP ou do gerenciador de pacotes FLATPAK.

Que tal baixar um aplicativo por meio do snap e receber atualizações automáticas sem se preocupar com comandos e buscas? Isso será possível com a implementação de um novo recurso que promete tanto atualizações mais rápidas de pacotes snap quanto maior segurança para os desenvolvedores. Estamos falando de um anúncio feito pelo Ubuntu chamado de versões progressivas. Conheça, portanto, os lançamentos progressivos de pacotes snap.

Segundo a Canonical, isso deve garantir a máxima estabilidade dos aplicativos e serviços de produção com atualizações controladas e projetadas.

Isso permite que os desenvolvedores monitorem e observem a adoção de novas versões de suas ferramentas, além de permitir que as equipes operacionais atendam às metas de conformidade e segurança, diz o anúncio.

Até recentemente, o tempo das atualizações automáticas de snap era regido principalmente pelo agendamento de atualização ao cliente. Agora, o novo recurso experimental oferece aos desenvolvedores de snap a capacidade de ajustar lançamentos de novas revisões.

Recurso promete atualizações mais rápidas e seguras de pacotes snap

Recurso promete atualizações mais rápidas e seguras de pacotes snap

A ideia por trás das liberações progressivas é permitir que uma parte incremental do pool total de usuários de um snap específico receba a atualização ao longo do tempo. O desenvolvedor pode aumentar a porcentagem à medida que ganha confiança de que a versão específica está funcionando conforme o esperado. Em particular, isso pode ser bastante eficaz ao testar possíveis liberações de snaps com grandes bases de usuários.

No momento, esse é um recurso experimental e algumas funcionalidades podem mudar. Para poder usar liberações progressivas, você pode executar o snapcraft com a variável de ambiente relevante ativada:

Lançamentos progressivos snap

SNAPCRAFT_EXPERIMENTAL_PROGRESSIVE_RELEASES=y snapcraft ...

Depois que a opção estiver ativada, você poderá liberar uma revisão do seu snap.

snapcraft release <snap-name> <revision> <channel,channel,...> --progressive <percentage>

Por exemplo:

snapcraft release candycane 13 --stable --progressive 30

O comando acima liberará a revisão 5 do snap da candycane no canal estável da faixa padrão (mais recente), definida como 30% de implantação. Os dispositivos que serão direcionados com as novas versões são escolhidos quase que aleatoriamente com base em parte em um hash de seu ID de dispositivo.

Alguns dos conceitos e informações por trás de liberações progressivas podem ser um pouco confusos no começo. Assim, vamos dar uma olhada em um exemplo real:

Recurso promete atualizações mais rápidas e seguras de pacotes snap

Progressive releases do snapcraft

Podemos ver que a liberação progressiva do canal estável foi definida para atingir 30% dos sistemas clientes que se reportam à loja. O segundo número que é exibido para o canal estável – 21 indica a porcentagem real dos sistemas clientes que já receberam a revisão 13. Esse segundo valor depende de alguns trabalhos de desenvolvimento que ainda estão em andamento, portanto, se você tentar o recurso experimental hoje, o que você verá é:

Recurso promete atualizações mais rápidas e seguras de pacotes snap

Os valores atualmente mostram a porcentagem de sistemas do cliente direcionados (pelo desenvolvedor) a serem atualizados para a revisão progressiva. Por exemplo, se você definir uma versão progressiva para 25%, isso significa que aproximadamente cada quarto cliente receberá a atualização na próxima solicitação de atualização. Como o ciclo de atualização típico é de seis horas, isso significa que pode levar cerca de seis ou mais horas para atingir a meta definida de 25%.

Liberar pausa e corrigir correções de erros

Outra vantagem importante é em relação ao controle dos desenvolvedores em relação a problemas que possam surgir.

Por exemplo, você pode liberar a revisão 13 (r13) para 20% dos usuários do canal e descobrir que há um problema com base no feedback do usuário ou outros meios. Em seguida, você interrompe qualquer implantação adicional dessa revisão específica, corrige o problema e libera uma nova revisão (r14) para 20% dos usuários do canal. Nesse caso, os 20% dos sistemas clientes que receberam a revisão anterior r13 também serão os primeiros a obter o r14. Isso permite que os desenvolvedores verifiquem se a correção de bug no lugar é eficaz, após o que eles podem continuar gradualmente a implementação progressiva até atingir 100% da base de destino.

Ideia parece interessante

As versões progressivas são uma maneira útil e flexível de lançar versões de software de maneira controlada e gradual. Os desenvolvedores permitem monitorar de perto quaisquer problemas em potencial que possam surgir na adoção de novas versões, especialmente em ambientes de alto risco. Assim, vamos aguardar se o recurso cumpre mesmo o que promete: atualizações mais rápidas e seguras de pacotes snap.