DevOps é uma cultura que reúne uma série de práticas e ferramentas com objetivo de aumentar a capacidade de entregas das soluções.
Muito utilizado em empresas de desenvolvimento de software e gerenciamento de estruturas essa cultura tem se tornado cada dia mais comum.
Por isso é essencial investir na implementação da mesma e dessa forma garantir maiores e melhores resultados para as organizações.
Acompanhe esse conteúdo, saiba o que é o DevOps e também como a Accurate trabalha com esse processo.
A junção de Desenvolvimento (Dev) e Operações (Ops) resultou na ideia do que chamamos de DevOps.
Que basicamente une os processos de desenvolvimento e operações em um único processo, tudo isso em busca de agilidade.
Uma vez que equipes de ambientes que antes atuavam de forma isolada passam a trabalhar de maneira conjunta e integrada.
Entre estes podem se encontrar pessoas das áreas de desenvolvimento, operacional de TI, engenharia de segurança e da qualidade.
O trabalho conjunto acaba trazendo às mais diversas áreas uma maior agilidade e eficiência nos projetos.
Quando há a junção de equipes de segurança é comum que se ouça falar de DevSecOps.
De forma geral o objetivo de se utilizar a cultura, ferramentas e processos de DevOps é oferecer maior valor nas soluções que serão entregues.
São diversos os benefícios sentidos na organização ou time que insere o DevOps no seu dia a dia.
A Agilidade tanto nos processos como na entrega das soluções é uma das grandes vantagens sentidas.
Se aliado a processos como o CI/CD o DevOps tem como benefício o ganho de segurança nos processos e também para com os clientes.
Isso por que é possível entregar melhorias de forma integrada e automatizada sem prejudicar a experiência do usuário.
Por fim, quando utilizada em todo o seu potencial e nas suas mais diversas ferramentas o DevOps fará a empresa dar um salto rumo a maior produtividade e eficiência.
Na Accurate a introdução do DevOps se deu para superar o desafio de definir ferramentas e processo de desenvolvimento customizados para os projetos.
E a partir disso, conseguir constituir procedimentos que sejam utilizados no processo de desenvolvimento para garantir o cumprimento de etapas e a qualidade do produto.
Para isso a estratégia adotada foi alinhar um processo/fluxo de implementação através do ferramental que auxiliará antes, durante e depois da entrega final.
O desenvolvimento aconteceu em quatro passos: planejamento (1), gerenciamento de versão (2), construção e gerenciamento de pacotes (3) e estilo de código (4).
No Passo 1 foram definidos dois meios de comunicação (Mattermost e Discord) e também o Planning Poker como método de estimar o esforço para desenvolvimento.
Já no Passo 2, definiu-se o Git e GitLab como formas de controle de versionamento e gerenciamento do projeto.
O GitLab foi colocado como forma de possibilitar a documentação de toda e qualquer informação através de Wikis.
Assim como o gerenciamento através de Issues e da construção de fluxos CI/CD.
Chegando ao passo 3 foi realizada a construção de gerenciamento de pacotes, através de Nexus, NPM, NuGet e JFrog.
Estes gerenciadores de pacotes foram criados para automatizar o processo de instalação e atualização das bibliotecas utilizadas no desenvolvimento.
Por fim o Passo 4, definiu as ferramentas Codacy e Sonarqube para analisar o código-fonte para sinalizar erros, bugs e implementações não aderentes às boas práticas da linguagem.
Na Integração, além desse fator foi pensada também a Segurança do processo.
Para isso foram feitos dois passos:
Já para a Integração foi definido um servidor de automação responsável pela construção, teste e implantação da aplicação.
E a partir dessa construção realizar a condução de maneira clara, a integração e a entrega contínua através do Jenkins.
A operação por sua vez possuiu três frentes: (1) Deploy, (2) Orquestração e (3) Monitoramento.
No Deploy foi definida uma automação para virtualização de sistemas operacionais para realização do deploy de aplicação com a utilização de Docker.
É através do conceito de “dockerização” que se torna possível ter controle de acesso, deixando mais seguro e restritivo o acesso direto a determinadas aplicações.
No passo 2 de orquestração foi definido um sistema que ficou responsável por automatizar a implantação e dimensionamento de gestão de contêineres por meio dos Kubernetes.
Por fim, para o monitoramento foram definidas, por meio do Nagios, ferramentas para realizar o monitoramento de rede.
Assim como definir ferramentas para analisar métricas oriundas de banco de dados e outras ferramentas gerando gráficos para análise, por meio da Grafana e Datadog.
Para realizar todo esse processo foi definida a infraestrutura para provisionamento do ferramental utilizando contêineres visando rápido provisionamento e ágil troca de host.
Foram definidas as metodologias de Trabalho como Daily e Review, e foram seguidos os passos a seguir para operacionalização:
Foram encontrados quatro problemas:
As soluções primeiro foi a padronização na criação de branchs e segundo o alinhamento para realização de commits parciais, conforme implementação.
Terceiro, por meio da aplicação do Plannin Poker foi possível chegar e um número mais condizentes, uma vez que há uma discussão de todo o time para determinada votação.
No quarto problema, por conta da necessidade específica de implementação, a ferramenta não conseguia analisar a implementação a ponto de identificar erro na estrutura.
Para a solução então foi implementado um plugin para que a análise seja capaz de atender e assim notificar caso não esteja aderente.
Ao fim do processo chegou aos seguintes resultados:
Na Accurate toda a gestão de projetos e processos é realizada de forma a garantir eficiência e melhores resultados.
Tudo isso é claro utilizando-se de processos, culturas e ideias modernas e organizadas como o DevOps.
Conheça todas as soluções acessando o site da Accurate assim como todas as dicas do Blog.
Não se esqueça também de seguir as Redes Sociais: Facebook, Instagram, Twitter, Linkedin e YouTube.
A transformação digital acelerou a necessidade de inovação em Tecnologia da Informação (TI). No ambiente…
O desenvolvimento de FAQBots inteligentes é uma solução que vem ganhando espaço, permitindo que…
O avanço da Inteligência Artificial (IA) está remodelando a maneira como empresas conduzem suas…
Adotar uma estratégia multicloud para redução de custos é essencial para empresas que buscam…
No cenário atual, onde a transformação digital não é mais uma opção, mas uma necessidade,…
O comércio eletrônico tem evoluído de maneira acelerada nas últimas décadas, e estamos agora às…