Varnish-Cache: Velocidade e disponibilidade para aplicações WEB



Documentos relacionados
INTRODUÇÃO À OTIMIZAÇÃO

Sistemas Distribuídos

1º Seminário de Software Livre Tchelinux Software Livre: leve adiante esta idéia. Soluções de Web Caching e Web Acceleration

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

COORDENAÇÃO DE TECNOLOGIA (COTEC) ABRIL/2011

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Sistema Gerenciador de Conteúdo OpenCms: um caso de sucesso no CEFET-MG

Aplicação Prática de Lua para Web

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Entendendo como funciona o NAT

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Implantação NG ADM. Setor Implantação

Edital 012/PROAD/SGP/2012

Desenvolvendo Websites com PHP

Introdução ao Modelos de Duas Camadas Cliente Servidor

Alan Menk Santos Redes de Computadores e Telecomunicações. Camada de Aplicação. Camada de Aplicação

Programando em PHP. Conceitos Básicos

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

4 Um Exemplo de Implementação

1

MONITORAMENTO DO AMBIENTE TECNOLÓGICO FoccoMONITOR

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Orientação a Objetos

Módulo 4. Construindo uma solução OLAP

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

Armazenamento em nuvem é feito em serviços que poderão ser acessados de diferentes lugares, a qualquer momento e utilizando diferentes dispositivos,

Sistemas Operacionais 1/66

Uso do Netkit no Ensino de Roteamento Estático

Case de Sucesso. Integrando CIOs, gerando conhecimento. BANCO TOPÁZIO FORTALECE MONITORAMENTO E CONQUISTA MAIOR CREDIBILIDADE DOS CLIENTES

NOVO MODELO DE ATUALIZAÇÃO FOCCO Atualização automática com o FoccoUPDATE

AULA 6: SERVIDOR DNS EM WINDOWS SERVER

USANDO O IZCODE PARA GERAR SOFTWARE RAPIDAMENTE

A LIBERDADE DO LINUX COM A QUALIDADE ITAUTEC

Integração de sistemas utilizando Web Services do tipo REST

XDOC. Solução otimizada para armazenamento e recuperação de documentos

Introdução ao Active Directory AD

Sistemas Operacionais II. Prof. Gleison Batista de Sousa

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Documento de Visão. Compras. T2Ti Tecnologia da Informação Ltda T2Ti.COM CNPJ: / Projeto T2Ti ERP. Versão 2.

Isolamento de Recursos na Nuvem Por que isso e ta o importante?

Soluções Completas. Fundada em 1991, a.compos é pioneira na área de soluções em tecnologia, atuando nas áreas de:

Infraestrutura: devo usar a nuvem? Prof. Artur Clayton Jovanelli

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

Sistemas Operacionais. Roteiro. Sistemas de Computadores. Os sistemas de computadores são projetados com basicamente 3 componentes: Marcos Laureano

Suporte Nível 1. Atualmente o Servidor de aplicação adotado é o GlassFish 2.x e o Postgres 8.x.

NetEye Guia de Instalação

Componentes de um sistema de firewall - II. Segurança de redes

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Documentação. Programa de Evolução Contínua Versão 1.76

GESTÃO DE SISTEMAS OPERACIONAIS II

GIS Cloud na Prática. Fabiano Cucolo 26/08/2015

Em 2012, a Prosoft planejou o lançamento da Versão 5 dos seus produtos.

Web Services. Autor: Rômulo Rosa Furtado

Professor Esp.: Douglas Diego de Paiva

CLUSTER DE ALTA DISPONIBILIDADE COM ARQUITETURA HEARTBEAT

SISTEMAS DISTRIBUÍDOS

Documento de Requisitos Projeto SisVendas Sistema de Controle de Vendas para Loja de Informática.

Aspectos técnicos do desenvolvimento baseado em componentes

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

Introdução a Java. Hélder Nunes

Parceiro Oficial de Soluções Zabbix no Brasil

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Servidor Proxy armazenamento em cache.

A importância de um Projeto No Desenvolvimento de uma Pesquisa Cientifica Vitor Amadeu Souza

Critérios para certificação de Sites SciELO: critérios, política e procedimentos para a classificação e certificação dos sites da Rede SciELO

Escolha seu serviço Cloud O melhor do Cloud

Tópicos Especiais em Informática

Ao introduzir o sistema ERP, o empresário reconhece imediatamente os benefícios e ferramentas que podem

Leandro Ramos RAID.

Configurando o IIS no Server 2003

CENTRO EDUCACIONAL BANDEIRANTES MANUAL DO ALUNO

Sistemas Operacionais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Web 2.0. Amanda Ponce Armelin RA

Servidores Virtuais. Um servidor à medida da sua empresa, sem investimento nem custos de manutenção.

Migração do appliances Bluecoat para Ariel Cassins

Relatório de Progresso

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

O que é um proxy? Desta forma conseguimos filtrar conteúdos de internet para negar acessos indevidos e permitir sites que devem ser liberados.

INTERNET HOST CONNECTOR

Sistemas ERP. Profa. Reane Franco Goulart

Solução Integrada para Gestão e Operação Empresarial - ERP


Soluções em TI para Web

Utilizando o Web-Proxy e regra do cachefull com o Mikrotik V3. Por Francisco Nobre ParadaNET.com N & J TELECOM LTDA

Transcrição:

CESUMAR Centro Universitário de Maringá Curso Superior de Tecnologia em Sistemas para Internet PROJETO INTEGRADOR Varnish-Cache: Velocidade e disponibilidade para aplicações WEB Rafael Vaz Pinto Toledo Eduardo Herbert Ribeiro Bona Maringá 2012

1. Tema 1.1. Tema Geral Serviços para servidores de aplicações WEB 1.2. Tema Específico Aceleração de aplicações web com a adoção do Varnish Cache. 2. Justificativa Quando se deu início, a internet era composta basicamente por conteúdo estático, com pouca ou quase nenhuma interação ou automatização, devido limitações tecnológicas da época. Com o desenvolvimento das linguagens de programação voltadas para o ambiente online, vimos o início de serviços alimentados dinamicamente, através da leitura de bancos-de-dados ou arquivos texto. O aperfeiçoamento das técnicas desenvolvidas durante esse período de amadurecimento da internet nos levou à transição de uma internet que antes servia de meio para uma que agora serve como plataforma, sendo chamada de Web 2.0 (Termo criado em 2004 pela empresa de comunicação O Reilly Media). Os serviços criados para a web 2.0 trazem como padrão conteúdo dinâmicos, de fácil atualização e totalmente dependente de fonte de dados (seja ele um banco-de-dados local ou outro serviço, como RSS). Tal novidade fez com que os servidores web se adaptassem ao novo padrão. O que antes era simplesmente consultar uma árvore de diretórios e devolver o conteúdo do arquivo requisitado, hoje envolve consulta a diversas fontes de dados, tanto internas quanto externas. Essa mudança de paradigma trouxe também algumas preocupações, como estabilidade, disponibilidade e velocidade dos serviços ofertados. Numa época em que todos buscam visibilidade na internet, a disponibilidade e a velocidade do serviço tornam-se fatores determinantes para o sucesso ou fracasso de um projeto. Para sanar ou amenizar tais problemas é que foi criado o serviço de proxy reverso, ou HTTP Cache. Para esta pesquisa, será abordada a implementação do Varnish-Cache no servidor, pois o mesmo foi desenvolvido especificamente para esta função, ao contrário do Squid, que foi concebido para funcionar como um Proxy normal, sendo adaptado posteriormente para a utilização como proxy reverso.

3. Problema A alta demanda por informação, aliada a uma diversidade de fontes de dados traz dúvidas quanto ao desempenho e a confiabilidade de uma aplicação desenvolvida para a plataforma WEB. Diversos fatores podem influenciar na disponibilidade de um serviço, como inconsistência no tráfego de dados entre os servidores, indisponibilidade de alguma fonte de dados ou ainda a sobrecarga do servidor. A implementação do Varnish-Cache pode resolver parcialmente ou completamente os problemas relacionados ao provedor do serviço. Ao implementar e configurar o serviço do proxy reverso, criamos uma cópia temporária de todo conteúdo que julguemos interessante manter em cache, ficando armazenada assim um objeto reverente a este conteúdo na memória RAM do servidor. Este armazenamento temporário permite com que o servidor responda de forma mais ágil a requisição do cliente, já que não será necessário executar consultas r processamento dos dados adquiridos, pois os mesmos já estão montados dentro da memória. Por ser flexível, o Varnish pode ser implementado no mesmo servidor em que é executado a aplicação, ou pode ser configurado como um servidor principal, que poderá ficar a frente de vários outros servidores, balanceando carga de acordo com a necessidade, garantindo assim alta disponibilidade da aplicação hospedada alí, 4. Aplicação Prática Por limitações de recursos, o ensaio será feito em máquinas virtuais, sendo que o serviço de cache será instalado junto ao servidor Apache. Para gerar números para comparação, serão configurados dois servidores web (Apache) em máquinas virtuais idênticas rodando Debian Linux 6.0.4 (Squeeze). Um dos servidores será mantido com a configuração original, enquanto o segundo ficará por trás do Varnish Cache. Em ambos os servidores, serão implementados aplicações web que façam requisições a banco-de-dados locais e externos, assim como consulta a APIs de terceiros. Assim simulando um ambiente de produção real. 5. Objetivos 5.1. Objetivo Geral Destacar as diferenças de desempenho e disponibilidade entre servidores web comuns e os que trabalham em conjunto com um Proxy reverso. 5.2. Objetivos Específicos Compreender o funcionamento de um Proxy reverso, mais especificamente o funcionamento do Varnish Cache, assim como as melhores maneiras para implementá-lo, de forma a obter melhorias relativas ao desempenho e à disponibilidade da aplicação.

6. Material Para o desenvolvimento da pesquisa serão consultados livros na área, artigos em geral publicados em congressos e na internet além do estudo em aplicações desenvolvidas e disponíveis na internet como exemplo. Para a aplicação prática serão utilizadas máquinas virtuais com configurações idênticas para efeito de comparação entre um servidor web comum e outro dotado de Proxy reverso. Será utilizado também um servidor rodando um banco-de-dados pré-alimentado para acesso de dados externo. 7. Metodologia Na primeira etapa do trabalho será realizado um estudo na documentação introdutória do Varnish Cache, a fim de verificar os requisitos e as melhores maneiras de implementá-lo num ambiente limitado. Será feito também um estudo em materiais referentes à servidores web e outros sistemas de cache (como o Squid) a fim de obter o maior número de parâmetros necessários para comparação. Durante a pesquisa inicial será determinado um ambiente padrão (máquina virtual) que será replicado a fim de garantir condições igualitárias para as aplicações que serão testadas. Tais aplicações serão compostas por consultas a bancos-de-dados locais e externos, assim como consultas a serviços externos, como RSS de terceiros, a fim de simular uma aplicação real e suas requisições. O resultado das etapas anteriores serão números e gráficos de tempo e consumo de recursos, demonstrando as vantagens e desvantagens de cada solução adotada durante a pesquisa. 8. Referências Bibliográficas Varnish Cache Documentation. Disponível em: <https://www.varnish-cache.org/docs> Acesso em 15 mar. 2012 Viva o Linux. Disponível em: <http://www.vivaolinux.com.br/artigo/varnish-uma-camada-de-velocidade> Acesso em 15 mar. 2012 Varnish por Max Schöfmann. Disponível em: <http://www.slideshare.net/schoefmax/caching-with-varnish-1642989> Acesso em 15 mar. 2012 What Is Web 2.0. Disponível em: <http://oreilly.com/web2/archive/what-is-web-20.html> Acesso em 15 mar. 2012

9. Parecer da Proposta de PI 1. PARECER DA PROPOSTA DE PI ( ) APROVADA ( ) APROVADA COM RESSALVAS ( ) REPROVADA Justificativas 2. VISTO DO PARECERISTA Data: / / Nome do Parecerista: Assinatura do Parecerista: Observações