LOGO UOL HOST

Receba por e-mail as novidades e publicações da Academia UOL HOST

Em palestra do TDC 2015, UOL HOST mostra como tirar vantagens das aplicações na nuvem

O UOL HOST marcou presença no congresso de desenvolvimento de software que está em sua terceira edição

O UOL HOST marcou presença no The Developers Conference 2015, congresso de desenvolvimento de software que está em sua terceira edição. Na capital paulista, Guilherme Pelliciotti, diretor de Pesquisa e Desenvolvimento do UOL HOST, apresentou a palestra Garantia de Recursos para Executar sua Aplicação na Nuvem.

O palestrante começou relembrando ao público a história recente do webhosting. Em sua primeira versão – que é tida como o padrão de mercado para webhosting –, o ambiente usado pelo cliente é compartilhado com a mesma infraestrutura física.

“Nesse sistema, todo o conteúdo dos usuários ficava contido dentro de uma mesma máquina, o que fazia com que, muitas vezes, um cliente sobrecarregasse o uso do sistema e interferisse no desempenho da aplicação de outros clientes”, explica o palestrante.

Ou seja, nesta versão havia apenas um controle de abuso reativo, sendo que, além disso, o processo de backup era lento e as infraestruturas eram segregadas em Linux e Windows. “Este é o modelo convencional para hospedagem ainda usado pela vasta maioria dos nossos concorrentes”, ressalta.

Em seguida, ele apresentou as vantagens da segunda versão de webhosting, já consolidada há mais de dois anos no UOL HOST, na qual há o isolamento em containers (LXC).

“Agora é possível garantir exatamente o que você entrega ao cliente”, afirma Pelliciotti. Isso porque há um controle de abuso nativo via cgroups, garantindo isolamento entre os clientes.

⇒ Leia também: Em uma das melhores palestras do Qcon 2015, UOL HOST demonstra vantagens do LXC

Além disso, a infraestrutura usada, que é provida pelo UOL Cloud, é híbrida, beneficiando plataformas Windows e Linux. Outro diferencial é que com essa versão houve uma redução de seis vezes na infraestrutura usada em comparação com a anterior.

O produto de cloud público também passou pelo mesmo ciclo evolutivo

Há cinco anos, na versão inicial, a virtualização do cloud público foi construída sob o hypervisor Xen. Nesse curto período, não havia isolamento de recursos de leitura e escrita em disco e as ferramentas de automação de mercado eram precárias.

Um ano mais tarde, já na segunda versão (que é usada pelo UOL hoje em dia), a virtualização passou a usar VMWare como hypervisor, com total isolamento de recursos (inclusive disco) e arquitetura desenvolvida pelo próprio Universo Online.

Cloud Storage e Cloud Balancer também foram construídos e passaram a fazer parte deste portfólio. Além disso, agora o disco pode ser provisionado sob demanda e a tarifação é feita por hora ou mensalmente.

Escalabilidade

Esse foi outro ponto da apresentação que despertou o interesse dos participantes. Pelliciotti explica que este recurso se divide em dois modelos, e ambos têm seus prós e contras.

De acordo com sua apresentação, a Escalabilidade Vertical é aplicável quando há necessidade de prover mais recursos para sua aplicação sem precisar de evolução do código, ou quando o código existente é refatorado para suportar mais operações simultâneas. Podem ser adicionados recursos como CPU, memória, rede e armazenamento em um ou mais nodos, aumentando a capacidade total do sistema.

“Os pontos positivos são o incremento das conexões simultâneas ou usuários nodos de uma maneira simples. Já os pontos desfavoráveis são o limite do custo-benefício, o limite da tecnologia e a maior densidade, que reflete no maior impacto em situação de falha”, pondera.

O outro modelo, de Escalabilidade Horizontal, pode ser atingido pela adição de novos nodos, com funcionalidades idênticas às dos que já existem. Aqui, a carga é redistribuída entre os novos nodos, aumentando a capacidade total do sistema.

“Seus pontos positivos são as conexões e os usuários simultâneos no sistema como um todo, assim como mais operações e menor densidade por nodo, o que resulta em menor impacto em situação de falha. Os contras, por sua vez, são que você pode, eventualmente, precisar de mais espaço físico e que este modelo tem maior complexidade de implementação nas aplicações”, explica o palestrante.

Mas como toda essa evolução deve ser colocada em prática?

Depois da demonstração dos serviços de cloud, algumas perguntas pairaram entre aqueles que assistiam à palestra. A principal delas era: o que é melhor aplicar para o desenvolvimento de um site: containers ou virtualização?

O universo dos containers garante facilidade de uso, templates “tunados” e atualização das linguagens e kernel do ambiente.

Já com a virtualização, é o cliente quem controla e mantém o ambiente, com flexibilidade para rodar qualquer componente.

“Assim, ao fazer essa comparação, fica claro que o mundo do container é mais produtivo para aplicações de menor porte e que utilizem componentes-padrão, como linguagem PHP, Java e banco de dados MySQL, pois você não precisa se preocupar em manter a infraestrutura por trás do site”, esclarece o especialista.

Em resumo, vale entender a necessidade de sua aplicação e a dificuldade de refatorá-la para utilizar as ferramentas e os conceitos de arquitetura de maneira mais eficiente.