A solução In-Memory Data Grid computing (IMDG) é cada vez mais utilizada por empresas para implantação de um recurso computacional rápido e robusto. Tendo sido anteriormente utilizado apenas por grandes companhias, como instituições financeiras e gigantes da internet, os custos da tecnologia, atualmente, foram reduzidos ao ponto que a solução pode servir de apoio à integração de aplicativos de empresas. Por quê? As soluções IMDGs oferecem recursos de clustering e failover ininterruptas, de fácil instalação; entrega de mensagens garantidas e recuperação de erros; escalabilidade elástica com processamento paralelo, o que significa que o aplicativo será executado mais rápido e com maior confiança.
Como funcionam
Basicamente, a tecnologia in-memory data grid utiliza a memória como uma área de armazenamento enquanto uma tarefa estiver sendo processada, em vez de gravá-la no disco. Essa funcionalidade baseia-se na tecnologia in-memory database tradicional a qual tem sido utilizada por vários anos, ao menos em mensagens de texto SMS.
O grid de dados leva a tecnologia um passo a frente, por meio da distribuição de dados e armazenamento em servidores, na qual cada servidor funciona em modo ativo. O modelo de dados é orientado ao objeto e não relacional, bem como necessita ser escalável a fim de manter os dados necessários na memória enquanto também os processa.
Os três desafios principais na criação de sistemas IMDG comercialmente viáveis eram a confiabilidade, capacidade e custo: o custo tem feito jus à redução inevitável dos preços de memórias; a escalabilidade elástica da solução IMDG e a arquitetura distribuída dão conta do desafio relacionado à capacidade; e o sistema utiliza a replicação para atender o desafio da confiabilidade. Além disso, o processamento unicamente na memória significa que um IMDG verdadeiro é mais rápido que um sistema de cachê. Quanto mais rápido? Considerando que um SSD com uma interface SATA possui uma taxa de transferência de dados de aproximadamente 500MB/s, um HDD possui cerca de 150MB/s, e mesmo o mais rápido SSD com uma conexão PCI Express pode alcançar somente 3.000MB/s, enquanto a RAM pode alcançar 20.000MB/s. Já que a transferência de dados é um afunilamento chave, a sua redução por meio de soluções IMDGs pode melhorar o tempo de processamento significativamente. A inclusão ao processamento de transações de baixa latência é uma funcionalidade de alta capacidade de paralelização, bem como um recurso para trabalhar diretamente com objetos de documento.
Por que é essencial
Recentemente, escrevemos sobre as razões do por que muitos projetos de integração falham antes mesmo de serem finalizados, mas igualmente problemático é o número de projetos que simplesmente não funcionam tão bem quanto o esperado ao serem disponibilizados para o uso. Muitos destes são ocasionados por um problema: as mensagens não são transmitidas entre os sistemas. Estes são os porquês de as soluções In-Memory Data Grids serem a forma ideal para garantir a transmissão de mensagens:
1) Transmissão de erros é coisa do passado
Se uma mensagem precisa ser transmitida do Sistema A para o Sistema B, é bastante fácil atribuir que o Sistema B está inoperante: o Sistema A recebe um aviso de falha e faz outra tentativa posteriormente. Presume-se ser necessário determinar como aquela mensagem estará em cachê para o reenvio, mas isso não representa algo problemático. Por outro lado, se Sistema A falha durante a transmissão da mensagem, esta será perdida.
Contudo, se o sistema de envio ou recebimento em grid falha, parte do grid envia a mensagem para a memória e a armazena até o sistema ser corrigido e estar pronto para o reenvio. Os recursos de gerenciamento de grid permitem saber quando o sistema está pronto. Como o clustering e o failover estão disponíveis a partir da instalação, o sistema possui confiabilidade integrada.
2) Escalabilidade elástica e resposta de failover para alteração de ambiente
É uma verdade que os sistemas de TI, que escalam, mudam ao longo do tempo, e isso pode resultar que o pipe de dados original não seja grande o suficiente para atender a demanda do sistema. Trabalhamos com um cliente que possuía uma integração bem sucedida e de longa execução entre os sistemas de ERP e CRM, a qual funcionava corretamente até que alguém adicionou a imagem do Google Maps em cada transação e, desse modo, aumentando consideravelmente o tamanho da transação, por conseguinte a máquina ficou com memória insuficiente e travou. A tecnologia IMDGs pode colocar em cache automaticamente as transmissões não enviadas, bem como pode conceder recursos adicionais que atendem aos aumentos repentinos de demanda. Os projetos de integração não são estáticos, dessa forma, é necessária uma solução dinâmica (“pipe”).
A disponibilidade alta é necessária para atender as expectativas atuais, de usuários e empresas, relacionadas à rapidez e desempenho consistente do aplicativo mesmo durante períodos de tráfego intenso e em picos de uso. Isso é resolvido pela escalabilidade elástica, permitindo que mais recursos de sistema sejam disponibilizados quando necessário, e pelo processamento paralelo executando tarefas de forma mais rápida e com confiabilidade.
3) Aumento do tamanho de transações e frequência
As transações de empresas e clientes estão se tornando maiores e mais frequentes, exigindo cada vez mais análises em tempo real das atividades. Como resultado, as operações de leitura/gravação estão se tornando afunilamentos, assim a capacidade de tecnologias IMDGs de desassociar dados de sistemas back-end para processamento e retenção, juntamente com a gravação assíncrona por trás de recursos, na qual o aplicativo pode continuar a funcionar enquanto as alterações são preenchidas posteriormente, é uma solução ideal.
4) Mudança de arquiteturas centralizadas para distribuídas
Os aplicativos estão se tornando cada vez mais integrados em processos e isso exige que estes conversem em ambientes distribuídos consideravelmente mais complexos, nos quais os dados possam estar em serviços de nuvem ou local, em
aplicativos herdados ou atualizados. Abstrair dados de aplicativos fornece flexibilidade para trabalhar diretamente entre os ambientes, bem como auxilia a atualização ou implantação de aplicativos de forma mais fácil, permitindo sua entrada no mercado rapidamente.
Enquanto usuários, estamos exigindo acesso a mais dados (tanto mais variados quanto em maiores quantidades) e a uma vasta gama de sistemas, bem como precisamos que o acesso seja de qualquer local. O aumento de serviços de nuvem indica que estamos mais propensos em alternar entre serviços como CRM e ERP, e um novo serviço deve integrar-se diretamente em fluxos de trabalho existentes. A partir de uma perspectiva de gerenciamento de TI, a capacidade de empregar mais máquinas para fazer parte de tarefas de processamento à noite e durante o fim de semana, quando necessário, também é importante; e com verdadeiros desenvolvedores de IMDG pouco será necessário estar ciente sobre a tecnologia, uma vez que esta simplesmente ‘funcionará’.
A tecnologia In-memory data grids fornece informações atualizadas e em tempo real para empresas, permitindo que os usuários tomem decisões fundamentadas. O processamento rápido e de baixa latência auxilia no fornecimento de informações críticas da empresa, como e quando estas forem necessárias, e as funções de clustering e de recuperação proporcionam tolerância a falhas.
Esta combinação de alta disponibilidade, desempenho de aplicativo ampliado, failover aperfeiçoado, recuperação e tolerância de falhas juntamente com a escalabilidade elástica e o processamento paralelo auxiliam que os aplicativos de sua empresa sejam executados de forma mais rápida, tornando a tecnologia In-Memory Data Grids um ponto essencial em sua integração empresarial.
Agora, a solução In-Memory Data Grids oferece uma funcionalidade dinâmica e blindada durante a instalação, sem custos adicionais ou configurações complexas tradicionalmente associadas com clustering. Atualmente, estas soluções precisam somente de metade de um dia para sua configuração, e quando a sua plataforma de integração possuir a tecnologia IMDG instalada e pronta para ser utilizada, isso representará uma nova era em soluções com base em grids.