You are on page 1of 14

ndice

Introduo ......................................................................................................................................................... 2 Histria .............................................................................................................................................................. 3 Motivao .......................................................................................................................................................... 4 Software as a Service ..................................................................................................................................... 5 Hardware as a Service ................................................................................................................................... 6 Desvantagens e/ou Preocupaes .................................................................................................................... 7 Cloud Platforms ................................................................................................................................................. 8 As plataformas locais ..................................................................................................................................... 9 As plataformas na nuvem ............................................................................................................................ 10 Concluso ........................................................................................................................................................ 12 Referncias e Bibliografia ................................................................................................................................ 13

[ CLOUD ]

Pgina 1

Introduo
O Cloud Computing uma das mais importantes tendncias tecnolgicas dos prximos tempos. Mas o que afinal cloud computing? No existe ainda uma definio clara, se quiser um exemplo disso faa esta pergunta a cinco pessoas ligadas tecnologia e provavelmente ir obter cinco ou at mais respostas diferentes. Existem opinies que dizem que tudo o que est fora da firewall cloud computing, ou seja, um simples webservice pode ser considerado cloud computing. Esta resposta at faz sentido porque na realidade o processamento desse webservice ocorre fora do nosso computador. No entanto, cloud computing muito mais do que isso. Essencialmente trata-se de afastar completamente a computao e os dados dos computadores de secretria e portteis, e simplesmente mostrar ao utilizador os resultados da computao que ocorre numa localizao centralizada (grandes datacenters) e transmitida via Internet para o ecr do utilizador. Mais ainda, potenciar a interao entre o software, que neste paradigma reside na nuvem, atravs de servios. Estaremos ento a voltar poca dos terminais estpidos? Iremos tentar perceber a resposta a esta pergunta mais frente neste artigo, mas neste momento torna-se necessrio perceber as mudanas que ocorreram no passado para perceber o porqu dessas mudanas no futuro. Olhando um pouco para a histria dos computadores, no propriamente a partir do primeiro computador no sentido do termo (computador humano, pessoa que realizava clculos numricos), mas sim a partir do primeiro computador eletrnico, vamos tentar perceber as mudanas nas arquiteturas dos sistemas e as razes que levaram a essas mudanas.

[ CLOUD ]

Pgina 2

Histria
Os primeiros computadores eram mquinas enormes, muito pesadas e de elevado custo. Sempre que algum pretendia realizar alguma computao tinha que se deslocar a esse computador, do tamanho de uma sala, para a poder realizar. O que importante reter que a computao comeou, por razes econmicas, com uma arquitetura de centralizao da informao. Mais tarde surgiram os terminais. O uso de terminais j no obrigava a que o operador se deslocasse ao computador para poder realizar operaes e permitia ainda que estivessem vrias pessoas a usar o computador em regime de partilha de tempo de computao. A arquitetura continua centralizada, todas as operaes so realizadas no computador, sendo o terminal apenas um interface para aceder ao computador. medida que a Lei de Moore se vai manifestando, o tamanho e custo dos computadores desce e torna-se prtica comum a utilizao de computadores pessoais visto que j era economicamente vivel ter um computador no escritrio ou at em casa. Com o uso de computadores pessoais passa-se a utilizar uma arquitetura completamente descentralizada. Neste momento poderia optar-se pelas duas arquiteturas, a centralizada que ainda oferecia um custo mais baixo em termos de custo por utilizador, ou um sistema completamente descentralizado que oferecia uma maior autonomia e melhor interface aos utilizadores. Posteriormente surge a arquitetura cliente-servidor em que existem computadores em ambos os lados. Algumas partes do programa correm no computador-servidor e outras correm no computador-cliente. Isto causa um aumento da complexidade do software dada a necessidade de comunicao e sincronizao entre as partes. Estamos agora numa arquitetura mista. Entretanto surge o primeiro Web browser que apenas mostrava texto e praticamente todo o processamento era realizado no lado do servidor. Voltamos novamente a uma arquitetura completamente centralizada. As capacidades deste tipo de aplicaes eram muito limitadas. Os Web browsers evoluram, sendo j possvel correr cdigo de aplicaes dentro destes, o que levou e leva a que apaream cada vez mais aplicaes Web em detrimento de aplicaes desktop. Esta arquitetura cliente-servidor oferece algumas vantagens tecnolgicas que naturalmente se tornam em vantagens econmicas. A centralizao de todos os dados no servidor um exemplo disso, que leva a um aumento da segurana e reduo nos custos de manuteno. Como pudemos observar, certa parte destas mudanas aparecem por razes econmicas. Se uma arquitetura diferente apresenta as mesmas funcionalidades a um preo mais reduzido tende a ser cada vez mais adotada.

[ CLOUD ]

Pgina 3

Motivao
Chegamos agora parte mais importante. Com o aparecimento de Web browsers com cada vez mais capacidades e cada vez mais cumpridores dos standards, e com as capacidades para acesso Internet que existem, torna-se cada vez mais possvel a ideia de afastar completamente a computao e os dados dos computadores pessoais e mov-los para a nuvem. Na base desta mudana esto, como mencionado anteriormente, a evoluo tecnolgica que agora existe e novamente as razes econmicas, nomeadamente com a reduo de custos que essa mudana pode proporcionar. Vamos agora dar uma vista de olhos nas prximas tendncias na rea das tecnologias de informao para tentar perceber se esta mudana ter ou no condies para acontecer. Prev-se que nos prximos anos, trs das principais tendncias na rea das tecnologias de informao sejam a mobilidade, o software como servio (SaaS) e o hardware como servio (HaaS). A mobilidade significa simplesmente que os notebooks vo ficar em casa. Ou seja, vamos passar a levar connosco dispositivos mais leves, mais pequenos e com a mesma eficincia. Esses dispositivos compactos tero preos relativamente baixos e sero munidos de aplicaes Web.

[ CLOUD ]

Pgina 4

Software as a Service
Software como servio significa que muitas das aplicaes de negcios sero contratadas no modelo servio em vez de licena de software. No modelo SaaS a empresa paga na proporo em que usa o software. Essa uma diferena fundamental em relao ao preo fixo de uma licena. Com o suporte de empresas como Oracle, SAP e Microsoft e de lderes da internet, como Google e Amazon, o modelo de desenvolvimento e distribuio SaaS tende a crescer muito nos prximos anos. Em vez de instalar software nos seus prprios servidores, as empresas contratam o fornecimento desse software como um servio. E em vez de pagarem uma licena de software, pagam mensalmente um custo por utilizador ou pelas horas em que os seus colaboradores estiveram a usar a aplicao. A interao com este software realizada da mesma forma que se realizam as interaes com as aplicaes empresariais modernas, ou seja, atravs de um Web browser. As contas de webmail so um bom exemplo de um software muito utilizado e fornecido como servio. Hoje em dia, praticamente todas as aplicaes podem ser fornecidas como servio. Esta ideia no nova, pois no passado j existiram Aplication Service Providers. No entanto, esta arquitetura no teve grande sucesso porque esses fornecedores dedicaram servidores e programas a empresas individualmente. O custo de operao e manuteno individual de cada um desses servidores impossibilitou o sucesso desta arquitetura. Os fornecedores de software como servio trabalham com uma arquitetura diferente: existe apenas uma instncia do software que serve os vrios clientes. Apesar de cada cliente ter apenas acesso aos seus dados e a uma verso personalizada da aplicao, existe apenas uma instncia desse software a correr no servidor. Esta arquitetura tem algumas vantagens tais como a reduo de recursos ocupados no servidor e a reduo dos custos de manuteno. Cada instncia de um software por menor que seja requer logo cabea alguma memria e algum processamento. Essa necessidade multiplicada por muitos clientes pode tornar considervel esse custo inicial. A arquitetura de que vos estou a falar reduz substancialmente essa necessidade dado que apenas existe uma instncia, embora mais pesada, do software. Como j foi referido, a manuteno est, neste caso, muito mais facilitada dado que todas as correes de erros e novas funcionalidades ficam imediatamente disponveis para todos os utilizadores. Os fornecedores disponibilizam ainda formas de os utilizadores poderem personalizar a sua verso da aplicao e at a partilha dessas personalizaes com outros clientes. A maioria dos clientes deste tipo de fornecedores so pequenas e mdias empresas, mas a constante complexidade e custo de manuteno de aplicaes internamente faz com que o nmero de clientes destes fornecedores tenda a aumentar e a expandir-se a empresas de maior dimenso.

[ CLOUD ]

Pgina 5

Hardware as a Service
Hardware como servio significa que a adoo de novas tecnologias de informao vai deixar de passar por investir grandes quantias de dinheiro com equipamentos, passando a adquirir a sua infraestrutura como servio. A banda larga de alta velocidade vai permitir colocar a infraestrutura em grandes datacenters com a mesma rapidez de resposta que teria com uma soluo local. A possibilidade de adquirir hardware como servio j existe h muito tempo atravs dos fornecedores de alojamento. No entanto esta opo enfrenta alguns problemas complexos tais como a escalabilidade. Normalmente nestes casos alugado um servidor dedicado o que leva a estarmos limitados capacidade desse servidor. Vamos agora pensar do ponto de vista empresarial. Imagine que tem uma empresa e compra um servidor para dar resposta s necessidades da sua empresa. Passado algum tempo a sua empresa est a ter cada vez mais sucesso no mercado, o seu servidor j no d resposta s necessidades e tem que adquirir outro e depois mais outro Por alguma razo o pas entra em recesso e o seu volume de negcios desce bastante. Ora, para alm dos problemas que a recesso lhe est a trazer tem ainda que se preocupar em acabar de pagar os servidores que teve que adquirir e que agora j no lhe fazem a mnima falta. Outro exemplo da mais-valia que o hardware como servio trs s empresas a capacidade de resposta a picos temporrios. Imagine que a sua empresa tem que processar um grande volume de dados no final do ms e tal no pode ser feito de outra forma. Provavelmente ter que adquirir tecnologia de servidor que estar a dar rendimento apenas no final de cada ms. Como j pudemos perceber trata-se de uma arquitetura altamente escalvel porque permite aumentar ou diminuir a capacidade do hardware numa questo de minutos. Alm disso muito flexvel porque d a possibilidade aos utilizadores de escolher quais as capacidades que cada instncia ter. A fiabilidade outra grande arma dado que tira partido de infraestruturas gigantes, como por exemplo a infraestrutura da Amazon ou do Google. Um dos exemplos mais conhecidos deste tipo de servio o Amazon EC2 (Amazon Elastic Compute Cloud).

[ CLOUD ]

Pgina 6

Desvantagens e/ou Preocupaes


At este momento s vimos vantagens neste paradigma, mas naturalmente tambm existem desvantagens. Algumas podem parecer desvantagens mas tratam-se apenas, at prova em contrrio, de preocupaes. O primeiro inconveniente tem logo a ver com a necessidade de conectividade, pois sem conectividade no possvel trabalhar. As ligaes com baixa largura de banda tambm podero limitar bastante o funcionamento deste tipo de servio caso a informao a transportar entre as partes seja de elevada dimenso. Outra das limitaes a apontar trata-se da privacidade e de toda a segurana que tem que existir. Existe alguma desconfiana quanto a deixar a cargo de outra empresa a tarefa de guardar dados importantes, quer sejam pessoais ou empresariais. Talvez este tema no se trate de uma desvantagem mas, apenas e s, de uma preocupao. Empresas que forneam estes servios vo ter o seu sucesso ou insucesso muito intimamente ligados sua reputao, e portanto os mecanismos de segurana sero uma das suas principais preocupaes. Outras existiro logo partida mas que tendero a desaparecer com a evoluo, tais como a menor velocidade, menor capacidade e menos funcionalidades que este tipo de software ainda tem em relao ao software desktop. Existem ainda algumas questes muito importantes por resolver. Quem o detentor legal da informao e da propriedade intelectual? quem contrata o servio ou quem o disponibiliza? possvel que o fornecedor negue ao utilizador acesso sua prpria informao? Estes e outros assuntos ainda esto a ser debatidos por empresas, advogados e universidades.

[ CLOUD ]

Pgina 7

Cloud Platforms
Uma das componentes mais importantes desta tendncia a chegada das plataformas na nuvem. Este tipo de plataformas permite aos programadores desenvolver aplicaes que correm na nuvem, usar servios fornecidos pela nuvem, ou ambos. Para compreender esta importncia pense como as aplicaes so desenvolvidas atualmente. Quando uma equipa de programadores cria uma aplicao, a maioria das coisas que essa aplicao necessita j existem, desde um sistema operativo que fornece o suporte bsico para executar essa aplicao a outros computadores que oferecem servios como, por exemplo, o armazenamento em base de dados. Se para desenvolver um software tivssemos que criar toda esta plataforma base existiriam muito menos aplicaes nos dias de hoje. Da mesma forma, se todas as equipas de desenvolvimento que pretendessem criar uma aplicao para correr na nuvem tivessem primeiro que criar a sua prpria plataforma tambm no veramos muitas aplicaes a correr na nuvem. Felizmente, os fornecedores esto cada vez mais a responder a este desafio e j existem algumas plataformas de desenvolvimento na nuvem. Para conseguirmos entender melhor as plataformas na nuvem vamos tentar perceber como que funcionam as plataformas locais.

[ CLOUD ]

Pgina 8

As plataformas locais
Independentemente de uma plataforma ser local ou na nuvem, pode ser vista como englobando trs componentes: um software base para interagir com o hardware existente, um grupo de servios fornecido pela infraestrutura e um conjunto de servios fornecidos por outras aplicaes. Nos primeiros tempos da computao, a plataforma no era mais do que um conjunto de software base. Quase todas as aplicaes utilizam algum software base na mquina onde correm, o que tipicamente inclui algumas funes de suporte, tais como um sistema operativo base, armazenamento standard e bibliotecas de tipos. Nos anos 80 e 90, com a disseminao da computao distribuda, foram adicionados servios disponibilizados pela infraestrutura, com o armazenamento remoto em ficheiros e bases de dados, a integrao e a identidade a tornarem-se muito utilizados. Hoje em dia apesar de as aplicaes existirem acima de tudo para fornecer servios a utilizadores finais, com a chegada das aplicaes orientadas para servios, os servios fornecidos por outras aplicaes locais tornaram-se tambm parte da plataforma. No fazendo diretamente parte da plataforma, as ferramentas de desenvolvimento so outra importante parte desta histria porque ajudam os programadores a construir aplicaes usando as trs componentes da plataforma.

[ CLOUD ]

Pgina 9

As plataformas na nuvem
O modelo de plataforma usado na nuvem muito semelhante ao modelo que acabmos de ver. No entanto, e dada as suas diferentes caractersticas, ir funcionar de forma diferente em cada camada. Percebemos facilmente isso se pensarmos na enorme necessidade de escalabilidade. Enquanto as plataformas locais lidam, no mximo, com aplicaes de nvel empresarial, as plataformas na nuvem tero que lidar com aplicaes de uma escala bem maior, onde o nmero de utilizadores ser tambm maior. Vamos agora olhar para a camada base e identificar algumas diferenas estruturais. Comeando pelo sistema operativo, sero fornecidas instncias de sistemas operativos a correr sobre mquinas virtuais. A utilizao de mquinas virtuais permite que o utilizador possa escolher as capacidades que quer ter na nuvem e, mais importante ainda, permite expandir muito rapidamente essas capacidades em caso de necessidade. No se esperam grandes limitaes quanto ao sistema operativo a utilizar nas mquinas virtuais, e numa primeira fase ser Linux o sistema operativo mais utilizado. No entanto a Microsoft j est a desenvolver a sua plataforma para a nuvem, a plataforma Azure, sendo difcil neste momento prever se conseguir recuperar as desvantagens que parece ter neste momento em relao a Linux. As plataformas na nuvem atuais no fornecem as mesmas opes que uma plataforma local. Os programadores esto limitados a poucas, ou at apenas a uma, formas de poder obter suporte local. Relembro que ao estarmos a falar de suporte local estamos a falar de, por exemplo, acesso a um servidor de bases de dados a correr na prpria mquina ou de frameworks sobre as quais as aplicaes correm. Estas limitaes tambm so, de alguma forma, consequncias da necessidade de escalabilidade mas tambm permitem aos fornecedores focarem-se no desenvolvimento e otimizao desse tipo de suporte. Antes de falarmos sobre as caractersticas dos servios fornecidos pela infraestrutura na nuvem e por outras aplicaes na nuvem importante perceber a interao que poder existir entre as duas plataformas.

[ CLOUD ]

Pgina 10

As plataformas locais podero tirar partido dos servios fornecidos pelas plataformas na nuvem, tal como as plataformas na nuvem podero tirar partido dos servios fornecidos pelas plataformas locais. A mudana para plataformas na nuvem ser em muitos casos uma mudana progressiva. As aplicaes locais vo cada vez mais inter-operar com servios e aplicaes que passaro a existir na nuvem at que um dia todas, ou pelo menos a maioria, estaro j a funcionar completamente na nuvem. Quanto a servios fornecidos pela infraestrutura, muitas aplicaes locais no tiram partido deste tipo de servios. Quando falamos de aplicaes na nuvem o mesmo poder acontecer. Dada a normal existncia de apenas uma instncia na nuvem poderemos ser levados a pensar que funcionalidades como o armazenamento em bases de dados e gesto de identidade passem a ser fornecidos cada vez menos como servio e passem a fazer parte do prprio software. Isto porque no existe a necessidade de partilhar essa informao com outras instncias. Este pode ser um caminho, mas o caminho contrrio ainda mais vivel, ou seja, focar o desenvolvimento do software na lgica de negcio e deixar a resoluo desse tipo de tarefas a cargo de servios que ligamos ao nosso software e dos quais tiramos partido. Vamos pensar, por exemplo, no servio de gesto de identidade. O programador no tem que se preocupar na forma de guardar e verificar a identidade dos seus utilizadores, bastando-lhe apenas saber utilizar um servio que lhe fornece soluo para essa e outras preocupaes. uma mais-valia importante. As plataformas que existem hoje em dia na nuvem tm normalmente um servio de gesto de identidade associado. Trata-se de uma limitao mas no deixa de ser um servio muito importante para as aplicaes, at porque a interao com outros fornecedores de identidade cada vez mais possvel. O servio de armazenamento de informao na nuvem um dos mais atrativos, mas mesmo este tem necessariamente que ter uma arquitetura diferente devido s caractersticas da nuvem. Isto poder significar que os programadores podero tirar partido deste tipo de servio mas poder implicar mais algum trabalho no desenvolvimento se o quiserem usar devidamente. Em relao a servios fornecidos por outras aplicaes no parecem existir grandes novidades. No entanto, a cada vez maior adoo de arquiteturas orientadas ao servio vo potenciar ainda mais a interao entre as aplicaes, sejam elas locais ou residentes na nuvem.

[ CLOUD ]

Pgina 11

Concluso
Como se pode constatou anteriormente, as plataformas no mudam muito ao longo do tempo. No entanto, sempre que aparece uma nova plataforma que apresenta reais vantagens em relao s existentes ela tende a ter um impacto muito grande. As plataformas na nuvem ainda no trazem todas as vantagens que as plataformas locais j disponibilizam mas apresentam srias vantagens competitivas. A adoo destas plataformas far parte do nosso futuro enquanto programadores ou simples utilizadores de informtica. Fica prometido para uma futura edio uma anlise mais aprofundada s plataformas existentes.

[ CLOUD ]

Pgina 12

Referncias e Bibliografia
Autoria Este artigo foi originalmente escrito por Vtor Tomaz para a 18 Edio da Revista PROGRAMAR (Fevereiro de 2009). Wikipedia - Cloud Computing HowStuffWorks.com Cloud Computing GigaOM How cloud and utility computing are different Cloud Computing Journal -What is Cloud Computing? Linux Magazine - Computing In The Clouds: Setting Expectations Chapell & Associates - A Short Introduction to Cloud Platforms InfoWorld - What cloud computing really means

[ CLOUD ]

Pgina 13

You might also like