Cloud Computing

8 out, 2012

Mudança do paradigma de cloud computing: a nova arquitetura de client-cloud

Publicidade

Conversa típica de happy hour de profissionais de TI: tecnologia. Mais precisamente, cloud computing. Um debate interessante que apareceu em um desses eventos foi a questão das diferenças entre a arquitetura cliente-servidor e o ambiente de cloud. Bem, vivenciei a mudança do modelo centralizado para o cliente-servidor e agora vivencio a mudança para o paradigma de cloud computing. E acho que podemos batizar essa nova arquitetura de client-cloud.

O modelo cliente-servidor substituiu como força dominante o ambiente centralizado, no qual havia um mainframe ligado a terminais 3270 de fósforo verde… alguns ainda lembram. Os terminais, não chamavamos na época de equipamentos clientes, não tinham inteligência nenhuma. Simplesmente eram tela e teclado. O modelo cliente-servidor apareceu com a chegada dos PCs e sua imensa (para época) capacidade computacional. Com interfaces gráficas e sua maior usabilidade, disseminou-se rapidamente, e o modelo cliente-servidor tornou-se o modelo dominante. Aliás, hoje, é o nosso modelo mental de arquitetura de sistemas corporativos. Para recordar, acessem a Wikipedia.

Depois do frenesi do então chamado downsizing, caimos na real e descobrimos que o modelo distribuído cliente-servidor, apesar de sua usabilidade, gerava custos de propriedade bastante altos. Com a proliferação de servidores, a complexidade de gerenciamento do ambiente tornou-se imensa e altamente custosa. Inumeras análises mostram que a média de utilização dos servidores é muito baixa, gravitando em torno dos 5% a 10%. E, pela dificuldade de gerenciamento, quanto mais capacidade computacional precisamos, mais servidores instalamos, mesmo com essa baixissima média de utilização. É uma conta que não fecha.

Ao mesmo tempo, começamos a usar equipamentos móveis altamente sofisticados. Um smartphone é um computador que carregamos no bolso, e o telefone é apenas um dos seus diversos periféricos e talvez um dos menos usados. Sua capacidade computacional é muitas vezes maior que a dos PCs da época da transição para o cliente-servidor. E, com o processo de BYOD (Bring Your Own Device), o custo de aquisição dos equipamentos começa  a sair das mãos das empresas para a dos próprios usuários.

O que estamos buscando? Um gerenciamento melhor que o modelo atual cliente-servidor e mantendo ao mesmo tempo a flexibilidade e a usabilidade das plataformas cliente. Ora, se substituirmos os servidores por um data center, ou melhor, por diversos data centers interligados e vistos como uma única entidade, uma nuvem, temos o modelo cliente-nuvem ou client-cloud.

O modelo de computação em nuvem torna o ambiente do data center, no qual ficam os servidores, muito mais eficiente, pelo uso de tecnologias de virtualização e automação. O modelo leva naturalmente a um maior compartilhamento, o que eleva consideravelmente a média de utilização dessas máquinas. Além disso, pagamos apenas pela capacidade realmente utilizada. Não precisamos manter um parque computacional subutilizado, esperando aqueles momentos de pico de utilização. Passa-se do modelo financeiro capex (capital expenses) para opex (operating expenses). Um atrativo e tanto para os CFOs. Como no modelo cliente-servidor, o modelo client-cloud tem equipamentos cliente poderosos, processando bastante código e regras de negócio. Também mantém a camada de interface com o usuário, que aliás é muito mais intuitivo que o teclado-mouse anterior.

Assim, a conversa acabou chegando a um denominador comum. O modelo dominante para os próximos anos, pelos atrativos oferecidos, é o de cloud computing. Aliás, vamos deixar de falar em cloud computing para falarmos apenas em computing. Cloud será nosso modelo mental de pensar computação. E a arquitetura dominante será client-cloud, com os usuários utilizando o modelo rich client (mesmo HTML5 é rich client) com interfaces intuitivas, explorando a potencialidade dos equipamentos móveis (geolocalização, acelerômetros, câmeras etc.) e novas tecnologias de interação como reconhecimento e controle por gestos (Kinect) e “natural-language question answering” exemplificados pelo Watson da IBM e o Siri da Apple.

O processamento será, portanto, distribuído em parte na camada cliente (rich client) para exploração de interfaces sofisticados e na camada cloud, na qual estarão os imensos volumes de dados (Big Data) e as capacidades computacionais quase infinitas em escalabilidade e elasticidade. Uma vantagem desse modelo é que as aplicações cliente tenderão a ser gerenciadas pela própria nuvem em appstores ou lojas de aplicativos e os dados serão compartilhados por quaisquer dispositivos.

Resultado do happy hour: os arquitetos de software presentes saíram de lá com criativas ideias para seus novos aplicativos.