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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
Você pode criar uma política para uma solução de pacote de gerenciamento adicionada ao vRealize Operations Manager.