Para a fase de modernização de aplicativos do projeto, a FlowFactor usou três componentes principais para transformar os aplicativos da empresa de trânsito em arquiteturas modulares e em contêineres:
- O software IBM Transformation Advisor fez a varredura dos aplicativos e das configurações e recomendou etapas para modernizar os aplicativos do WebSphere Application Server tradicional para o tempo de execução leve e nativo de cloud do IBM WebSphere Liberty em contêineres. Embora o número de etapas por aplicativo tenha criado a impressão de que a tarefa seria grande e assustadora, a FlowFactor usou sua experiência para identificar o código que muitos dos aplicativos tinham em comum, possibilitando a reutilização.Assim, depois de modernizar o primeiro aplicativo, o restante exigiu relativamente pouco trabalho.
- O IBM WebSphere Liberty proporcionou um tempo de execução de aplicativos leve, ideal para a execução dos aplicativos modernizados em um ambiente de cloud híbrida e conteinerizado.(O Transformation Advisor, o WebSphere Liberty e o WebSphere tradicional estão todos disponíveis no IBM WebSphere Hybrid Edition.)
- A plataforma Red Hat® OpenShift® (link externo à ibm.com) e o Open Liberty Operator ofereceram automação de implementação e orquestração de contêineres, agilizando a automação dos fluxos de trabalho entre ambientes de desenvolvimento, teste e produção.
A FlowFactor também redesenhou o pipeline de construção do cliente, criando processos padronizados e reutilizáveis.A partir daí, a equipe aplicou o Jenkins, um software livre de automação de ponta a ponta, desde os processos iniciais de criação até a implementação da produção.Graças à nova arquitetura do app, o software Jenkins pode automatizar a mudança do código conteinerizado em todo o ciclo de vida do software.
Mas tudo isso foi apenas parte do projeto.
Na área de transporte público, convencer as pessoas de que sua ideia é viável é a parte simples.A modernização de aplicativos pode ser a parte mais difícil.Uma coisa é implementar tecnologia que automatiza processos, outra é fazer com que as pessoas adotem melhorias em seu trabalho para aproveitar ao máximo o valor da automação.
A FlowFactor precisou ajudar a empresa de transporte a mudar sua cultura para aceitar a automação e adotar práticas de DevOps.
"Definitivamente, em clientes grandes e governos mais tradicionais, é um assunto bastante sensível", explica Niemegeerts.Engenheiros e outros profissionais especializados nos processos existentes levantam questões sérias: Será que as mudanças mais drásticas podem interferir em aspectos que funcionam bem?Será que os empregos serão simplesmente automatizados?
"O ponto principal", diz Niemegeerts, "é que precisamos encontrar um equilíbrio entre automatizar e continuar a envolver os engenheiros mais antigos e explicar a eles o que vai permanecer igual.Nós mostramos a eles que seus empregos nunca serão realmente substituídos, apenas passaram por mudanças.A parte mais importante é: eles serão responsáveis pela parte mais interessante do seu trabalho com mais frequência e não pelas tarefas repetitivas.Estamos usando o tempo deles para que possam solucionar problemas, pesquisar e inovar mais".
Niemegeerts continua: "Assim que começarmos a entregar as primeiras propostas de aplicativos modernizados, será possível observar seus benefícios.Eles poderão observar que o tempo de implementação será mais rápido e causará menos impacto.Não será mais necessário definir longas janelas de manutenção para implementar um novo aplicativo".
E o DevOps se torna a maneira de aproveitar ao máximo os processos mais rápidos e flexíveis.É aqui que as equipes previamente isoladas descobrem como equilibrar suas responsabilidades e a colaborar de forma mais eficiente e ágil.Como Janssen explica: "No passado, a disponibilidade de aplicativos era responsabilidade da equipe de infraestrutura.Agora, quando a equipe de infraestrutura percebe que a equipe de desenvolvimento está assumindo a responsabilidade de proporcionar estabilidade para a produção, não apenas novos recursos, acontece a mudança de mentalidade e o processo realmente começa, assim como a entrega de novos aplicativos".
Com relação à área de desenvolvimento, Janssen afirma "A equipe de desenvolvimento ganha mais autonomia.Eles agora podem implementar quando quiserem e em qualquer um de seus ambientes".