O termo DevOps, uma contração de desenvolvimento e operações, representa uma nova maneira de trabalhar para entregar aplicativos corporativos usando metodologias de desenvolvimento Agile.
O DevOps transfere a responsabilidade por algumas das funções operacionais de TI para as equipes de desenvolvimento, permitindo-lhes criar, desenvolver, corrigir e implantar aplicativos de maneira rápida, normalmente sem a necessidade de qualquer interação com as equipes de operações.
Para entregar um ambiente Agile ou DevOps, a maneira como os recursos, incluindo armazenamento, são consumidos e implantados, muda para uma abordagem mais focada na nuvem.
O desenvolvimento de DevOps depende da agilidade da infraestrutura de TI para fornecer recursos para a criação e implantação de aplicativos conforme necessário
Portanto, os desenvolvedores esperam certos recursos de uma infraestrutura DevOps que são diferentes da maneira como a comunidade de desenvolvedores trabalhava no passado. Normalmente, essas diferenças incluem o seguinte:
Disponibilidade de recursos sob demanda
Recursos de infraestrutura disponíveis sob demanda para consumo quando necessário no processo de desenvolvimento. Isso pode significar, por exemplo, a capacidade de criar um novo ambiente de desenvolvimento, completo com dados iniciais, com base em componentes de contêiner e máquina virtual (VM).
Automação e fluxo de trabalho
Ambientes de desenvolvimento construídos sob demanda e para que o processo de construção seja o mais automatizado possível. Na maioria dos casos, uma estrutura de desenvolvimento de aplicativo será construída a partir de um modelo mestre usado para implantar o aplicativo e conter os componentes necessários para ele (por exemplo, servidor de banco de dados, servidor da web e assim por diante).
Escala e transitoriedade
Os desenvolvimentos de DevOps geralmente usam vários ambientes para testar muitas alterações de aplicativos ao mesmo tempo. Cada desenvolvedor pode precisar de um ambiente próprio, mas só precisa dele por um curto período de tempo. Isso significa que os ambientes DevOps devem fornecer a capacidade de ativar um aplicativo e destruí-lo com eficiência regular.
Suporte para VMs e contêineres
Quase todos os processos DevOps dependem do desenvolvimento de aplicativos dentro de VMs ou como instâncias de contêiner. As plataformas de armazenamento que oferecem VM nativa e suporte a contêiner fornecem uma experiência mais fácil de gerenciamento e integração.
O uso de DevOps como metodologia introduziu uma gama de novas ferramentas e estruturas para a implementação de um processo de desenvolvimento contínuo. Isso inclui sistemas de gerenciamento de lançamento, ferramentas de orquestração, e, é claro, estruturas de virtualização. Estamos começando a ver essas plataformas integrarem armazenamento a fim de fornecer o grau de automação e segurança necessário para o desenvolvimento contínuo.
Além disso, devemos também reconhecer que a nuvem pública representa uma grande parte no DevOps, com plataformas oferecendo a capacidade de criar e destruir ambientes de desenvolvimento com muita facilidade.
O armazenamento é normalmente gerenciado pela plataforma de nuvem e não exposto ao desenvolvedor. Um problema com o uso da nuvem pública para desenvolvimento contínuo é a capacidade de propagar ambientes com dados de teste.
Tecnologias de armazenamento
A ascensão do DevOps viu o surgimento de novas tecnologias de armazenamento que oferecem recursos específicos apropriados para o desenvolvimento Agile. Isso inclui o seguinte:
-
Hiperconvergência
O armazenamento é fornecido a partir do mesmo hardware físico usado para executar aplicativos (em um hipervisor ou como contêineres).
O software de gerenciamento de hiperconvergência oculta a visão do armazenamento e remove o trabalho de gerenciamento associado ao provisionamento do armazenamento para novas instâncias e contêineres de VM.
Um produto hiperconvergente torna o processo DevOps mais fácil porque o foco está na criação de objetos lógicos como instâncias de VM, em vez de gerenciamento de recursos físicos.
-
Armazenamento secundário com reconhecimento de VM
O termo armazenamento secundário se aplica a todos os dados armazenados por uma empresa para uso fora da produção, incluindo backups e arquivamento.
Os fornecedores de hardware de armazenamento aproveitaram a oportunidade para usar interfaces de backup de VM para construir sistemas que implementam proteção de dados para produtos baseados em disco que podem ser usados para outros fins que não backup e restauração.
A natureza flexível de uma imagem de VM permite clonar VMs e aplicativos inteiros de imagens de backup e executá-los diretamente da plataforma de armazenamento secundária, economizando na construção de um ambiente DevOps separado.
-
Armazenamento definido por software
O SDS evoluiu das primeiras plataformas para separar o software de armazenamento de controlador duplo tradicional do hardware.
Hoje, há muitas ofertas de SDS escaláveis para bloco, arquivo e objeto. Muitos deles também são de código aberto e podem ser implantados de forma relativamente barata usando hardware comum.
Em ambientes de desenvolvimento não focados em altos níveis de desempenho, um produto de armazenamento “autoconstruído” pode oferecer economias significativas em relação à compra de hardware de um fornecedor.
Construir ou comprar?
Em resumo, o requisito de armazenamento em um ambiente DevOps segue o caminho que está sendo criado pela nuvem privada. O armazenamento está se tornando menos visível, com a automação fazendo o trabalho feito anteriormente pelos administradores de armazenamento, removendo o fator humano do consumo de recursos.
O armazenamento tradicional é provavelmente a opção menos atraente para ambientes DevOps, com produtos modernos de scale-out que oferecem alternativas mais atraentes.
Você também pode optar por construir em vez de comprar, o que oferece economias de custo significativas em relação ao hardware do fornecedor. Os produtos de código aberto, por sua vez, podem reduzir o custo geral e, com o ritmo de desenvolvimento de recursos, ser uma boa combinação para o mantra DevOps de desenvolvimento contínuo.
Sobre a Service IT
Tecnologia é a nossa especialidade! Integradora de soluções e serviços de TI desde 1995, a Service IT possui uma equipe de profissionais altamente treinados e capazes de atender as demandas de tecnologia da sua empresa. E por isso, se responder a perguntas como a que foi feita ainda é um desafio para sua empresa, entre em contato agora mesmo!
A Service IT é especializada em outsourcing e consultoria de tecnologia. Distribuída através de escritórios em Porto Alegre, Curitiba, São Paulo, Rio de Janeiro, Buenos Aires e Santiago, a empresa possui estrutura preparada para atender toda a América Latina. Com um Centro de Operações próprio, a Service IT monitora e gerencia o ambiente de TI de seus principais clientes com foco em infraestrutura, managed services, cloud e segurança.