Por Leandro Damascena

Vivemos em um mundo conectado em que a tecnologia é bastante presente em nosso estilo de vida. Ela nos ajuda a realizar as mais diversas atividades do nosso cotidiano através de um simples site, como assistir vídeos, acessar as redes sociais, ler notícias entre outras.
A grande missão destes sites é proporcionar uma boa experiência ao usuário para que seu uso seja rápido, simples e a adesão ao produto/serviço oferecido seja cada vez maior. Mas para atingir esse objetivo, é importante estar atento a vários fatores como por exemplo: o banco de dados utilizado, a linguagem de programação, a arquitetura de serviços, entre outros. Entretanto, existe uma tecnologia que é um dos pilares na garantia da boa experiência do usuário, estamos falando do cache.

O que é Cache?

Quem nunca teve problemas ao acessar um site, ligou no suporte da operadora de internet e o atendente falou: “vamos limpar o cache!”? Mas você já deve ter se perguntado: o que é cache? Cache é a tecnologia que permite armazenar localmente (ou em um ponto remoto muito próximo) os arquivos de um site para que este acesso seja mais rápido a partir da segunda vez. Parece um pouco confuso ainda, não é? Ok, vamos a um exemplo prático: Você ganhou um computador novo, abriu o seu navegador e digitou https://www.darede.com.br/blog. A primeira vez que você acessou este site o seu navegador recebeu instruções para armazenar o que puder localmente e tornar o acesso mais rápido na próxima vez. Consequentemente na segunda vez que você acessar o navegador tem armazenado localmente imagens, fontes, textos e com isto aumenta a velocidade com a qual o site é exibido para você.

CDN (Content Delivery Network)

CDN é a abreviação de Content Delivery Network (Rede de distribuição de conteúdo em tradução livre). CDN é uma rede de computadores com diversos pontos distribuídos ao redor do mundo e que armazenam cópia de sites e arquivos para distribuí-los de forma mais rápida, ou seja, podemos considerar o CDN como um grande cache da internet.
Para exemplificar melhor o funcionamento do CDN vamos imaginar uma startup americana que criou um site que será acessado mundialmente. Essa startup hospedou esse site em instâncias EC2 localizadas na região de Norte Virgínia (EUA). Durante a semana de lançamento, usuários do Brasil começaram a reclamar que o site apesentava lentidão em alguns pontos, enquanto usuários dos Estados Unidos reportavam uma excelente experiência e velocidade no acesso.

Isso acontece porque o site não tem um CDN configurado, ou seja, todas as vezes que os navegadores precisam buscar um arquivo que não está no cache local os usuários do Brasil têm que “percorrer” toda a internet para ir buscá-lo arquivo em Norte Virginia (EUA). Esse caminho de São Paulo até Norte Virginia (EUA) aumenta a latência (tempo de comunicação) e consequentemente o tempo de espera de acesso. Mas para resolver este problema é simples, basta a startup configurar um Amazon Cloudfront e colocá-lo entre seus usuários e seu site nas instâncias EC2.

As funcionalidades do Amazon CloudFront

O Amazon Cloudfront é o serviço de CDN da AWS que serve como serviço rápido de entrega de conteúdo e que escala para milhões de acessos simultâneos. Contando com mais de 225 pontos de presença em 90 cidades de 47 países, o Amazon Cloudfront ajuda a servir o conteúdo do site a partir do ponto de presença mais próximo do usuário. Lembram do exemplo da startup no parágrafo anterior? Agora com o Amazon Cloudfront configurado, os usuários do Brasil não terão que ir até Norte Virginia (EUA) buscar os arquivos, pois o Amazon Cloudfront armazenou o conteúdo deste site em algum ponto de presença (no Brasil) próximo ao usuário e a experiência será muito melhor e mais rápida.

*Revisão de Cassius Oliveira e Ana Carolina Fernandes

OUTRAS PUBLICAÇÕES

On Premises vs Cloud

Por Cassius Oliveira Hoje em dia toda empresa precisa ser de alguma forma uma empresa de tecnologia, independentemente de seu tamanho e do setor de atuação, tudo isso graças aos diversos recursos e soluções de tecnologia presentes no mercado. Ferramentas estas que tem a capacidade de aumentar a eficiência e produtividade do negócio, assim gerando um valor empresarial cada vez maior, o que torna o processo de decisão entre um ambiente On Premises e Cloud Computing totalmente complexo, visto que existem muitos fatores a serem considerados. De forma prática, a diferença entre esses dois tipos de infraestrutura está essencialmente onde seu hardware, software e suas aplicações residem. Em uma estrutura On Premises todos seus recursos são mantidos em uma infraestrutura local, podendo ser gerenciada pela sua equipe de TI interna ou por terceiros. Já um ambiente em cloud todos esses recursos são alocados em um servidor virtualizado e mantido por alguma plataforma de serviços em cloud, como a Amazon Web Services, Microsoft Azure, Google Cloud, entre outras. On Premises Seja em um ambiente em cloud, ou em uma estrutura On Premises, a maior preocupação de uma empresa deverá estar na segurança de seus dados. Por ser mais tradicional, ao escolher uma infraestrutura local pode-se trazer mais segurança para aqueles que ainda não domina o uso de nuvem, e possuem receio das novidades que a tecnologia em cloud pode proporcionar. Aqui os dados e informações estão inteiramente sob responsabilidade da empresa e da equipe de TI, que consequentemente deverá ser maior para realizar o gerenciamento e manutenção de toda infraestrutura. Mas é importante saber que as responsabilidades por segurança, estão também todas nas mãos dos mantenedores da estrutura. Uma das principais vantagens desse modelo é o controle maior da estrutura de TI da empresa, desde a escolha do software adquirido até a escolha de hardwares e ferramentas que irão compor o ambiente, além de uma equipe totalmente alocada dentro das operações da empresa proporcionando uma interação muito mais intensa e dedicada a manutenção dos processos da companhia. Algumas desvantagens desse tipo de estrutura está diretamente aos gastos para manter e gerenciar todos esses recursos, fazendo com que sua empresa tenha que possuir uma extensa equipe de tecnologia a disposição, além de outros custos invisíveis e até inesperados, principalmente se houver a necessidade de contratar um servidor adicional em um eventual aumento de demanda, além de perda de dados em caso de problemas na estrutura. Outras desvantagem dizem respeito ao tempo de reação as mudanças novas demandas, além do tempo e indisponibilidade em função de serviços sem proteção, falhas de energia, além da quantidade menor de funcionalidades em plataformas de nuvem, o que faz com que o seu negócio possa ficar de alguma forma para trás de outras empresas. Participe do programa Darede Assessment e receba uma análise gratuita de sua estrutura de TI! Cloud Computing Já uma das grandes vantagens de um ambiente em cloud está na economia. Aqui é possível pagar de acordo com sua necessidade e demanda, sendo possível aumentar e diminuir recursos conforme os objetivos de sua empresa. Além disso, os gastos de manutenção do servidor físico são inteiramente descartados, uma vez que, como já abordado, a estrutura em cloud trabalha em servidores e serviços “virtualizado” o que dá liberdade para sua empresa possuir uma equipe TI mais enxuta. De acordo com pesquisa do IDC, a redução dos custos da operação, após implementar um ambiente em cloud, pode chegar a 64%. Os processos de um ambiente em cloud também geram benefícios para equipe de TI da empresa, uma vez que segundo a mesma pesquisa mencionada anteriormente, a capacidade de maior automação e eficiência nas atividades operacionais, como a criação de máquinas virtuais, por exemplo, geram um aumento de produtividade de 41%, permitindo assim mais eficiência na estrutura como um todo. Já na parte da segurança, um ambiente em cloud diminui as chances de perda de dados, uma vez que caso uma instância pare de funcionar, é possível, através de um plano de Disaster Recovery, recuperar essas informações em outro lugar de forma rápida. Além disso, as plataformas de serviços em cloud dispõem de uma variedade de serviços capazes, por meio de diversas tecnologias, evitar falhas e vulnerabilidades no sistema, assim o deixando mais seguro. Entenda qual é a nuvem ideal para seu negócio! Por ser relativamente novo, um ambiente em cloud pode trazer algumas desconfianças, mas ao analisar com cuidado, ele pode trazer diversos benefícios a sua empresa, desde uma maior otimização dos gastos, até na capacidade de aumentar e diminuir instâncias diretamente de acordo com sua demanda. Conforme a tecnologia avança, essa estrutura pode ser mais interessante para sua empresa em uma visão a longo prazo.

Novidades AWS re:Invent 2021

Todos os anos a AWS promove o AWS re:Invent,o maior evento de cloud do mundo. E a Darede selecionou as melhores novidades! Confere aí!

Microsserviços

Conforme o uso de cloud computing começa a se popularizar, obtemos arquiteturas cada vez mais complexas, gerando a necessidade de atualizações frequentes e ágeis, por isso o conceito de microsserviços se tornam uma boa opção para se construir um ambiente em cloud. E essa abordagem tem se consolidado como o preferido entre as empresas de tecnologia, uma vez que de acordo com pesquisa da Kong, 84% das organizações entendem que arquiteturas em microsserviços representam um novo paradigma ao desenvolver aplicações e as utilizam em seus ambientes em cloud. Mas, o que são microsserviços? Imagine um quebra-cabeças. E cada peça é construída por pequenas equipes e de forma independente. Mas que juntas elas formam um conjunto unificado. Os microsserviços funcionam praticamente dessa forma. Eles são uma abordagem de arquitetura em que são realizados pequenos serviços de forma autônoma, mas que se comunicam entre si através de APIs ou outras tecnologias. A arquitetura baseada em microsserviços, podem trazer escalabilidade para o ambiente, entregas contínuas, resiliência, além oferecer a capacidade de desenvolver aplicações com maior velocidade, e tirar proveito dos constantes avanços tecnológicos. Confira nossos especialistas falando sobre o conceito de microsserviços Microsserviços X Monolito A arquitetura monolítica é uma forma mais tradicional de desenvolver aplicações, pois ela trabalha em apenas um monolítico executável, ou seja, ao contrário da arquitetura em microsserviços, a equipe de TI trabalha em um processo único em que diversos módulos do sistema são executados em uma mesma máquina, assim compartilhando recursos de processamento, memória, bancos de dados e arquivos. Essa característica não anula a capacidade de se obter um ambiente totalmente escalável, porém neste caso toda a arquitetura será escalada. Mas as dependências de processos comprometem a disponibilidade de arquiteturas monolíticas, bem como um maior impacto no sistema em casos de falhas. Com uma arquitetura em microsserviços é construída em blocos independentes podendo ser executados de forma autônoma. Fazendo com que possam ser corrigidos em casos de falhas de forma isolada e escalados do mesmo jeito em picos de demanda, assim trazendo flexibilidade de redução de custos para o ambiente. A partir da comunicação via APIs ou desacoplamento, a arquitetura de microsserviços também pode ser reaproveitada em múltiplas aplicações. Como pode ser visto na imagem a seguir: Assim como apresentada na imagem acima enquanto a arquitetura monolítica trabalha com todos os serviços em um único processo, os microsserviços podem ser divididos em diversos serviços e pequenas equipes de forma que facilite o desenvolvimento de uma aplicação em cloud. Também é importante ressaltar que após anos de uso de arquiteturas com microsserviços, foram desenvolvidas uma série de boas práticas sobre como devemos implementá-las, por isso é imprescindível buscar um parceiro como a Darede que pode lhe guiar nesse universo. Acompanhe outros artigos sobre o mundo da TI no blog da Darede!

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações