Conforme sua expertise, o Cloud Computing na sua opinião é uma moda ou uma tendência real e potente?
Embora ainda esteja se consolidando e recentemente tenha acontecido uma explosão quanto à exposição da questão, vamos caminho para o Cloud Computing como uma nova maneira de conceber os Sistemas Informáticos. É um novo modelo possível graças a seus antecedentes tecnológicos e tem muitas vantagens para oferecer. Inclusive há outra realidade tangível que materialmente mostra que vamos nesse caminho; o fato que os PCs sejam cada vez “menos inteligentes” e mais focados para a Internet, os chamado Net Books, computadores que são muito mais pequenos, leves e com pouca memória. Na Nuvem, as empresas não armazenam, o disco rígido não é necessário, o que se precisa é uma interface que dê acesso e banda larga. De certo modo é uma tendência a reduzir potência do cliente e aumentar potência centralizada.
Se agora eu procurar o conceito Cloud Computing em um buscador, aparecerão mais de 53 milhões de resultados, e embora haja uma grande oferta de definições é um conceito tão complexo que acaba por atrapalhar em suas múltiplas arestas. Será por isso que você o chama de mudança paradigmática, onde o conceito de “nuvem” deve englobar vários outros relacionados com a tecnologia da informação?
O conceito do Cloud Computing envolve os conceitos de cluster, virtualização, Internet, Software como Serviço (SaaS), escalabilidade e data center. E muitas vezes é definido pela cor do cristal com que se vê.
Os que trabalhamos em informática estamos acostumados a um paradigma: eu tenho o computador e tenho um cabo que conecta a um servidor e este é meu. Tenho que me encarregar de que ele funcione e instalar o sistema operacional. Se depois eu tiver mais pessoas trabalhando, então terei de comprar PCs que irão se conectar a esse servidor que, além disso, tem que escalar para suportar os novos clientes. Esse é o paradigma com o qual estamos trabalhando hoje. Por exemplo, um dos alicerces dos projetos de software é o dimensionamento de hardware. Que volume de dados irá manipular esta aplicação? Quantos usuários vai ter? E outras variáveis de acordo a quão crítica for a aplicação para a empresa: SLA, becape, redundância de linhas de comunicação, ar condicionado, monitoramento, atendimento técnico 24 horas.
É um investimento para garantir a continuidade do funcionamento que às vezes não se pode pagar. Neste paradigma tudo é seu, embora você terceirize o software, você o instala em seus servidores, as máquinas são suas, bem como as aplicações, você consegue um fornecedor de banda larga. Ou seja, você consegue uma quantidade de fornecedores e arma sua infra-estrutura. O paradigma do Cloud Computing é tirar tudo isto para fora da empresa, deste modo mudam as regras do jogo: o fornecedor “cloud” satisfaz todas as suas necessidades que mencionei anteriormente, e muda o tipo de investimento: em lugar de 50 mil dólares em infra-estrutura em um piscar de olhos, você pagará à nuvem 500 dólares por mês e contratará a potência equivalente.
A solução completa para mudar esse paradigma para o cloud computing, onde “tudo o que é seu está do outro lado”, envolve um pilar fundamental de infra-estrutura, principalmente de virtualização e do SLA, que é a maneira em que o fornecedor garante o nível do serviço.
Esta definição de focalizar sua aplicação de negócio em servidores externos é um ponto de vista macro do conceito do Cloud Computing.
O Software as a Service (SaaS) também está implícito dentro do conceito do Cloud Computing?
Sim e não. Quer dizer, pode-se ter SaaS sem usar Cloud Computing. Um exemplo representativo é SalesFore.com.
O SaaS é mais propriamente um modelo de negócios, em vez de vender o software, ele o aluga. Similar modelo tem o cloud que aluga os servidores ou a potência quando você precisa.
Claro, a combinação do Cloud Computing + SaaS resulta interessante.
Voltando ao assunto de dimensionamento de um projeto, suponhamos um caso hipotético: o crescimento abrupto de um negócio que começou com pouca infra-estrutura e de um dia para outro precisa aumentá-la sob risco de “fazer água”. Neste cenário, ofereceria o Cloud Computing vantagens a esta necessidade de infra-estrutura, de escalabilidade?
Dimensionar corretamente um projeto é todo um capítulo de uma aplicação. Sem dúvida, a propriedade de escalabilidade é essencial, ou a flexibilidade que permita aumentar a potência ou eventualmente baixá-la sem muitos requerimentos.
De acordo a suas previsões, num determinado momento você pode atingir um número razoável mas, se a demanda dessa aplicação explodir, a máquina que você tem vira obsoleta rapidamente e você não têm a possibilidade de escalar à mesma velocidade, o coquetel pode ser fatal. Então, o que se costuma fazer para se preservar, é comprar uma margem superior à potência necessária. Mais claro ainda:“quando a onda vier você tem que estar em cima da prancha”. Você não pode ser vítima de seu próprio sucesso. Agora, para ter essa estrutura escalável, é obvio que você vai ter que pagar bem mais.
Ao depositar seus negócios, bases de dados, sistemas operacionais, etc. em uma nuvem de outra empresa (por exemplo na EC2 do Amazon), as grandes empresas não perdem o controle de seus sistemas informáticos e aplicações?
Essa é a resistência que poderiam ter as grandes corporações, talvez seja questão de equilibrar custos, mas também de perder independência.
É assunto sério pensar que os dados já não estarão nas “minhas máquinas”, mas na nuvem. Pode acontecer de se ter a sensação de perda de controle dos dados que você gerencia (quais são seus clientes, preços, etc.). Aqui, a segurança e o SLA que tiver estabelecido com o fornecedor é fundamental.
Para quem é útil a Nuvem? Quem é mais beneficiado com esta nova maneira de conceber o armado de modelo de negócios baseados no IT, as pequenas empresas ou as grandes corporações?
Em diferentes graus, todas aquelas empresas que vendem software, pequenas e médias, por um lado, mas também é vantajoso para grandes corporações.
As grandes empresas deveriam avaliar o que é mais conveniente para elas, se desenvolver e manter seu próprio data center, ou alugar essa infra-estrutura, ter o centro de cômputos na Nuvem. Por outra parte, os volumosos investimentos também têm que tomar em conta a obsolescência da tecnologia e a amortização. Em cinco anos, esse data center seguirá sendo o mesmo? Ou, qual é o custo da manutenção? Às grandes corporações também pode interessar seguir o caminho da nuvem, com certeza.
Também é uma questão de dar opções a seus clientes potenciais. Suponhamos o exemplo de uma solução qualquer que resolve o gerenciamento dos RH, o core de determinado negócio, um ERP, etc. Aparece um cliente dessa solução que acha que é satisfatório funcionalmente, mas ele não a quer em seus servidores e sim na nuvem do Amazon. A software house deve ter sua solução “cloud-enabled” para não perder esse cliente.
Para o caso das empresas mais pequenas, que não têm a possibilidade de montar sua própria infra-estrutura, isto é uma grande oportunidade. Além de ser conveniente por uma questão de custos, pela potencialidade de seu escalabilidade e porque estaria respaldado se ela explorar o vender em um esquema SaaS.
Em muitos sentidos, o Cloud Computing é uma enorme oportunidade para as casas de Software.
Como exemplos de computação em nuvem destacam-se as seguintes dentre os grandes jogadores no terreno IT, possibilitadas pela sua enorme infra-estrutura: EC2 do Amazon, Apps do Google, eyeOS e Azure da Microsoft, IBM, que provêem aplicações comuns de negócios em linha acessíveis de um navegador web, enquanto o software e os dados se armazenam nos servidores. |
O papel do GeneXus no cenário multiplataforma da Cloud ComputingUma situação atual do cenário da nuvem é a condição multiplataforma de seus fornecedores, condição que se vislumbra ao nomear os principais jogadores que partem de características tão dessemelhantes entre si: Amazon não fabrica computadores, IBM sim, Microsoft vem do software (Sistema operacional, Ofimática, base de dados), Google era um buscador e cobre outras áreas agora. Cada um parece ter sua visão ou interpretação da nuvem. Neste panorama, discute-se a possibilidade de conformar uma nuvem aberta e com padrões, o que se representa no polêmico
Open Cloud Manifesto. Gustavo Carriquiry enfatiza nas possibilidades que oferecerá o GeneXus nesse sentido.
Existe uma necessidade de fixar padrões?
Há intenções de fixar padrões de nuvens. Continuando com o exemplo do cliente que quer a solução na nuvem, provavelmente vai ser mais específico e ele vai pedir determinada Nuvem. A do Google, Microsoft ou Amazon? Por nomear algumas. E se acontecer essa situação pode gerar um problema parecido ao que acontece com as Bases de dados, o fornecedor da solução não é quem escolhe, é o cliente o soberano. Ter soluções “para uma nuvem” certamente é uma limitação.
Além disso, há outras situações hipotéticas que resolver, os mecanismos para acessar uma nuvem e não outra, devem ser claros. O que acontece se uma empresa decide baixar-se da Nuvem e voltar para o centro de cômputos próprio, ou porque quer mudar-se para outra?
Mas com o GeneXus frente à variedade de plataformas estamos bem parados, pela mesma razão em que somos multiplataforma quanto à base de dados.
Deploy to The CloudSendo o GeneXus uma ferramenta de desenvolvimento, como vai participar do Cloud Computing?
É possível utilizar um esquema SaaS vendendo, em vez da licença GeneXus, o uso do GeneXus instalado na Nuvem ou o que é igual: em vez de instalar o GeneXus na máquina do cliente, eu ofereço usá-lo da Nuvem e que ele acesse com o Net Books ou Smart Phone. Mas, eis aqui uma bifurcação especificamente no que diz respeito o GeneXus: desenvolver na nuvem ou desenvolver para a nuvem. Do GeneXus, o primeiro que devemos fazer é facilitar o movimento nestes cenários de maneira flexível para nossos clientes, isto é, em um clique, simplificando ao desenvolvedor a maneira de ir para a Nuvem. Nestas questões, estamos pesquisando e trabalhando em protótipos.
Os desenvolvedores GeneXus têm uma vantagem neste cenário pois a implantação da solução será um assunto a resolver sobre o final da mesma e não marcará todo o desenvolvimento da solução. A solução é a mesma mas “implantada” em diferentes plataformas (“on-premise”).
Um exemplo de como seria no futuro subir à nuvem as aplicações geradas no GeneXus. Neste caso específico no Amazon.