Login / Registre-se Account

Tópico

Introdução ao DevOps

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. Tudo isso é possível por meio da disponibilização de serviços de TI rápidos e iterativos. Adotar o DevOps significa conectar aplicações legadas a uma infraestrutura e aplicações modernas e nativas em nuvem.

Jump to section

Mas o que é DevOps mesmo?

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. Escalabilidade e provisionamento flexível também são necessários. 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 de gerenciamento tradicionais não dão conta desse tipo de demanda. Serão necessárias mudanças se você quiser uma vantagem competitiva.

O que os containers têm a ver com o DevOps?

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.

Cultura, processo e plataformas

Cultura

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 é uma referência sobre como criar uma cultura de DevOps. Compartilhar informações sem restrições é a abordagem de colaboração padrão das 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.

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 sido assim por 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.

Ouça Saron Yitbarek falar sobre isso neste trecho do podcast Command Line Heroes (em inglês)

Cultura de DevOps

Processo

O desenvolvimento de aplicações modernas requer processos diferentes daqueles adotados no passado. Muitas equipes usam abordagens ágeis para o desenvolvimento de aplicações. Para essas equipes, o DevOps não é uma ideia secundária. 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.

No entanto, mudar apenas os processos das equipes de desenvolvimento e operações não é 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 resultará em mudanças nas unidades de negócios que solicitam trabalho de desenvolvimento e nos grupos que fornecem suporte aos usuários finais. O ciclo contínuo de feedback dos usuários finais para a empresa é um fator fundamental.

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. Obtido de https://www.redhat.com/cms/managed-files/cm-idc-automation-devops-demands-multicloud-world-f10589-201803-en.pdf

Ouça Scott Hanselman falar sobre isso neste trecho do podcast Command Line Heroes (em inglês)

Automação de DevOps

Plataformas e ferramentas

Selecionar as ferramentas que servirão de base para os seus processos é essencial para o sucesso do DevOps. Para que as equipes de operações acompanhem o ritmo dos ciclos rápidos de desenvolvimento, será necessário usar plataformas altamente flexíveis e tratar a infraestrutura da mesma maneira que as equipes de desenvolvimento tratam o 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 uso de containers facilita a migração de aplicações entre os 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.

Ouça Gordon Haff falar sobre isso neste trecho do podcast Command Line Heroes (em inglês)

Plataforma de DevOps

DevOps e Kubernetes

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.

Com o DevOps, é possível escalar por meio da implantação contínua

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 às 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.

A sua equipe está pronta para inovar?

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.

DevOps e segurança

Como mencionamos anteriormente, o 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 refletir sobre a segurança básica desde a fase de planejamento. Isso também significa automatizar alguns recursos de segurança para evitar a desaceleração do fluxo de trabalho DevOps. Selecionar as ferramentas certas para integrar a segurança pode ajudar a sua empresa a alcançar as metas de segurança do 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.

As ferramentas de DevOps que você precisa

Red Hat Ansible Automation

O Red Hat Ansible® Automation Platform é uma tecnologia de automação de TI simples e sem agentes, capaz de aprimorar processos em uso, migrar aplicações para melhor otimização e fornecer uma linguagem unificada para todas as práticas de DevOps dentro da empresa.

Red Hat OpenShift

Desenvolva, implante e gerencie containers em qualquer ambiente e escala.

Treinamentos em DevOps ajudam você alcançar o sucesso

Trajetória

Programa de ensino do treinamento em DevOps

Dos fundamentos básicos da automação com o Ansible à administração do Red Hat® Openshift Container Platform e muitos outros tópicos importantes, temos um caminho elaborado para treinar e validar suas habilidades para migrar do desenvolvimento para a implantação. Em nossos cursos, você aprenderá como usar ferramentas, como o Docker, o Kubernetes e o Puppet, junto com a tecnologia Red Hat para que as suas equipes aproveitem todos os benefícios oferecidos pelo DevOps.

Infográfico

"Treine e teste o DevOps com a Red Hat”

Ao combinar o conteúdo dos treinamentos, que é baseado nos casos de uso de nossos clientes, e a validação das habilidades dos profissionais por meio de exames de certificação hands-on, o Red Hat Training and Certification ajuda as empresas e os indivíduos a acelerar o 'time to market', reduzir as taxas de falhas nas versões e encurtar o tempo de provisionamento entre correções. Este infográfico destaca o programa de ensino do curso voltado para o treinamento e testes em DevOps com o uso das tecnologias da Red Hat.

Você pode fazer muito mais com o DevOps