Jump to section

Introdução ao DevOps

Copiar URL

DevOps é uma abordagem de cultura, automação e design de plataforma que tem como objetivo agregar mais valor de negócio e aumentar a capacidade de resposta às mudanças por meio de entregas de serviços rápidas e de alta qualidade. Isso tudo é possível por meio da disponibilização de serviços de TI iterativa e rápida. Adotar o DevOps significa conectar aplicações legadas a uma infraestrutura e apps modernas e nativas em nuvem.

Capa do webinar sobre a transformação do DevOps

Comece sua transformação de DevOps com o Red Hat Training

A palavra "DevOps" é a combinação dos termos "desenvolvimento" e "operações". No entanto, ela representa um conjunto de ideias e práticas que ultrapassam o significado desses dois termos. O DevOps inclui segurança, maneiras colaborativas de trabalhar, data analytics e muitas outras práticas e conceitos. Mas do que se trata exatamente?

A metodologia DevOps descreve abordagens que ajudam a acelerar os processos necessários para levar uma ideia do desenvolvimento à implantação em um ambiente de produção no qual ela seja capaz de gerar valor para o usuário. Essas ideias podem ser uma nova funcionalidade de software, uma solicitação de aprimoramento ou uma correção de bug, entre outros. Essas abordagens exigem comunicação frequente entre as equipes de desenvolvimento e operações, trabalho colaborativo e empatia com os demais membros das equipes. Também são necessários provisionamento flexível e escalabilidade. Com o DevOps, quem precisa de recursos pode obtê-los por meio do self-service e da automação. Os desenvolvedores, que normalmente criam códigos em um ambiente de desenvolvimento padrão, trabalham em estreita colaboração com a equipe de operações de TI para acelerar a compilação de programas de software, a realização de testes e o lançamento de soluções, sem sacrificar a confiabilidade.

Obviamente, isso significa alterações mais frequentes no código e utilização mais dinâmica da infraestrutura. As estratégias tradicionais de gerenciamento não conseguem acompanhar esse tipo de demanda. Serão necessárias mudanças se você quiser uma vantagem competitiva.

 

Com os containers, é mais fácil migrar aplicações entre ambientes de desenvolvimento, teste e produção. Com os containers, os desenvolvedores podem empacotar e isolar apps com tudo que é necessário para executá-las, incluindo arquivos da aplicação, ambientes de runtime, bibliotecas dependentes e configurações.

A metodologia DevOps acelera a trajetória de uma ideia do desenvolvimento à implantação. Em sua essência, o DevOps depende da automação de tarefas operacionais rotineiras e da padronização dos ambientes envolvidos em todo ciclo de vida das apps. Com os containers, é possível estabelecer ambientes padronizados. No entanto, para gerenciá-los, você precisa de uma plataforma que também ofereça recursos de automação e seja compatível com qualquer infraestrutura. O Red Hat OpenShift é a plataforma empresarial de Kubernetes perfeita para suas iniciativas de DevOps.

Para funcionar, o DevOps depende de uma cultura de colaboração alinhada aos princípios open source, além de abordagens transparentes e ágeis. Participe da master class de cinco dias DevOps Culture and Practice Enablement (DO500) para saber como as abordagens ágeis e de DevOps estão interligadas.

A abordagem de projetos de software open source pode ser um blueprint sobre como criar uma cultura de DevOps. Compartilhar informações livremente é a abordagem padrão para a colaboração em comunidades open source. Essa prática implementa mudanças culturais, como o incentivo à transparência na tomada de decisões e à experimentação sem medo de falhas, além da implantação de um sistema de recompensas que impulsiona a confiança e a colaboração. Muitas organizações buscam serviços de consultoria em transformação digital que ofereçam suporte a esses tipos de iniciativas.

Com a liderança e os programas de incentivo certos, as equipes de desenvolvimento e operações podem contribuir para viabilizar a adoção da cultura aberta. No entanto, o DevOps é mais eficiente quando essa cultura já está disseminada pela empresa. É claro que o nome se refere aos termos “desenvolvimento” e “operações”, mas o DevOps serve para todos.

A cultura da Red Hat é baseada em relações abertas e transparência. E tem funcionado para nós há mais de 25 anos. Nossa experiência nos possibilita ajudar os clientes a tornarem a abordagem aberta e a cultura do DevOps uma realidade em suas empresas.

Temporada 1, episódio 4: DevOps_Tear Down That Wall (Derrube esse muro)

Ouça Saron Yitbarek, Scott Hanselman e Gordon Haff falarem sobre a cultura, o processo, as plataformas e ferramentas de DevOps neste vídeo do podcast Command Line Heroes

O desenvolvimento de aplicações modernas exige abordagens diferentes daquelas usadas no passado. Muitas equipes usam abordagens ágeis para o desenvolvimento de aplicações. Para essas equipes, DevOps não é algo que deve ser deixado para depois. Na verdade, a "satisfação do cliente por meio da entrega antecipada e contínua de aplicações" é o primeiro dos 12 princípios do Manifesto Ágil. É por isso que a abordagem de integração e implantação contínuas (CI/CD) é muito importante para as equipes de DevOps.

Mas apenas mudar seus processos de desenvolvimento e operações não é suficiente. Será necessário aplicar o pensamento sistêmico para otimizar de fato a maneira como é feita a entrega de aplicações. Isso significa que o DevOps levará a mudanças nas unidades de negócios que solicitam trabalho de desenvolvimento e nos grupos que dão suporte aos usuários finais. Um ciclo contínuo de feedback dos usuários finais é essencial para os negócios.

O processo precisará evoluir para além de uma mera mudança em COMO o trabalho é feito. É inevitável que O QUE você faz também mude. O DevOps não se limita a apenas acelerar a criação daquelas mesmas aplicações monolíticas ultrapassadas. Ele tem como objetivo criar novos tipos de aplicações compatíveis com o ritmo da entrega contínua.

É por isso que as equipes de DevOps, muitas vezes, criam aplicações usando uma arquitetura de microsserviços, conectando os serviços por meio de APIs. As equipes aceleram a entrega ao focar na criação de partes menores da funcionalidade. Assim, elas podem se concentrar no gerenciamento desses serviços e APIs, bem como adotar uma estratégia – como a integração ágil, por exemplo – para unir todos os elementos.

Fazer essas mudanças pode exigir muito esforço. No entanto, com a tecnologia certa, é possível começar imediatamente. A automação ajuda a acelerar processos e, eventualmente, permite a migração de cargas de trabalho DevOps para a nuvem. A automação possibilita que uma infraestrutura resista às constantes mudanças de código do DevOps, e que os ambientes sejam escalonados continuamente com facilidade. Com a automação de tarefas repetitivas e triviais, seus funcionários mais especializados se concentram no que é mais importante.

Uma evolução mais recente do processo do DevOps foi a apresentação de uma engenharia de plataforma. Ao priorizar a empatia e a jornada do usuário, a engenharia de plataforma como estratégia expande o DevOps. Isso permite encontrar maneiras mais eficazes de automatizar a entrega de aplicações, melhorar a colaboração e a comunicação, reduzir erros, aumentar a segurança e a conformidade, incrementar a eficiência e, mais importante, redirecionar as principais habilidades dos desenvolvedores para onde elas são mais necessárias. 

 

É comumente sugerido que o DevOps entra em conflito com uma abordagem ITIL para gerenciamento de serviços de TI (ITSM), mas esse pensamento binário exclui boa parte da história.

Selecionar as ferramentas que servirão de base para os seus processos é essencial para o sucesso do DevOps. Para as operações acompanharem os rápidos ciclos de desenvolvimento, elas precisarão usar plataformas muito flexíveis e cuidar da infraestrutura da mesma forma que as equipes de desenvolvimento cuidam do código. Implantações manuais são lentas e sujeitas a erros.

É possível simplificar o provisionamento e a implantação da plataforma por meio da automação. A engenharia de confiabilidade de sites (SRE) usa software e automação para gerenciar as tarefas manuais de operações. Portanto, adotar a abordagem de SRE é uma maneira de avançar os objetivos da equipe de DevOps.

O Red Hat OpenShift oferece às equipes do DevOps, aos engenheiros de plataforma e engenheiros de confiabilidade de sites (SREs) as funções e os recursos que são compatíveis com CI/CD, segurança integrada, arquitetura de segurança de confiança zero e requisitos de conformidade organizacional. Quando combinado com o Red Hat Developer Hub, o OpenShift oferece às equipes de engenharia as ferramentas importantes para criar e gerenciar uma plataforma de desenvolvedor interna (IDP). Além disso, as equipes podem criar templates de projetos, documentações e fluxos de trabalho necessários para desenvolver melhores práticas.

A abordagem de DevOps é ideal para os containers Linux®, o que dá à sua equipe a tecnologia subjacente necessária para o desenvolvimento nativo em nuvem. Os containers são compatíveis com um ambiente unificado para desenvolvimento, entrega, integração e automação.

O Kubernetes é o meio mais moderno de automatizar as operações de containers Linux. Ele possibilita o gerenciamento fácil e eficiente dos clusters que executam containers Linux em nuvens públicas, privadas e híbridas. 

Escolher plataformas confiáveis, dentro e fora dos containers, como o Red Hat® Enterprise Linux e o Red Hat OpenShift®, dá a certeza de que não haverá falhas de escala e automação quando forem mais necessários. Com as plataformas certas, você aproveita ao máximo as mudanças que implementou na cultura e nos processos.

 

 

 

Uma dos principais resultados obtidos com a implementação do DevOps é o pipeline de integração e implantação contínuas (CI/CD). Com as práticas de CI/CD, é possível disponibilizar apps para os clientes com maior frequência e validar a qualidade delas com o mínimo de intervenção humana.

Mais especificamente, essas práticas implementam monitoramento e automação contínuos ao longo de todo ciclo de vida das aplicações, desde as etapas de teste e integração até as fases de entrega e implantação. Assim, é possível identificar e corrigir problemas e defeitos rapidamente. Juntas, essas práticas relacionadas são muitas vezes chamadas de "pipeline de CI/CD" e são compatíveis com o trabalho conjunto das equipes de operações e desenvolvimento com métodos ágeis.

Icon-Red_Hat-Media_and_documents-Quotemark_Open-B-Red-RGB Nós usamos o [Red Hat Enterprise Linux] principalmente para automação. Por exemplo, ela pode me ajudar a implantar aplicações. Pretendemos fazer entrega e implantação contínuas. Para isso, usamos esta solução.

Reviewer1779945

Para se manter competitivo no mercado atual, é necessário muito mais do que uma tecnologia de ponta. Avalie a maturidade da sua empresa em termos de cultura, processo e plataforma e saiba quais são os próximos passos a seguir no caminho para a transformação digital.

 

Como mencionado anteriormente, a metodologia DevOps não envolve apenas as equipes de desenvolvimento e de operações. Para aproveitar todos os benefícios da abordagem DevOps, as empresas devem considerar qual é o papel da segurança no ciclo de vida das aplicações. Essa mentalidade levou à criação do termo DevSecOps, que enfatiza a necessidade de se pensar sobre a segurança da fase do planejamento em diante. 

Ao adotar princípios de segurança shift left e shift right, as equipes são capazes de avaliar e garantir a qualidade e o desempenho de soluções e funções em todo o processo do DevOps, concentrando-se nos métodos contínuos de testagem. Esses métodos costumam ser automatizados com o objetivo de oferecer recursos de segurança intuitivos capazes de reduzir erros de usuário nos estágios de criação e implantação, além de proteger as cargas de trabalho no runtime. 
 

 

 

 

Imagem de capa do ebook

Mais informações sobre cultura e prática de DevOps com OpenShift

Mais informações

Artigo

O que é DevSecOps?

Se você quiser aproveitar ao máximo a agilidade e a capacidade de resposta do DevOps, a equipe de segurança da TI precisará participar de todo o ciclo de vida das suas aplicações.

Artigo

O que é CI/CD?

A prática de CI/CD aplica monitoramento e automação contínuos a todo o ciclo de vida das aplicações, desde as etapas de teste e integração até a entrega e a implantação.

Artigo

O que é a engenharia de DevOps?

A engenharia de DevOps abrange uma combinação única de habilidades e conhecimento especializado para promover mudanças em termos de colaboração, inovação e cultura dentro da empresa.  

Leia mais sobre DevOps

Soluções Red Hat

Um programa de residência imersiva com especialistas da Red Hat, no qual você aprende a usar uma metodologia ágil e ferramentas open source para solucionar problemas empresariais.

Os consultores estratégicos da Red Hat fornecem uma visão geral da sua organização, analisam os desafios e ajudam a superá-los com soluções abrangentes e econômicas.

Conteúdo adicional

Checklist

Automação empresarial com uma metodologia DevOps

Whitepaper

Otimize pipelines de CI/CD com o Red Hat Ansible Automation Platform