Jump to section

O que é o gerenciamento do ciclo de vida de aplicações (ALM)?

Copiar URL

O gerenciamento do ciclo de vida de aplicações (ALM) abrange as pessoas, as ferramentas e os processos que gerenciam o ciclo de vida de uma aplicação, desde o conceito até o fim do ciclo.

O ALM é composto por várias disciplinas que já foram separadas em processos de desenvolvimento legados, como o método de desenvolvimento em cascata. Elas incluem gerenciamento de projetos, gerenciamento de requisitos, desenvolvimento de aplicações, teste e controle de qualidade, implantação e manutenção.

Ao integrar essas disciplinas e permitir que as equipes colaborem de maneira mais eficiente na sua organização, o gerenciamento do ciclo de vida de aplicações possibilita as abordagens de desenvolvimento ágil e DevOps.

Além disso, a adoção do ALM promove a entrega contínua de aplicações e atualizações frequentes, como várias por dia, em vez de novas versões apenas a cada poucos meses ou uma vez por ano.

O gerenciamento do ciclo de vida de aplicações oferece um framework para desenvolvimento de aplicações e também ajuda você a gerenciar suas aplicações ao longo do tempo. As práticas de ALM seguem um plano pré-estabelecido simples e os requisitos para transformar uma ideia em uma aplicação.

Ao adotar uma abordagem de desenvolvimento de aplicações com ALM, é preciso considerar todo o ciclo de vida da aplicação. É necessário levar em conta a manutenção e as atualizações futuras, incluindo quando a aplicação será descontinuada e substituída.

Juntando essas informações, o ALM é capaz de oferecer implantações mais rápidas, maior visibilidade do fluxo de trabalho, produtos de melhor qualidade e maior satisfação do desenvolvedor.

O ALM ajuda a dar visibilidade ao processo de desenvolvimento. Como o processo é integrado, é possível acompanhar o progresso, ver as etapas que ainda precisam ser concluídas, o tempo que cada passo leva, quais testes já foram feitos e etc.

Governança da aplicação

A governança descreve as decisões tomadas sobre uma aplicação. Ao começar o processo de criação de uma nova aplicação, geralmente há uma ideia inicial, mas é importante levar em consideração como ela dialogará com os objetivos e necessidades da sua empresa.

Isso contribui para o estabelecimento dos requisitos da nova aplicação, que precisam ser definidos e acordados na etapa de governança.

Gerenciamento de recursos, dados e segurança e acesso dos usuários são outros componentes da governança da aplicação.

A padronização desses processos resulta na capacidade de automação da governança. E a automação agiliza a entrega de aplicações.

Desenvolvimento das aplicações

Depois que os requisitos da aplicação ou atualização forem definidos e acordados, é possível começar o desenvolvimento. As equipes que seguem a metodologia ágil talvez desenvolvam e implantem uma ou várias vezes por dia.

As etapas de design, criação, teste e implantação da aplicação podem ser consideradas parte da fase de desenvolvimento.

Teste das aplicações

Depois de desenvolvida, a nova aplicação precisará ser testada e será necessário corrigir bugs antes de passar para a etapa de produção.

Para equipes ágeis e de DevOps, o teste deve ocorrer simultaneamente ao desenvolvimento. O feedback deve ser passado para a equipe de desenvolvimento de maneira contínua.

A integração contínua deve fazer parte do processo de desenvolvimento para evitar que essas atualizações frequentes entrem em conflito.

O objetivo da etapa de testes é assegurar que os requisitos definidos pela governança foram atendidos e que a aplicação funciona corretamente antes de ser liberada para os usuários.

Operações e manutenção

Depois que os testes forem concluídos e os bugs corrigidos, a aplicação poderá ser implantada para os usuários.

É na etapa de operações e manutenção que o ALM se concentra no ciclo de vida completo de uma aplicação. As operações não terminam depois que uma aplicação é implantada. É preciso levar em conta a manutenção regular e as atualizações.

Também é preciso considerar a descontinuidade da aplicação ou do serviço como parte da manutenção. As equipes devem definir em que momento a aplicação não terá mais suporte ou uma nova versão será disponibilizada.

ALM x SDLC

Às vezes, há uma confusão entre o ALM e o ciclo de vida de desenvolvimento do software (SDLC), já que ambos lidam com o processo de desenvolvimento de aplicações. A principal diferença é que o SDLC se concentra principalmente na fase de desenvolvimento, enquanto o ALM se ocupa de todo o ciclo de vida da aplicação, desde o conceito até a manutenção e eventual desativação, e continua depois que a aplicação já foi desenvolvida.

O SDLC pode ser considerado parte do gerenciamento de ciclo de vida da aplicação, principalmente durante as etapas de desenvolvimento, teste e implantação. O ALM geralmente inclui vários ciclos de vida de desenvolvimento de uma determinada aplicação.

As ferramentas de ALM funcionam basicamente como ferramentas de gerenciamento de projeto que ajudam você a reunir pessoas e processos. Busque uma ferramenta que inclua controle de versões, a possibilidade de comunicação entre as equipes em tempo real, funcionalidades de gerenciamento de requisitos, planejamento de projetos e estimativas, gerenciamento de código-fonte e gerenciamento de testes.

Talvez você encontre todas as funcionalidades de que precisa em uma única ferramenta ou talvez seja necessário fazer integração com outras ferramentas, como as específicas do desenvolvedor. A ferramenta de ALM também deve ser compatível com o seu processo de desenvolvimento, seja ele ágil, em cascata, DevOps ou qualquer outro.

Exemplos de ferramentas de ALM:

  • Atlassian Jira
  • Soluções de ALM da IBM
  • CA Agile Central
  • Microsoft Azure DevOps Server
  • Tuleap
  • Basecamp

O ALM oferece suporte a uma abordagem DevOps, que é ideal para os containers Linux®. Os containers oferecem à sua equipe a tecnologia subjacente necessária para um estilo de desenvolvimento nativo em nuvem e oferecem suporte para um ambiente unificado de 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.

O Red Hat® OpenShift® é a plataforma Kubernetes pronta para empresas que oferece às equipes de operações e desenvolvimento uma plataforma e um conjunto de ferramentas comuns que servem como base para criação, implantação e gerenciamento de aplicativos em containers em qualquer infraestrutura. Assim, você pode atingir seus objetivos de ALM.

Leitura recomendada

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 faz 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.