Cloud Computing e Open Source: complementares e não concorrentes

Uma questão que volta e meia me fazem em palestras sobre Cloud Computing e SaaS é se este conceito abala o modelo Open Source. Venho pensando no assunto e gostaria de instigar um debate aqui. Na minha opinião, SaaS e Open Source são complementares e não competidores.

Vamos raciocinar juntos. Olhando a cadeia de valor do negócio software podemos pensar em três perguntas básicas:
a) Quem constrói o software?
b) Quem adiciona valor e o distribui?
c) Quem o utiliza?

Para a primeira pergunta respondemos que o software pode ser criado por uma comunidade ou por empresas, seja para uso próprio ou para comercialização. O modelo Open Source se encaixa neste caso. É basicamente um modelo de criação e desenvolvimento de software. Por ser um modelo colaborativo, ele permite criar novos modelos de negócio, alternativos ao modelo tradicional de vendas de licenças. A receita geralmente vem de serviços adicionados em torno do software em si.

Já SaaS é um modelo de distribuição e consumo de software. Uma empresa ou um usuário adquire um serviço que utiliza determinado software. Por exemplo, um usuário adquire o direito de usar um serviço de email como o Gmail, gratuitamente como usuário final ou pagando um fee como empresa.

Analisando a cadeia de valor do software vemos então que Open Source se encaixa na questão “quem constrói o software?”, sendo portanto um modelo de desenvolvimento, não importando se o software será distribuído via modelo on-premise ou via SaaS.

Vamos ver alguns exemplos na prática. O Linux é um sistema operacional desenvolvido pela comunidade e um dos ícones do movimento Open Source. A própria comunidade e algumas empresas adicionam valor a ele, em forma de componentes e utilitários adjacentes, como as distribuidoras, e o disponibilizam, de forma gratuita ou sob contrato de serviços como remuneração pelo valor agregado. No modelo atual, on-premise, quem se encarrega de baixar o sistema nos servidores e customizá-lo é a própria empresa usuária, por conta própria ou contratando serviços de terceiros. Mas ele pode ser usado como SaaS? Sim, aliás, muitas das ofertas de Cloud Computing públicas e SaaS existentes hoje utilizam Linux e outros softwares Open Source como base, adicionando softwares de código fechado às suas ofertas. Dois exemplos bem conhecidos são o EC2 da Amazon e o Google AppEngine, que são suportados por servidores Linux e softwares de virtualização e gerenciamento Open Source, como o Xen.

Existem também diversos projetos Open Source que permitem criar infraestrutura de nuvens privadas baseadas em Linux, como os projetos Eucalyptus (http://open.eucalyptus.com/) e Nimbus (http://www.nimbusproject.org/). Uma outra iniciativa bem interessante é o projeto Bitnami (http://bitnami.org/) que permite implementar ambientes operacionais Open Source na nuvem EC2 da Amazon. O stack de software Bitnami inclui aplicações e softwares Open Source que podem operar como uma AMI (Amazon Machine Image).

O usuário de nuvens públicas ou de ofertas SaaS, seja ele uma pessoa ou uma empresa, quer usufruir do serviço ou das funcionalidades que a nuvem vai prover, e não do código fonte. Ele quer se abstrair das atividades relacionadas com implementar e manter os recursos computacionais. Aliás, para ser lucrativo o provedor de um software SaaS precisa de basear em três pilares: ambiente virtualizado e multi-tenancy, padronização e automação. Ora, um ambiente padronizado impede que cada usuário customize o software ou altere o código a seu prazer. É diferente do modelo on-premise onde a responsabilidade pelo bom ou mau uso do software é da empresa usuária. No SaaS o provedor é o responsavel pelo nivel de serviço e não poderá oferecer versões individualizadas sob pena de não ter a economia de escala suficiente para ser lucrativo. Construir e manter operacional uma infraestrutura de nuvem pública (SaaS é um modelo de nuvem pública) demanda alto investimento.

Por outro lado, o provedor de uma nuvem pública ou de uma oferta SaaS pode abrir o código fonte do seu software para conseguir colaboração da comunidade e acelerar o processo de inovação. Mas o software disponibilizado como SaaS não será aberto. Os usuários devem ter acesso à mesma versão do software e para isso o provedor tem que fechar a versão disponibilizada na nuvem.

Claro que se o software for Open Source sempre poderemos copiá-lo e criarmos nossas próprias nuvens públicas. Para criar diferenciação no serviço, cada provedor acabará tendo que criar funcionalidades específicas e diferenciadoras, inclusive usando alguns componentes de software fechados. O resultado final é o aumento da concorrência, que será salutar para o mercado como um todo.

Assim, o se o usuário quiser modificar um determinado software Open Source para executar em nuvem uma funcionalidade que interesse especificamente a ele, terá como opção usar este software em uma nuvem IaaS, assumindo a responsabilidade pelo seu uso. Um provedor de IaaS como a Amazon provê apenas servidores virtuais com seus sistemas operacionais, como Linux. O uso dos aplicativos é de responsabilidade do usuário do serviço e não da Amazon. Diferente do modelo SaaS, onde o provedor é responsavel pela qualidade do nivel de serviço oferecido.

Na minha percepção, o uso de Open Source atuando de forma sinérgica com softwares fechados pode abrir oportunidades para criação de ofertas de Cloud e SaaS mais rapidamente e mais baratas. São complementares e não concorrentes. Qual opinião de vocês?

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: