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.
Você já se perguntou como os dados brutos, originados de diversas fontes, são refinados e…
No cenário empresarial contemporâneo, marcado pela constante transformação digital, as novas redes sociais despontam como…
No cenário do mercado atual, onde a competição é acirrada e as expectativas dos clientes…
Em um cenário empresarial dinâmico e altamente competitivo, as Estratégias Avançadas de Capacity Planning assumem…
O capacity planning é um dos pilares fundamentais para o sucesso de qualquer empresa. Ele…
O mercado de tecnologia da informação (TI) é um dos setores que mais crescem e…