Visão geral do armazenamento em cache

O armazenamento em cache ajuda os aplicativos a ter um desempenho dramaticamente mais rápido e custam significativamente menos em alta escala

O que é o armazenamento em cache?

Na área de computação, um cache é uma camada de armazenamento físico de dados de alta velocidade que guarda um subconjunto de dados, geralmente temporário por natureza, para que futuras solicitações referentes a esses dados sejam atendidas de modo mais rápido do que é possível fazer ao acessar o local de armazenamento principal de dados. O armazenamento em cache permite reutilizar com eficiência dados recuperados ou computados anteriormente.

Como funciona o armazenamento em cache?

Os dados em um cache geralmente são armazenados no hardware de acesso rápido, como uma Random-access memory (RAM – Memória de acesso aleatório), e também podem ser usados em paralelo com um componente de software. O principal objetivo de um cache é aumentar a performance da recuperação de dados ao reduzir a necessidade de acessar a camada subjacente mais lenta de armazenamento.

A substituição de capacidade por velocidade geralmente faz com que um cache armazene um subconjunto de dados de modo temporário, em comparação com bancos de dados, cujos dados são, de modo geral, completos e duráveis.

Visão geral do armazenamento em cache

Devido às altas taxas de solicitação ou IOPS (operações de entrada/saída por segundo) com suporte por mecanismos de RAM e em memória, o armazenamento em cache resulta em uma performance de recuperação de dados otimizada, além de reduzir custos em grande escala. Para apoiar a mesma escala com bancos de dados tradicionais e hardware de disco, seriam necessários recursos adicionais. Esses recursos adicionais aumentam os custos e ainda assim não têm condições de atingir a performance de baixa latência proporcionada por um cache de memória.

Os caches podem ser aplicados e utilizados entre várias camadas de tecnologia, como sistemas operacionais, camadas de redes, incluindo Redes de entrega de conteúdo (CDN) e DNS, além de aplicativos web e bancos de dados. Você pode usar o cache para reduzir significativamente a latência e melhorar as IOPS para muitas cargas de trabalho de aplicativos de leitura intensa, como portais de perguntas e respostas, jogos, compartilhamento de mídia e redes sociais. As informações armazenadas em cache podem incluir os resultados de consultas de banco de dados, cálculos computacionalmente intensivos, solicitações/respostas de APIs e artefatos da web, como arquivos HTML, JavaScript e imagem. As cargas de trabalho com alto consumo computacional que trabalham com conjuntos de dados, como mecanismos de recomendação e simulações computacionais de alta performance, também se beneficiam de uma camada de dados de memória atuando como um cache. Nesses aplicativos, conjuntos de dados muito grandes devem ser acessados em tempo real em clusters de máquinas que podem abranger centenas de nós. Devido à velocidade do hardware subjacente, manipular esses dados em um armazenamento baseado em disco é um gargalo significativo para esses aplicativos.

Em um ambiente computacional distribuído, uma camada de armazenamento em cache dedicada permite que sistemas e aplicativos sejam executados de forma independente do cache com seus próprios ciclos de vida, sem o risco de afetar o cache. O cache serve como uma camada central que pode ser acessada a partir de sistemas diferentes com seu próprio ciclo de vida e topologia arquitetônica. Isso é especialmente relevante em um sistema em que nós de aplicativo podem ser dimensionados dinamicamente na direção horizontal ou vertical. Se o cache residir no mesmo nó que o aplicativo ou os sistemas que o utilizam, o dimensionamento poderá afetar a integridade do cache. Além disso, quando caches locais são usados, eles só beneficiam o aplicativo local que consome os dados. Em um ambiente de armazenamento em cache distribuído, os dados podem abranger vários servidores de cache e ser armazenados em um local central para o benefício de todos os consumidores desses dados.

Ao implementar uma camada de cache, é importante entender a validade dos dados que estão sendo armazenados em cache. Um cache bem-sucedido resulta em uma alta taxa de acertos. Isso significa que os dados estavam presentes quando foram obtidos. Um erro de cache ocorre quando os dados obtidos não estão presentes no cache. Os controles, como Time to live (TTLs – Vida útil), podem ser aplicados para expirar os dados conforme for necessário. Outra consideração a fazer pode ser avaliar se o ambiente de cache precisa ou não ser altamente disponível, o que pode ser atendido por mecanismos na memória, como o Redis. Em alguns casos, uma camada de memória pode ser usada como uma camada de armazenamento físico de dados independente, em vez de usar o cache de dados por meio de um local principal. Nesse cenário, é importante definir o RTO (Objetivo do tempo de recuperação), ou seja, o tempo necessário para a recuperação após uma interrupção, e o RPO (Objetivo de ponto de recuperação), que é o último momento ou transação capturada na recuperação, pertinentes aos dados armazenados no mecanismo em memória para determinar se isso é indicado. Estratégias e características de projeto de diferentes mecanismos em memória podem ser aplicadas para atender à maioria dos requisitos de RTO e RPO.

Camada Lado do cliente DNS Web Aplicativo Banco de dados
Caso de uso

Acelere a recuperação de conteúdo da web a partir de sites (navegador ou dispositivo)

Resolução de domínio para IP Acelere a recuperação de conteúdo da web a partir de servidores web/de aplicativos. Gerencie sessões da web (lado do servidor) Acelere o desempenho do aplicativo e o acesso aos dados Reduza a latência associada a solicitações de consulta de banco de dados
Tecnologias Cabeçalhos de cache HTTP, navegadores Servidores DNS Cabeçalhos de cache HTTP, CDNs, proxies reversos, aceleradores da web, armazenamentos de chaves/valores Armazenamentos de dados de chaves/valores, Caches locais Buffers de banco de dados, armazenamentos de dados de chaves/valores
Soluções Específicas para navegador Amazon Route 53 Amazon CloudFrontElastiCache for RedisElastiCache for MemcachedSoluções para parceiros Estruturas de aplicativos, ElastiCache for RedisElastiCache for MemcachedEstruturas de aplicativos  ElastiCache for RedisElastiCache for Memcached

Armazenamento em cache com o Amazon ElastiCache

O Amazon ElastiCache é um serviço web que facilita a implantação, a operação e a escala de armazenamento de dados ou cache na memória na nuvem. O serviço melhora a performance de aplicativos web, o que permite recuperar informações de datastores rápidos e gerenciados na memória, em vez de depender inteiramente de bancos de dados armazenados em disco e sua performance mais lenta. Saiba como você pode implementar uma estratégia de armazenamento em cache eficiente neste whitepaper técnico sobre armazenamento em cache na memória.

diagrama

Benefícios do armazenamento em cache

Como a memória é muito mais rápida que o disco (magnético ou SSD), a leitura de dados do cache de memória é extremamente rápida (abaixo de milissegundos). Esse acesso muito mais rápido aos dados melhora a performance geral do aplicativo.

Uma única instância de cache pode fornecer centenas de milhares de IOPS (operações de entrada/saída por segundo), potencialmente substituindo várias instâncias de banco de dados e, assim, reduzindo o custo total. Isso é especialmente significativo quando o banco de dados principal cobra por taxa de transferência. Nesses casos, a economia de preços pode ser de dezenas de pontos percentuais.

Um desafio comum em aplicativos modernos é lidar com tempos de picos no uso de aplicativos. Exemplos incluem aplicativos sociais durante o Campeonato Brasileiro ou em dia de eleição, sites de comércio eletrônico durante a Black Friday, etc. O aumento da carga no banco de dados resulta em latências mais altas para obter dados, tornando o desempenho geral do aplicativo imprevisível. Ao utilizar um cache de memória com alta taxa de transferência, esse problema pode ser atenuado.

Em muitos aplicativos, é provável que um pequeno subconjunto de dados, como um perfil de celebridade ou um produto popular, seja acessado com mais frequência do que o resto. Isso pode resultar em hotspots no seu banco de dados e pode exigir provisionamento excessivo de recursos de banco de dados com base nos requisitos de taxa de transferência para os dados mais usados. O armazenamento de chaves comuns em um cache na memória reduz a necessidade de provisionamento excessivo, proporcionando desempenho rápido e previsível para os dados mais comumente acessados.

Além da latência mais baixa, os sistemas na memória também oferecem taxas de solicitação (IOPS) muito mais altas em relação a um banco de dados baseado em disco comparável. Uma única instância usada como cache lateral distribuído pode atender a centenas de milhares de solicitações por segundo.

Tópicos da página

Casos de uso Setores

Casos de uso

Os aplicativos móveis são um segmento de mercado em crescimento incrivelmente rápido, dada a rápida adoção de dispositivos pelos consumidores e o declínio no uso de equipamentos de computação tradicionais. Seja para jogos, aplicações comerciais, aplicações de saúde e assim por diante, praticamente todos os segmentos de mercado hoje têm um aplicativo compatível com dispositivos móveis. Do ponto de vista do desenvolvimento de aplicativos, a criação de aplicativos móveis é muito semelhante à criação de qualquer outra forma de aplicativo. Existem as mesmas áreas de preocupação, nível de apresentação, nível de negócios e camada de dados. Embora suas ferramentas de desenvolvimento e a ocupação da tela sejam diferentes, oferecer uma ótima experiência ao usuário é um objetivo em comum de todos os aplicativos. Com estratégias eficazes de armazenamento em cache, seus aplicativos móveis podem oferecer o desempenho esperado pelos seus usuários, podem ser dimensionados massivamente e podem reduzir seus custos gerais.

O AWS Mobile Hub é um console que oferece uma experiência integrada para descobrir, configurar e acessar serviços de nuvem AWS para criar, testar e monitorar o uso de aplicações móveis.

Quando o tráfego da web é geograficamente disperso, nem sempre é viável e certamente não é lucrativo replicar toda a sua infraestrutura globalmente. Uma CDN oferece a capacidade de utilizar sua rede global de locais da borda para fornecer uma cópia em cache do conteúdo da Web, como vídeos, páginas da Web, imagens e assim por diante, para os seus clientes. Para reduzir o tempo de resposta, a CDN utiliza o local da borda mais próximo do cliente ou o local de solicitação de origem para reduzir o tempo de resposta. A taxa de transferência é drasticamente aumentada, pois os ativos da web são entregues a partir do cache. Para dados dinâmicos, muitas CDNs podem ser configuradas para recuperar dados dos servidores de origem.

O Amazon CloudFront é um serviço de CDN global que acelera a distribuição do conteúdo de sites, APIs, vídeo ou outros ativos da web. Ele se integra a outros produtos da Amazon Web Services para oferecer aos desenvolvedores e às empresas uma maneira fácil de acelerar a entrega de conteúdo para usuários finais, sem compromisso mínimo de utilização. Para saber mais sobre CDNs, clique aqui.

Cada solicitação de domínio feita na Internet basicamente consulta servidores de cache DNS para resolver o endereço IP associado ao nome de domínio. O armazenamento em cache de DNS pode ocorrer em vários níveis, inclusive no SO, via ISPs e servidores DNS.

O Amazon Route 53 é um serviço web de nuvem de Sistema de Nomes de Domínio (DNS) altamente disponível e escalonável.

Sessões HTTP contêm os dados do usuário trocados entre os usuários do site e seus aplicativos web, como informações de login, listas de carrinho de compras, itens anteriormente visualizados e assim por diante. O fundamental para fornecer excelentes experiências aos usuários no seu site é gerenciar suas sessões HTTP de maneira eficaz, memorizando as preferências dos usuários e fornecendo contexto abundante aos usuários. Com arquiteturas de aplicativos modernas, a utilização de um armazenamento de dados de gerenciamento de sessão centralizado é a solução ideal por vários motivos, incluindo por fornecer experiências de usuário consistentes em todos os servidores web, melhor durabilidade da sessão quando sua frota de servidores web é elástica e maior disponibilidade quando os dados de sessão são replicados entre servidores de cache.

Para obter mais informações, clique aqui.

Hoje, a maioria dos aplicativos web baseia-se em APIs. De modo geral, uma API é um serviço web RESTful que pode ser acessado por HTTP e expõe recursos que permitem que o usuário interaja com o aplicativo. Ao projetar uma API, é importante considerar a carga esperada nessa API, a autorização para ela, os efeitos das alterações de versão nos consumidores da API e, o mais importante, a facilidade de uso da API, entre outras considerações. Nem sempre acontece de uma API precisar instanciar a lógica de negócios e/ou fazer solicitações de back-end para um banco de dados em cada solicitação. Às vezes, servir um resultado em cache dessa API proporcionará a resposta ideal e mais econômica. Isso é especialmente válido quando você é capaz de armazenar em cache a resposta da API para corresponder à taxa de alteração dos dados subjacentes. Digamos, por exemplo, que você exponha uma API de oferta de produtos aos usuários, e suas categorias de produtos só mudam uma vez por dia. Como que a resposta a uma solicitação de categoria de produto será idêntica ao longo do dia, todas as vezes que uma chamada para a sua API for feita, será suficiente armazenar em cache a resposta dessa API para o dia. Ao armazenar em cache a resposta da API, você elimina a pressão sobre sua infraestrutura, incluindo servidores de aplicativos e bancos de dados. Você também sai ganhando com tempos de resposta mais rápidos e oferece uma API com mais desempenho.

Com o Amazon API Gateway, um serviço gerenciado, os desenvolvedores podem criar, publicar, manter, monitorar e proteger APIs em qualquer escala.

Em um ambiente de nuvem híbrida, você pode ter aplicativos que residem na nuvem e exigem acesso frequente a um banco de dados on-premises. Existem muitas topologias de rede que podem ser empregadas para criar conectividade entre a nuvem e o ambiente on-premises, incluindo VPN e Direct Connect. E, embora a latência da VPC para o data center on-premises possa ser baixa, pode ser ideal armazenar em cache seus dados on-premises no ambiente de nuvem para acelerar o desempenho geral da recuperação de dados.

Ao entregar conteúdo da web para os seus espectadores, grande parte da latência envolvida na recuperação de ativos da web (como imagens, documentos HTML, vídeo, etc.) pode ser bastante reduzida ao armazenar em cache esses artefatos e eliminar leituras de disco e a carga do servidor. Várias técnicas de armazenamento em cache na web podem ser empregadas tanto no lado do servidor quanto do cliente. O armazenamento em cache na web no lado do servidor normalmente envolve a utilização de um proxy web que retém as respostas da web dos servidores web que estão atrás dele, reduzindo efetivamente sua carga e latência. O armazenamento em cache na web do lado do cliente pode incluir o armazenamento cache baseado em navegador, que retém uma versão armazenada em cache do conteúdo da web visitado anteriormente. Para obter mais informações sobre o armazenamento em cache na web, clique aqui.

Acessar dados da memória é muito mais rápido do que acessar dados do disco ou do SSD. Portanto, aproveitar os dados no cache apresenta muitas vantagens. Para muitos casos de uso que não exigem suporte a dados transacionais ou durabilidade baseada em disco, usar um armazenamento de chaves/valores na memória como um banco de dados autônomo é uma ótima maneira de criar aplicativos de alto desempenho. Além da velocidade, o aplicativo se beneficia com a alta taxa de transferência por um baixo preço. Dados referenciáveis, como agrupamentos de produtos, ofertas de categorias, informações de perfil e assim por diante, são ótimos casos de uso para um cache geral. Para obter mais informações sobre o cache geral, clique aqui.

Um cache integrado é uma camada na memória que armazena automaticamente os dados acessados com frequência do banco de dados de origem. Mais comumente, o banco de dados subjacente utilizará o cache para servir a resposta à solicitação de banco de dados de entrada, já que os dados residem no cache. Isso aumenta drasticamente o desempenho do banco de dados, reduzindo a latência da solicitação e a utilização da CPU e da memória no mecanismo de banco de dados. Uma característica importante de um cache integrado é que os dados armazenados em cache são consistentes com os dados armazenados no disco pelo mecanismo de banco de dados.

Setores

Os aplicativos móveis são um segmento de mercado em crescimento incrivelmente rápido, dada a rápida adoção de dispositivos pelos consumidores e o declínio no uso de equipamentos de computação tradicionais. Seja para jogos, aplicações comerciais, aplicações de saúde e assim por diante, praticamente todos os segmentos de mercado hoje têm um aplicativo compatível com dispositivos móveis. Do ponto de vista do desenvolvimento de aplicativos, a criação de aplicativos móveis é muito semelhante à criação de qualquer outra forma de aplicativo. Existem as mesmas áreas de preocupação, nível de apresentação, nível de negócios e camada de dados. Embora suas ferramentas de desenvolvimento e a ocupação da tela sejam diferentes, oferecer uma ótima experiência ao usuário é um objetivo em comum de todos os aplicativos. Com estratégias eficazes de armazenamento em cache, seus aplicativos móveis podem oferecer o desempenho esperado pelos seus usuários, podem ser dimensionados massivamente e podem reduzir seus custos gerais.

O AWS Mobile Hub é um console que oferece uma experiência integrada para descobrir, configurar e acessar serviços de nuvem AWS para criar, testar e monitorar o uso de aplicações móveis.

A Internet das Coisas é um conceito por detrás da coleta e da entrega de informações de um dispositivo e do mundo físico por meio de sensores de dispositivos para a Internet ou aplicativo que consome os dados. O valor da IoT é sua capacidade de entender os dados capturados em intervalos de tempo quase real, o que, em última análise, permite ao sistema e aos aplicativos de consumo a capacidade de responder rapidamente a esses dados. Por exemplo, considere um dispositivo que transmite suas coordenadas GPS. Seu aplicativo de IoT pode responder sugerindo pontos de interesse em relação à proximidade dessas coordenadas. Além disso, se você tiver preferências armazenadas relacionadas ao usuário do dispositivo, poderá ajustar essas recomendações personalizadas para esse usuário. Neste exemplo específico, a velocidade com que o aplicativo pode responder às coordenadas é fundamental para se obter uma ótima experiência do usuário. O armazenamento em cache pode desempenhar um papel importante aqui. Por exemplo, os pontos de interesse junto com as coordenadas geográficas podem ser armazenados em um armazenamento de chaves/valores, como o Redis, para permitir a rápida recuperação. Do ponto de vista do desenvolvimento de aplicativos, você pode essencialmente codificar seu aplicativo de IoT para responder a qualquer evento, já que há um meio programático de fazer isso. Algumas considerações importantes a serem feitas ao construir uma arquitetura IoT incluem o tempo de resposta envolvido na análise dos dados ingeridos, a projeção de uma arquitetura de solução que possa dimensionar N número de dispositivos e o fornecimento de uma arquitetura que seja econômica.

O AWS IoT é uma plataforma gerenciada de nuvem que permite a conexão fácil e segura de dispositivos a aplicativos de nuvem e a outros dispositivos.

Leitura adicional: Gerenciamento de IoT e dados de séries temporais com o Amazon ElastiCache para Redis

Os aplicativos modernos de Tecnologia de publicidade são particularmente exigentes em termos de desempenho. Um exemplo de uma área significativa de crescimento em Tecnologia de publicidade é a licitação em tempo real (RTB), a abordagem baseada em leilão para a transação de anúncios gráficos digitais em tempo real, no nível de impressão mais granular. A RTB foi o método de transação dominante em 2015, representando 74,0% da publicidade comprada programaticamente, ou 11 bilhões de dólares nos EUA (de acordo com a eMarketer Analysis). Ao criar um aplicativo RTB, um milissegundo pode ser a diferença entre enviar o lance no prazo e esse lance se tornar irrelevante. Isso significa que obter as informações de licitação do banco de dados deve ser um processo extremamente rápido. O armazenamento em cache de banco de dados, que pode acessar detalhes de licitação em submilissegundos, é uma ótima solução para se obter esse alto desempenho.

A interatividade é um requisito fundamental para quase todos os jogos modernos. Nada frustra os jogadores mais do que um jogo lento ou sem resposta, e estes raramente têm sucesso. O requisito de desempenho é ainda mais exigente para jogos móveis de multijogador, em que uma ação de qualquer jogador precisa ser compartilhada com os outros em tempo real. O armazenamento em cache desempenha um papel crucial para manter o jogo uniforme, fornecendo resposta de consulta abaixo de milissegundos para dados acessados com frequência. Ele também é útil para aliviar problemas de teclas de aceleração quando os mesmos dados são consultados várias vezes, como "quem são os 10 melhores jogadores atuais por pontuação?"

Para saber mais sobre como desenvolver jogos na AWS, clique aqui.

As empresas de mídia muitas vezes lidam com a necessidade de transmitir uma grande quantidade de conteúdo estático para seus clientes com um número constante de leitores/espectadores. Um exemplo é um serviço de streaming de vídeo, como Netflix ou o Amazon Video, que transmite uma grande quantidade de conteúdo de vídeo para os espectadores. Esta é uma combinação perfeita para uma Rede de entrega de conteúdo, em que os dados são armazenados em um conjunto globalmente distribuído de servidores em cache. Outro aspecto dos aplicativos de mídia é que a carga tende a ser sujeita a picos e imprevisível. Imagine um blog em um site sobre o qual uma celebridade acabou de mencionar no Twitter ou o site de um time de futebol durante o Campeonato Brasileiro. Um grande pico de demanda como esse para um pequeno subconjunto de conteúdo é um desafio para a maioria dos bancos de dados, uma vez que eles estão limitados às suas taxas de transferência por chave. Como a memória tem um throughput muito maior que o disco, um cache de banco de dados poderia resolver o problema ao redirecionar as leituras ao cache de memória.

Os aplicativos modernos de comércio eletrônico estão se tornando mais sofisticados, oferecendo experiência de compra personalizada, incluindo recomendações em tempo real com base nos dados de um usuário e no histórico de compras. Muitas vezes, isso também inclui examinar a rede social de um usuário e fornecer a recomendação com base no que os amigos dele curtiram ou compraram. Embora a quantidade de dados necessários para processamento esteja aumentando, a paciência do cliente não está. Portanto, manter o aplicativo funcionando em tempo real não é um luxo, mas sim uma necessidade. Uma estratégia de armazenamento em cache bem executada é um aspecto crítico do desempenho do aplicativo e pode fazer a diferença entre o sucesso ou falha de um aplicativo, entre fazer uma venda ou perder um cliente.

Aplicativos de mídia social conquistaram o mundo. Redes sociais como o Facebook, o Twitter, o Instagram e o Snapchat têm um grande número de usuários que consomem uma quantidade cada vez maior de conteúdo. Quando um usuário abre seu feed, ela espera ver seu conteúdo personalizado mais recente quase em tempo real. Isso não é conteúdo estático, já que cada usuário tem diferentes amigos, imagens, interesses, etc., exacerbando as necessidades de complexidade de engenharia da plataforma subjacente. Os aplicativos de mídia social também são muito propensos a picos de uso relacionados a grandes eventos de entretenimento, esportivos e políticos. A resiliência a picos e o desempenho em tempo real são obtidos por meio de várias camadas de armazenamento em cache que incluem Rede de entrega de conteúdo para o conteúdo estático, como imagens de fundo, cache de sessão para monitorar os dados atuais de sessão de um usuário e cache de banco de dados para manter disponíveis dados acessados com frequência, como as últimas novidades dos amigos mais próximos e as fotos mais recentes.

O setor do serviços de saúde está passando por uma revolução digital, tornando a assistência médica disponível e acessível a cada vez mais pacientes em todo o mundo. Alguns aplicativos permitem que os pacientes vejam Médicos para consultas em vídeo, e a maioria dos principais provedores tem aplicativos que permitem que os pacientes vejam seus resultados de testes e interajam com a equipe médica. No lado do bem-estar, há uma infinidade de aplicativos, que vão desde o monitoramento da atividade específica do sensor de um usuário (por exemplo, FitBit e Jawbone), até dados e orientações abrangentes sobre bem-estar. Devido à natureza interativa desses aplicativos, a necessidade de aplicativos, negócios e níveis de dados de rápido desempenho deve ser abordada. Com uma estratégia de armazenamento em cache eficaz, você poderá fornecer desempenho rápido, reduzir os custos gerais de infraestrutura e dimensionar à medida que seu uso se expande.

Para saber mais sobre como criar aplicativos de serviços de saúde na AWS, clique aqui.

A forma como consumimos serviços financeiros evoluiu drasticamente nos últimos anos. Os aplicativos incluem acesso a serviços bancários e de seguros, detecção de fraudes, serviços de investimento, otimização do mercado de capitais por meio de algoritmos em tempo real e muito mais. É um grande desafio fornecer acesso em tempo real aos dados financeiros de um cliente, permitindo que ele faça transações como transferir dinheiro ou fazer pagamentos. Em primeiro lugar, restrições semelhantes se aplicam como em outros aplicativos em que um usuário deseja interagir com o aplicativo quase em tempo real. Além disso, os aplicativos financeiros podem impor requisitos adicionais, como maior segurança e detecção de fraudes. Uma arquitetura eficiente, incluindo estratégia de armazenamento em cache multicamadas, é fundamental para alcançar o desempenho esperado pelos usuários. Com base nas necessidades do aplicativo, as camadas de cache devem incluir um cache de sessão para armazenar dados de sessão de um usuário, uma Rede de entrega de conteúdo para servir conteúdo estático e um cache de banco de dados para dados acessados com frequência, como as 10 compras mais recentes do cliente.

Para saber mais sobre aplicativos de Serviços financeiros na AWS, clique aqui.