Jump to section

Introdução ao DevOps

Copiar URL

A metodologia DevOps é uma abordagem de cultura, automação e design de plataforma que tem como objetivo agregar mais valor aos negócios e aumentar sua 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 aplicações modernas e nativas em nuvem.

DevOps transformation webinar cover

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, análise de dados 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 um novo recurso 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, aqueles que mais precisam de recursos conseguem obtê-los por meio do autosserviço 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.

 

A metodologia DevOps acelera a trajetória de uma ideia do desenvolvimento à implantação. Fundamentalmente, o DevOps depende da automação de tarefas operacionais rotineiras e da padronização dos ambientes envolvidos em todo ciclo de vida das aplicações. 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 4 é 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 processos diferentes das abordagens do 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/DI) é 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. Um estudo da IDC1 constatou que 85% dos líderes de TI consideram a automação uma tecnologia essencial para a estratégia de DevOps adotada por eles. Isso se deve ao fato de que a automação permite que a infraestrutura ofereça suporte às constantes alterações no código geradas pela metodologia DevOps. Além disso, ela permite que os ambientes sejam escalados continuamente com facilidade. Com a automação de tarefas repetitivas e triviais, seus funcionários mais especializados se concentram no que é mais importante.

Nossos especialistas podem ajudar sua organização a desenvolver as práticas, ferramentas e a cultura necessárias para modernizar e criar aplicações de forma mais eficiente.

1 IDC (março de 2018). Automação, DevOps e as demandas de um mundo multicloud. Com base em https://www.redhat.com/cms/managed-files/cm-idc-automation-devops-demands-multicloud-world-f10589-201803-en.pdf

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.

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 aplicações com tudo que é necessário para executá-las, incluindo arquivos da aplicação, ambientes de execução, bibliotecas dependentes e configurações.

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 escalonamento 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 aplicações 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.

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. Isso significa pensar na segurança central, da fase de planejamento em diante. Também significa automatizar algumas funcionalidades de segurança para impedir a desaceleração do fluxo de trabalho de DevOps. Selecionar as ferramentas certas para integrar segurança pode ajudar você a alcançar seus objetivos de segurança de DevOps.

No entanto, uma segurança DevOps eficaz requer mais do que ferramentas novas: ela deve ser construída a partir das mudanças culturais geradas pelo DevOps e se integrar ao trabalho das equipes de segurança o quanto antes. O DevOps acelera os processos ao aproximar as equipes de desenvolvimento e de operações. No entanto, essa agilidade pode ser prejudicada por um planejamento de segurança ineficiente.

Antigamente, a segurança era responsabilidade exclusiva de uma equipe isolada e incluída de qualquer jeito apenas no estágio final do desenvolvimento. No framework colaborativo do DevOps, a segurança é uma responsabilidade compartilhada e integrada desde o início.

 

 

Leia mais

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

Quem é o engenheiro de DevOps?

O engenheiro de DevOps é um profissional que reúne uma combinação única de habilidades e tem o 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

Red Hat Open Innovation Labs

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.

Red Hat Consulting

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

Illustration - mail

Quer receber mais conteúdo deste tipo?

Cadastre-se para receber a nossa newsletter Red Hat Shares.