Quer descobrir as melhores práticas de DevOps? Está tendo dificuldade para atualizar o seu software com uma frequência adequada? Confira o que foi compartilhado na live de Edson Yanaga na TecnoUpdate falando sobre como aplicar DevOps.
DevOps é um conjunto de práticas que torna automáticos os processos entre o desenvolvimento de software e as equipes de TI, tornando os processos de criação e atualização do software mais rápido e confiável.
Edson Yanaga, Director of Developer Experience na Red Hat, foi convidado a falar sobre as boas práticas de DevOps na TecnoUpdate. Ele dá exemplos práticos de como o DevOps funciona e do quão rápido é possível fazer uma atualização de software utilizando as práticas certas.
Com um jogo interativo em que ele atualiza em tempo real, Edson Yanaga mostra a arquitetura de microsserviços com várias opções de ajustes imediatos possibilitada pelo DevOps. A plataforma conectada permite mudanças muito mais rápidas e com menor probabilidade de bugs para os usuários.
Economia digital
Outro ponto abordado durante a live de Yanaga para a TecnoUpdate foi sobre como a economia está se voltando para o mundo digital. Na economia digital, todas as empresas se relacionam via softwares. Os softwares facilitam a vida das pessoas, e por isso estão presentes nos mais diferentes mercados e fazem parte do novo mundo de negócios.
A expectativa de vida das empresas reduziu para menos de 15 anos. Isso porque é cada vez mais difícil se manter no mercado sem seguir as devidas práticas e atualizações. Manter-se atualizado não é um diferencial, é o básico. Mesmo antes da pandemia, tornar-se digital era fundamental para se manter no mercado. Conforme estatísticas compartilhadas na live de Yanaga, as empresas se sentem ameaçadas pelo meio digital, percebem que é um mercado em expansão e com chances de dominação, mas nem sempre fazem algo a respeito.
As empresas que optaram por não fazer determinadas atualizações tecnológicas, como a maquininha de cartão com chip, acabaram tendo que se atualizar abruptamente em 2020. As formas de convivência tradicionais, de trabalho, de compra e de comportamento em geral alteraram. As pessoas buscam cada vez mais produtos e serviços disponíveis também online e com tecnologia de ponta.
Entrar no mundo digital, contudo, possui uma ambivalência. Você pode oferecer seus serviços para o mundo inteiro, mas você também competirá com o mundo inteiro e precisará se modernizar e se diferenciar. Por isso, para desenvolvedores de software, é cada vez mais importante conseguir mandar atualizações periódicas, o que práticas de DevOps possibilitam.
O futuro chegou, mas ele está mal distribuído
Às vezes pode-se ter a sensação de que toda a tecnologia e inovação divulgada ainda é uma realidade distante. Contudo, não é bem assim. A frase “o futuro chegou, mas está mal distribuído” resume a situação. A tecnologia está, sim, em um nível bem avançado, mas não chega para todos. Ainda assim, desenvolvedores que queiram estar prontos para as inovações porvir precisam estar em constante atualização. Yanaga explica que, para otimizar o que será feito, pode-se partir das seguintes perguntas:
- Por quê?
- Como?
- O quê?
Saber o porquê fazer é a pergunta chave, pois é o porquê, a motivação, a razão que vai convencer seus clientes, colaboradores e stakeholders. É também fazendo essas perguntas que se chegará a atualizações mais rápidas e livres dos principais problemas percebidos pelos desenvolvedores e usuários.
Quando o software está pronto?
Essa é uma pergunta fundamental também de se fazer. Atualizações de DevOps não devem ser um sofrimento. Deve ser algo natural e constante. Por isso, entender o processo é fundamental para as boas práticas de DevOps. Dev, que é a parte de desenvolvimento, precisa estar atualizando constantemente os softwares. O Ops, operacional, precisa que tudo funcione bem, então se torna avesso a mudanças. Assim, há certa divergência nos objetivos das duas partes. Estabelecer um objetivo conjunto para trabalhar é indispensável para melhorar a entrega ao usuário e garantir boas práticas de DevOps.
O desenvolvedor precisa estar atento às necessidades do cliente. Uma frase comum entre desenvolvedores é “na minha máquina funciona”. Mas é preciso que os softwares funcionem nas máquinas dos clientes, de quem realmente precisa desse software como ferramenta. Por isso, o desenvolvedor deve estar em sincronia com o operacional para receber os feedbacks e ajustar o seu software de acordo com a sua demanda.
Lead time
Lead time é o tempo entre ideia, a percepção da demanda e a produção do produto ou software. Ele é fundamental para todas as áreas, mas se torna ainda mais importante no mundo tecnológico. Quanto menor o lead time, melhor para a empresa. Isso porque com um lead time longo, outros produtos podem entrar primeiro no mercado ou até mesmo a demanda por aquele software pode mudar.
Feedback loop
Atividade fundamental em todas as áreas, pois consiste em monitorar as reações a seu software, reagindo às mais negativas no menor tempo possível. Quanto menor o tempo do feedback loop, melhor para o software. Com as reações em mãos sobre os bugs do software, o desenvolvedor pode corrigir e enviar uma nova atualização com os bugs solucionados.
O que lhe impede de entregar mais rápido?
Há basicamente dois motivos para impedir que as atualizações de um software sejam entregues mais rapidamente: bugs e pessoas. Uma atualização que produza muitos bugs ou a dificuldade em gerenciar os processos e se chegar em consenso entre pessoas são as razões mais comuns para o aumento do prazo de entrega de atualizações.
Bugs
O que causa bugs são códigos. Quanto mais mudanças de códigos em produção, mais bugs. A reação normal do desenvolvedor é aumentar o tempo entre uma atualização e outra para ter mais tempo para testar o software. Contudo, isso acaba virando um problema repetitivo de aumento do tempo de entrega de atualizações. Uma solução econômica mais viável é diminuir o número de mudanças de códigos. Com menos mudanças de códigos, é mais fácil conseguir entregar novas versões cada vez mais rápido e com menos bugs.
Pessoas
A divergência de objetivos e opiniões pode levar a uma lentidão no processo de atualização. Seja porque alguém não atualiza os dados, ou porque não se chegou a um consenso, as pessoas que estão trabalhando em linhas diferentes tendem a demorar mais para efetuar a entrega. Assim, uma boa prática seria medir as pessoas pelo mesmo objetivo. Dessa forma, elas começam a trabalhar juntas.
Desse modo, as boas práticas de DevOps podem tornar o processo de atualização mais ágil e menos propenso a bugs. Atualizar-se é fundamental na economia digital, e seguir boas práticas vai ajudar seu software.
Quer se manter a par sobre as boas práticas e todas as novidades no mundo da tecnologia? Assine a nossa newsletter agora e não perca mais nenhuma informação importante.