Publicidade
Economize: canal oficial do CT Ofertas no WhatsApp Entrar

A importância da integração ágil

Por| 06 de Abril de 2019 às 14h30

Link copiado!

DepositPhotos/Elnur_
DepositPhotos/Elnur_

O sucesso nos negócios depende cada vez mais da capacidade de reagir à mudança. À medida que novos players disruptivos entram nos mercados e a tecnologia oferece soluções que os consumidores esperam, as organizações precisam estar mais preparadas e ser mais capazes de mudar os planos, em ciclos mais curtos, do que nunca.

No final do século passado (década de 90) houve um grande hype no mercado sobre a arquitetura SOA: que prometia integração flexível, serviços reaproveitáveis e governança. Infelizmente a maioria esmagadora dos projetos feitos nessa época acabaram em fracasso: softwares proprietários caríssimos, com implementação extremamente complexa e igualmente cara que, depois de anos de implementação, não atingiam os objetivos prometidos; nem de governança, nem de flexibilidade de integração, e grandes problemas de escalabilidade ocorreram pela própria arquitetura centralizada que era adotada naquela época. A palavra SOA hoje em dia é mal vista, pois remete à arquitetura antiquada, cujo legado é de fracasso.

As necessidades do mercado atual exigem uma abordagem diferente da centralizada, que proporcione não somente novas soluções, mas que consiga ampliar de maneira substancial a quantidade de componentes de qualquer aplicação. Os containers atendem esta expectativa, já que podem ser reaproveitados em diversas outras aplicações. Mas tão importante quanto endereçar essas questões é tornar os componentes visíveis uns aos outros, ou seja, integrá-los com a máxima eficiência. E existem várias formas de realizar essa integração.

Para despontar em seus mercados diante da transformação digital, uma nova abordagem arquitetônica chamada integração ágil reúne três recursos importantes que potencializam novos processos e criam vantagens competitivas.

Continua após a publicidade

O primeiro deles é a integração distribuída: por meio dela, algumas dezenas de padrões de integração de alto nível refletem o trabalho corporativo e os fluxos de dados. Quando esses padrões de integração são implantados em containers, os padrões de integração podem ser implantados na escala e no local necessários para aplicativos e equipes específicas. Essa é uma arquitetura de integração distribuída, em vez da tradicional arquitetura de integração centralizada, e permite que equipes individuais definam e implementem os padrões de integração que precisam com agilidade e, tão importante quanto, com a eliminação do gargalo criado pela centralização, permite uma escalabilidade impensável no modelo antigo. Vemos hoje em dia no mercado várias empresas sofrendo com as arquiteturas centralizadas obsoletas e precisando migrar para um barramento mais leve, flexível, elástico e não-proprietário.

APIs (API é uma maneira de representar um serviço de negócios como uma interface programável): APIs estáveis ​​e bem gerenciadas têm um efeito enorme na colaboração entre equipes, no desenvolvimento e nas operações. As APIs envolvem os principais recursos em interfaces estáveis ​​e reutilizáveis, permitindo que essas interfaces funcionem como blocos de construção para reutilização em toda a organização, com parceiros e com clientes. As APIs podem ser implementadas em conjunto com containers em diferentes ambientes, permitindo que diferentes usuários interajam com diferentes conjuntos de APIs. As APIs permitem que tenhamos um nível de integração que extrapola o datacenter: integram-se clientes e parceiros aos seus sistemas, permitindo um controle de acesso e até monetização, criando um novo modelo de negócio.

Containers: para as tecnologias de API e de integração distribuída, os containers funcionam como a plataforma de implantação subjacente. Os containers permitem que o serviço exato seja implantado em um ambiente específico de maneira fácil e consistente de desenvolver, testar e manter. Como os containers são a plataforma dominante para ambientes de DevOps e microsserviços, o uso de containers como sua plataforma de integração permite um relacionamento muito mais transparente e colaborativo entre as equipes de desenvolvimento e infraestrutura. A característica de elasticidade que as plataformas de container provêm faz com que os recursos sejam alocados sob demanda, atendendo os requisitos de performance que integrações com transformações complexas demandam e, depois do pico de utilização, retorna os recursos para que sejam utilizados em outros sistemas.

Essas três tecnologias tornam a infraestrutura de TI mais ágil porque cada uma delas aumenta o nível de abstração em que equipes diferentes conseguem trabalhar juntas. O uso de uma plataforma de container com APIs e integrações distribuídas abstrai a implementação da integração. Dessa forma, as equipes podem ser mais ágeis, uma vez que as APIs e os padrões de integração distribuída empacotam ativos específicos em um nível que pode ser amplamente entendido - sem ter que entender ou alterar a infraestrutura subjacente.

Continua após a publicidade

Individualmente, cada uma dessas tecnologias fornecerá agilidade significativa para desafios específicos de integração. Quando usados ​​juntos, eles proporcionam um efeito multiplicador. Um dos aspectos que ressaltam a tecnologia é a cultura: os benefícios da tecnologia são aumentados quando combinados com as práticas de DevOps, especialmente os processos de automação e implantação.

Embora algumas empresas ainda negligenciem o estágio de assimilação e incorporação desses recursos, a integração ágil é um componente fundamental para transformação digital. A partir dela é possível resolver problemas no mercado com integrações anteriores que não funcionam mais em vários níveis, entre aplicações, clientes, parceiros e colaboradores.

A grande vantagem na integração ágil baseada em open source é o trabalho conjunto de várias empresas colaborando para evoluir a plataforma. Por meio dela, é possível criar conectores que normalmente as aplicações proprietárias não endereçam, uma vez que há quase sempre equipes bastante reduzidas para o desenvolvimento de uma determinada solução. As empresas open source levam muito a sério a adoção e manutenção de interfaces e protocolos abertos permitindo que, ao adotar uma plataforma de integração, uma empresa não fique presa (lock-in) tecnologicamente nem comercialmente com o fornecedor de software.

Para soluções de integração, o open source tem um potencial muito maior do que as soluções proprietárias, especialmente pela maior abertura e pela forma com que permite o desenvolvimento de conectores a outras plataformas e tecnologias. Os princípios fundamentais para o desenvolvimento de software se encontram no Manifesto Ágil. Em uma infraestrutura ágil e baseada em integração, essas premissas podem ser aplicadas à estratégia de integração.

Continua após a publicidade

Indivíduos e interações sobre processos e ferramentas

Com infraestrutura, a discussão é focada nas interações entre as equipes. As interações incluem comunicação direta, regida por APIs, mensagens e padrões de tráfego; interdependências no nível de sistemas; e teste e processo de liberação, como pipelines de CI / CD.

Respondendo a mudanças em vez de seguir um plano

Este é um princípio em que a tecnologia apoia o processo. Para infraestrutura, os sistemas devem permanecer estáveis, mas novas tecnologias, como containeres, fornecem uma plataforma elástica. É possível adicionar e remover dinamicamente instâncias de acordo com a demanda, automatizar implantações e atualizações e orquestrar alterações em várias instâncias. As definições de API publicadas fornecem ferramentas reutilizáveis ​​para ajudar o desenvolvimento a ser mais consistente. Essa abordagem cria uma plataforma estável projetada para se adaptar à mudança.

Continua após a publicidade

Análise rápida e integrada com fontes de dados externas

Um ótimo exemplo de como a integração ágil pode ser realizada é o da Direção Nacional de Imigração da Argentina. A DNI precisava criar um banco de dados para acesso em tempo real, fácil de ser usado para uma análise rápida e integrada com fontes de dados externas. Tudo em um ambiente de dados de cloud privada, unificada e usando tecnologia open source. Como solução, a DNI decidiu usar a plataforma de gerenciamento e software de automação da Red Hat como base para seu novo banco de dados.

O Red Hat Fuse possibilitou uma integração flexível com diversas fontes de dados e com interfaces programáveis de aplicativos (API), ao passo que o Red Hat CloudForms proporcionou capacidades de controle de acesso. Por sua vez, o Red Hat Ansible Tower automatizou e simplificou essas conexões. Com isso, a DNI conseguiu integrar seus dados de maneira segura a outros grupos de inteligência nacionais e internacionais, a fim de garantir a precisão das análises, unir as diferentes fontes de dados em uma interface única e fácil de ser usada e melhorar a agilidade e os custos de TI, ao migrar de uma tecnologia proprietária para o open source.

A agilidade é um processo, não um projeto. Jamais foi tão importante para as organizações ser capaz de reagir a mudanças no mercado, e é responsabilidade dos sistemas de TI entregar essa capacidade de lançar novos serviços ou modernizar os existentes rapidamente. Repensar a infraestrutura de TI nunca foi tão necessário, uma vez que é o fundamento dos serviços digitais.

Continua após a publicidade

Os times de infraestrutura historicamente foram ligados a processos muitos longos e modulados por causa da necessidade de mitigar riscos e manter a estabilidade. Ainda assim, é possível mudar o mindset de infraestrutura de hardware, ou baseado em plataforma, para uma mentalidade baseada em integração. O aspecto cultural presente nas equipes é um dos pontos mais difíceis de se mudar mas, sem isso, será pouco efetivo apenas mudar as ferramentas. Afinal, a integração não é apenas um subconjunto de infraestrutura, mas uma abordagem conceitual para a infraestrutura, que inclui dados e aplicações com hardware e plataformas. Essa concepção é essencial para garantir uma rápida adaptação, elevando com sucesso o nível de abstração para que equipes diferentes consigam trabalhar juntas.