Tradução do post 3 Reasons to Upgrade to the Latest Version of Django do Caktus Group. Por isso, mesmo tendo uma tradução, recomendo a leitura da fonte original. O objetivo é dar mais acesso para quem precisa.

Quando consideram uma atualização do website, vários interessados do negócio provavelmente pensam sobre o frontend, por exemplo, como é a aparência do website ou as funcionalidades dos usuários que irão interagir. Possivelmente consideram com menos frequência é a importância de atualizar o backend, ou seja, o banco de dados, aplicações e servidores que alimentam toda a atividade por detrás das cenas. Suporte de infraestrutura e atualizações são necessários, mas várias vezes é realizado como um projeto separado de quaisquer melhorias de design ou experiência de usuário, em vez de ser como parte de uma holístico projeto de atualização.

Com isso em mente, isto ajudará a ter entendido do porque atualização de backend deve ser considerado uma parte necessário de qualquer projeto de atualização de website (e projetos em Django como todo, grifo meu). Nos oferecemos três razões, focando em nossa especialidade de websites baseados em Django.

Atualizando:

  • Melhorias de segurança
  • Redução de desenvolvimento e custos de manutenção, e
  • assegurar apoio ao crescimento futuro

Melhorando a segurança do seu site

O framework Django está sendo continuamente melhorado e certas releases são designados como versões “Long Term Support” (LTS) ou traduzindo “Suporte de Longo Prazo”. Versões LTS recebe atualizações de segurança and correções de bugs por um período de três anos, diferente dos habituais 18 meses. Quando seu website usar uma versão não suportada pelo Django, bugs descobertos recentemente não serão corrigidos, seus patches integrados, ou suportado pelo Django e comunidades Open Source. Não há novas correções de segurança planejada para versões antigas, uma situação que traz uma série de riscos.

Estes riscos vem em forma de vulnerabilidades — fraquezas que deixa seu site aberto para ataques. Ataques deve potencializar causas de servidores cairem, data serem vazados ou roubados, ou funcionalidades pararem de funcionar. Se uma vulnerabilidade é aproveitado, ela pode levar a uma perda de reputação e potencialmente uma perda de receitas e ramificações legais. Com as expectativas elevadas dos consumidores e requisitos crescentes das leis internacionais de proteção aos dados, isso pode ser desastroso para organizações e aplicações web sem planos de atualização rigorosos no lugar.

Se seu site está usando uma versão antiga do Django, um patch de segurança talvez não seja aplicaco para sua versão do Django. Isso significa que uma correção para a vulnerabilidade deveria ser criada e implementada pelo seu time de desenvolvimento, que ao longo do tempo, é menos rentável do que uma atualização para a versão LTS.

Atualizando para uma release LTS, oferece benefícios significativos, incluindo atualizações de segurança quando necessários. Correções para problemas de segurança e vulnerabilidades são implementados rapidamente. Não há necessidade de você implementar correções (ou contratar alguém de fora, com um custo altíssimo). Tomar medidas preventivas para atualizar, reduz o risco e pode salvar você de problemas sérios, passos reativos no caso de um cyberataque.

Redução de desenvolvimento e custos de manutenção

Além de melhorar a segurança e assegurar um crescimento futuro, atualizando também oferece benefícios de produtividade para os times de desenvolvimento. Linhas extras de código podem ser necessários, no desejo de continuar com correções backport para seu website ou aplicativo, como ocorrências de problemas e recursos adicionados. Adicionando todo este código e continuando em usar versões antigas do Django ocorrerá a dívida técnica, aonde correções de curto prazo e código desatualizado acabam criando um trabalho extra para corrigir e manter um projeto a longo prazo.

Correções customizadas e patches também introduzem uma curva de aprendizado alto para novos desenvolvedores ou contratados. O problema aqui é duplo: A integração de novos desenvolvedores consome mais tempo do que é necessário, e se pessoas-chave saírem, poderá perder conhecimento que é essencial para manter ou atualizar o projeto.

Atualizando sua versão do Django, reduz o débito técnico por eliminar código antigo, não sendo mais necessário. Isso também permite seu time de desenvolvimento de reduzir o tempo e dinheiro gastos no tratamento de problemas de segurança e correções de bugs. liberando tempo para eles trabalharem em melhorias do website ou gerar mais receita.

Assegurar apoio para o crescimento futuro

Extensibilidade é a prática para manter o crescimento futuro em mente quando trabalha em um projeto de desenvolvimento. Ouvimos muitas vezes de clientes potenciais, que construíram um site ou aplicativo web nos primeiro dias de seus negócios, quando lançaram recursos rapidamente, isto teve uma prioridade acima do planejamento para crescimento futuro. Se esse crescimento está na forma de mais dados, mais usuários ou mais funcionalidades, o planejamento para ele afeta decisões atuais de projeto e desenvolvimento. Quando o crescimento não é considerado, escalando o projeto e adicionando novas funcionalidades requere uma quantidade desproporcional de trabalho. Se o desenvolvimento original não destinava a suportar alterações que estão sendo feitas, soluções alternativas devem ser introduzidas.

Aonde deixa o seu projeto web? Tecnicamente desatualizado, desnecessariamente desajeitado e menos capaz de entregar uma experiência de qualidade para os usuários do site.

Atualizando Django de uma versão desatualizada para a versão LTS mais recente, não só fornece acesso a software que está constantemente recebendo correções de bugs e de segurança, ele também simplifica o processo de atualização quando uma nova versão do Django for lançada com um recurso necessário para seu projeto. Se seu projeto é dois, três ou mesmo quatro lançamentos atrás, a atualização de uma só vez pode ter um custo proibitivo. Ao atualizar regularmente, você ganha acesso imediato a novas features no Django e se quando necessário. Em outras palavras, você pode depender de um trabalho ativo de uma comunidade altamente engajada para adicionar funcionalidades em vez de reinventar a roda, desenvolvendo você mesmo.

Próximos Passos

A comunidade de desenvolvimento open source está produzindo ótimas ferramentas e aprimoramentos a cada dia e a comunidade continua a crescer em tamanho e suporte. Seu projeto pode ficar atrás se o Django for deixado sem suporte — ou crescendo junto com a comunidade se você atualizar.

Então, por onde começar? Para clientes que consideram uma atualização, geralmente aconselhamos mover até a versão mais recente do LTS. Enquanto a última versão do Django oferece novas funcionalidades, a versão LTS representa uma versão de Django que deve ser mais eficiente em termos de custo, devido ao compromisso da comunidade de liberar atualizações para ele durante três anos.