DevOps
O que é o DevOps?
O DevOps se refere a uma ampla gama de práticas relacionadas ao desenvolvimento e à operação de código de software na produção em data centers em nuvem. O foco do DevOps são as técnicas de gerenciamento de projetos Agile e o suporte a microsserviços. O DevOps aborda todo o ciclo de vida de desenvolvimento de software com automação baseada nos padrões de controle de versão. O Git é a solução de controle de versão mais popular no DevOps, seguida pelo Subversion (SVN) e CVS. O DevOps também inclui o gerenciamento de requisitos de CI/CD para o ciclo de vida do software, teste automatizado de código, orquestração de contêiner, hospedagem na nuvem e técnicas de análise de dados.
Tópicos relacionados
Benefícios do DevOps
- Gerenciamento de projetos em equipe com o Agile: gerenciamento aprimorado no desenvolvimento de software para aplicativos móveis e para sites.
- Otimização do processo de desenvolvimento de software: realizado através da funcionalidade de integração contínua e entrega contínua (CI/CD). Com CI/CD, as empresas podem promover novos recursos de software por meio de alterações rápidas de código para levar inovações ao mercado. Os upgrades do código do servidor da Web ou dos scripts de aplicativos são simplificados usando sistemas e contêineres de controle de versão automatizados.
- Facilita a colaboração: o Git permite que os desenvolvedores colaborem em equipes com capacidade de reversão de itens de linha.
- Eficiência por meio da automação: CI/CD dão suporte a testes automatizados de código por meio de ferramentas de programação corporativa, IDEs e utilitários de terceiros. O DevOps permite uma melhor automação dos processos do data center, aprovisionamento de servidores da Web, gerenciamento de banco de dados, compartilhamento de conhecimento, agendamento de implantação e inteligência de negócios para empresas que o adotam para gerenciar o ciclo de vida de desenvolvimento de software.
Práticas do DevOps
As práticas do DevOps se integram em todas as camadas da pilha de servidores da Web e se destacam ao agrupar equipes de programação em colaboração. A estrutura CALMS é popular no gerenciamento de projetos Agile com as equipes do DevOps e, em tradução, significa Cultura, Automação, Enxuto, Medição e Compartilhamento.
- Cultura exige respeitar os objetivos de estilo de vida de programadores, desenvolvedores e administradores de sistema em todas as equipes de programação.
- Automação ocorre ao longo do ciclo de vida de desenvolvimento de software, particularmente no teste e implantação de código ou nos processos de gerenciamento de data center.
- Enxuto se refere ao controle de custos no aprovisionamento de talentos e equipamentos.
- Medição diz respeito a técnicas de análise de dados, monitoramento em tempo real e métricas de negócios para obter feedback sobre os benchmarks das operações.
- Compartilhamento enfatiza os benefícios de soluções e códigos de código aberto para empresas ou projetos de qualquer tamanho.
História do DevOps
O DevOps evoluiu da combinação de desenvolvimento Web e administração de sistemas na era da nuvem. Os aplicativos de software como serviço (SaaS) exigiam métodos mais complexos para gerenciamento de código na produção e implantação em servidores da Web em nuvem. O desenvolvimento de estruturas de orquestração de contêiner e de servidor elástico da Web tem sido importante no DevOps. A filosofia de gerenciamento de projetos Agile é fundamental no DevOps. O balanceamento de carga na nuvem, a inovação no servidor da Web e a automação do ciclo de vida do software são princípios fundamentais do DevOps. As práticas recomendadas no DevOps são derivadas de uma combinação de pesquisa acadêmica em ciência da computação, inovação em tecnologia de data center em nuvem e aplicativos industriais implementados nas maiores empresas corporativas do mundo por meio do desenvolvimento de software.
Como o DevOps funciona
O DevOps funciona em grande parte por meio de equipes distribuídas de desenvolvedores que trabalham em seus computadores desktop ou laptops, codificando em sandbox em um ambiente de teste. Os desenvolvedores que usam o código push do software de controle de versão são alterados para um ambiente sandbox onde o teste automatizado de código é implementado no processo de confirmação. Depois que as alterações de código são testadas, elas são enviadas em tempo real para os servidores da Web a partir do sandbox usando controle de versão. Nos sistemas de contêiner, os servidores da Web são aprovisionados usando imagens de disco. O ambiente de desenvolvimento da área de trabalho do Docker é integrado ao controle de versão para publicar o código em um servidor da Web por meio de impressões completas de imagens de disco que carregam um servidor da Web de pilha completa em contêineres. As imagens de disco podem ser arquivadas no GitHub, GitLab, DockerHub, Quay ou outros serviços para uso em estruturas de orquestração de contêiner automatizadas, como o Kubernetes.
Controle de versão, CI/CD, compartilhamento de conhecimento, configuração de servidor da Web, automação de data center, teste de código, gerenciamento de elementos, monitoramento de rede e técnicas de análise são todos considerados elementos-chave das práticas de DevOps usados nas equipes profissionais de programação e desenvolvimento de software em empresas e outras organizações complexas.
DevOps versus outras abordagens
Outras abordagens para DevOps incluem gerenciamento de projetos Agile, ArchOps, Integração Contínua/Entrega Contínua (CI/CD), DataOps, WebOps e GitOps. Assim como as filosofias de gerenciamento de negócios, cada um desses termos tem uma ênfase diferente no gerenciamento de projetos e na organização da equipe. Algumas abordagens são baseadas em soluções de talentos, outras em plataformas de hardware e software. O tema em comum é a produção e operação de código de software em data centers em nuvem, principalmente para aplicativos móveis e para sites em escala nas corporações.
Quem está adotando o DevOps?
A maioria das empresas da Fortune 500 já adotou metodologias de DevOps porque são consideradas uma prática recomendada do setor. As maiores empresas de TI estão liderando o avanço do DevOps a fim de otimizar a operação da arquitetura de nuvem pública. O DevOps é baseado em uma combinação de pesquisa acadêmica em ciência da computação e desenvolvimento de software corporativo pelas equipes de programação profissionais. O DevOps oferece suporte às necessidades de todos os negócios referentes a economia de custos e maior eficiência nas operações de desenvolvimento e produção de software. Muitas startups também são pioneiras na metodologia de DevOps na prática de obter vantagem competitiva ou interromper mercados existentes. A adoção do DevOps é amplamente impulsionada pelos requisitos de programadores profissionais e administradores de sistemas que precisam criar soluções de pilha completa em hosts de nuvem pública.
Implantação e adoção do DevOps
A implantação do DevOps está aumentando em empresas corporativas. Já os métodos centralizados ou monolíticos de gerenciamento de projetos, como Spiral e Waterfall, estão diminuindo. O movimento em prol do DevOps está sendo liderado pela proliferação de microsserviços que organizações empresariais complexas precisam sustentar. A principal preocupação dos negócios iniciantes e corporativos é promover o desenvolvimento de software mais rapidamente e com mais segurança. As metodologias do DevOps permitem que as empresas introduzam novas alterações de código na produção rapidamente ou corrijam falhas de segurança sem interromper os serviços on-line existentes. As empresas buscam maximizar o retorno gerado pela migração do data center em nuvem com técnicas de DevOps na implantação de aplicativos da Web/dispositivos móveis em escala para dar suporte a marcas, produtos e outros serviços em sites de comércio eletrônico ou por meio de requisitos de publicação no setor de mídia. As empresas de produção industrial e as empresas de telecomunicações adotam o DevOps para uma melhor cooperação entre os membros de grandes equipes de programação e suporte a produtos e serviços.
Soluções, produtos e recursos relacionados ao DevOps da VMware
O que é infraestrutura hiperconvergente?
A infraestrutura hiperconvergente (HCI, Hyperconverged Infrastructure) é uma infraestrutura definida por software com dimensionamento horizontal que converge serviços de dados essenciais em servidores padrão do setor com tecnologia flash. Saiba mais
O que é armazenamento definido por software?
O armazenamento definido por software da VMware é uma arquitetura de data center de armazenamento simples e inteligente, que se alinha às demandas de negócios e aplicativos. Saiba mais hoje mesmo.
Data center definido por software: a base para a transformação digital
A VMware ajuda você a enfrentar os desafios das nuvens privadas e híbridas criando um data center definido por software (SDDC) mais simples e flexível. Avaliação gratuita.
Ferramentas e opções de implantação do ThinApp
Você pode implantar aplicativos obtidos usando ferramentas de implantação, em um compartilhamento de arquivos de rede, como arquivos executáveis básicos nas áreas de trabalho do usuário ou em um ambiente do VMware View.
Defina metas de monitoramento para as soluções do vRealize Operations Manager
Você pode criar uma política para uma solução de pacote de gerenciamento adicionada ao vRealize Operations Manager.