Visão geral
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.
Etapas do ALM
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.
Recursos da Red Hat
Ferramentas de gerenciamento do ciclo de vida de aplicações
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
Tecnologia empresarial para suporte ao ALM
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.
Blog da Red Hat
Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.