Cloud Server – Saiba o que é, e porque é melhor

O que é um servidor web?

Essa pergunta pode ser respondida de duas formas: a primeira poderia ser “um programa”. Um servidor web pode ser um programa que aceita pedidos http de vários clientes e os responde via http (geralmente navegadores). Podendo incluir também nessa comunicação dados ou objetos (Documentos HTML e imagens). A segunda resposta é que um servidor web é uma máquina onde são armazenadas todas as funcionalidades que você deseja oferecer na Internet e que roda os programas necessários para satisfazê-las. 

São máquinas que estão sempre conectadas e disponíveis 24 h por dia aguardando as requisições que podem chegar a qualquer instante. Depois que a requisição do cliente (navegador) chega e as restrições de segurança são satisfeitas, ele entrega a informação solicitada ou executa a tarefa pedida. Essa comunicação pode ser estática ou dinâmica e também pode se dar através de scripts. 

O que são servidores dedicados e não dedicados?

Servidores dedicados são, como o próprio nome já diz, máquinas dedicadas unicamente a prover o processamento das requisições feitas ao seu site e as suas aplicações. Todos os recursos disponíveis naquele servidor estão à disposição de você. Ele tanto pode estar localizado localmente ou em um datacenter e é indicado quando o uso de hospedagem compartilhada já não é capaz de suportar as requisições de suas aplicações. O servidor não dedicado é justamente o contrário disso tudo, todas as suas aplicações e as requisições feitas a elas são armazenadas em um servidor juntamente com outras tantas aplicações de outras pessoas. Todas as requisições feitas a essas aplicações devem dividir todos os recursos que esse servidor possui. Se uma dessas aplicações requerer mais recursos com muita frequência, o resultado óbvio é que as demais terão perda de performance devido ao uso excessivo dos recursos disponíveis pela outra. 

O que é Cloud Computing e Cloud Server?

O cloud computing ou computação em nuvem é a nomenclatura adotada para a técnica de processamento e armazenagem de dados que utiliza diversas máquinas interligadas para executar as mesmas tarefas que antes seriam executadas numa única máquina. Essa técnica permite a escalabilidade dos recursos e garantem um grande ganho de desempenho na execução das tarefas. O Cloud Server é, nada mais nada menos, do que essa técnica aplicada aos servidores web. Assim todos os servidores processam todas as aplicações contidas “na nuvem” e utilizam para isso a soma de seus recursos. Assim, cada cloud server é um servidor virtual que utiliza recursos seus e dos demais para executar as tarefas e requisições solicitadas. Há sempre um servidor físico de reserva para o caso de problemas e ele é usado para suprir alguma eventualidade relativa à falhas técnicas que ocorram “na nuvem”. Tudo isso se dá de forma automática e garante sempre a máxima performance possível dos processos. 

Quais as vantagens e desvantagens disso?

Escalabilidade de recursos de computação que permite o deslocamento desses recursos de forma simples e rápida para suprir demandas elevadas momentâneas de uma determina aplicação sem a necessidade re reinicializar o sistema operacional e impedindo a queda do sistema. Assim, se o servidor “X” que estiver fazendo o processamento sentir-se insuficiente para tal, ao invés de “cair”, simplesmente migra a requisição para outro servidor e a aplicação continua operacional. 

Grande disponibilidade de recursos, a realocação dinâmica em casos de “panes” ou de requisições que excedam a capacidade do servidor no qual as aplicações se encontrem garantem um tempo “uptime” sempre elevado graças à vasta disponibilidade de recursos. 

A redução de custos é um grande atrativo. Afinal de contas, um servidor dedicado de grande capacidade custa caro e um cloud Server pode suprir essa grande necessidade de performance por um custo mais baixo. 

A compatibilidade é total e pode ser usado tanto pelos sistemas operacionais Linux quanto Windows. Com aplicativos desenvolvidos em PHP, ASP, .NET, Java, Delphi, VB e outros. Podem ter acesso remoto através de Terminal Services para aplicativos corporativo e rodar sistemas de Comércio Eletrônico, Gestão – ERP, CRM, BI e outros. 

A segurança deve ser garantida por uma equipe bem qualificada e bem treinada, normalmente uma empresa de hospedagem de sites, de qualidade, tem total capacidade de garantir esse quesito. Essa é a principal desvantagem, além da latência. Pois fica difícil avaliar a questão da qualidade das equipes pela impossibilidade, na maioria das vezes, de conhecê-la. Como é um conceito colaborativo e ainda recente, é de vital importância que a empresa que ofereça os cloud Server tenha uma equipe técnica bem treinada e uma estrutura capaz de resolver rapidamente qualquer problema que aconteça “na nuvem”, além disso, há o problema relacionado à privacidade dos dados armazenados em servidores usados por várias pessoas e empresas. Segurança, recuperação de dados e backup devem estar na ordem do dia para qualquer empresa que se interesse em fornecer ou contratar um cloud Server. 

Fonte http://www.artigonal.com

Usando CSS Sprites

Esta técnica é aconselhável tanto para sites com layout de muitas imagens como para sites com menus animados. Sabe quando você passa o mouse sobre um item do menu de um site e tem que esperar a imagem que corresponde ao “botão pressionado” carregar? Ou quando o conteúdo em texto do site já apareceu, mas ainda fica uma eternidade até carregar imagem por imagem? É exatamente isso que vamos tentar evitar por aqui.

Veja, por exemplo, o tempo que alguns sites conhecidos levam para carregar o HTML e outros arquivos como imagens, css e javascript.

  • Yahoo: 10% do tempo carregando HTML e 90% do tempo em outras requisições.
  • eBay: 5% do tempo carregando HTML e 95% do tempo em outras requisições.
  • Youtube: 9% do tempo carregando HTML e 91% do tempo em outras requisições.

Já dá para ter uma idéia de que diminuir o número e o tamanho das requisições poderá reduzir significativamente o tempo de carregamento de um website.

Os Sprites

Sprite [en] é um frame de uma animação qualquer, termo muito utilizado no desenvolvimento de jogos 2d, em que todas as poses dos personagens eram gravadas em um só Bitmap para não sobrecarregar o hardware limitado da época. A programação do jogo só tinha o trabalho de dizer qual dos sprites ia aparecer fornecendo apenas o X, Y, altura e largura correspondente no Charset do personagem.

Ryu Sprites

Se a técnica já trazia uma otimização considerável para os processadores de games da época, podemos ser no mínimo otimistas com os ganhos pro desenvolvimento web.

Criando seu próprio CSS Sprite

A criação dos CSS Sprites é muito simples, abra o seu editor de imagens e unifique todos os frames do menu em uma única figura (ou separando por ítem de menu, por exemplo – crie seu próprio critério). Neste exemplo específico trabalharemos com os Sprites de todos os ítens de menu em uma única imagem. Veja abaixo.

Sprites do Menu

Se fôssemos carregar cada imagem desse menu separadamente teríamos 6 requisições e 18kb no total, e com tudo em uma só imagem o tamanho cai para 14kb. Uma notável otimização.

Partindo pro CSS

O código HTML do exemplo é bem simples, criaremos um menu em lista e colocaremos a imagem como background (plano de fundo) e ao definirmos largura e altura fixa para cada item de menu, só aparecerá o sprite correspondente. Veja abaixo.

Sprite Cut

A propriedade CSS responsável pela mudança dos sprites é a background-position. Ela definirá em que posição o background será exibido, e a partir daí, basta ver na figura onde está o X e o Y do sprite desejado.

todos os links dentro do menu terão a imagem dos sprites
como background

#menu li a { background: url(images/sprites.jpg) no-repeat; display:

 block; width: 120px; height: 60px; }

 

define para cada item a posição em que o sprite está na imagem



#menu li .home { background-position: 0px 0px; }
#menu li .home:hover { background-position: 0px -60px; }
#menu li .textos { background-position: 120px 0px; }
#menu li .textos:hover { background-position: 120px -60px; }
#menu li .contato { background-position: 240px 0px; }
#menu li .contato:hover { background-position: 240px -60px; }

Clique aqui para ver o exemplo online.

Pense também na vantagem na hora de editar um layout, basta abrir uma única imagem no Photoshop, fazer todas as alterações e salvar. CSS Sprites deixa o site mais leve pro usuário, da uma folga maior pro servidor e ainda facilita a manutenção pro designer

fonte: http://www.richardbarros.com.br