Durante muito tempo trabalhei com desenvolvimento de software customizado, principalmente utilizando componentes open source. Nos últimos meses venho tendo uma experiência intensa com produtos comerciais, de código fechado.
Uma questão muito importante no mercado de software é o lock-in de fornecedores, no qual os clientes às vezes se vêem obrigados a manter um fornecedor de software mesmo sem estarem satisfeitos com o serviço/produto oferecido. Discussões em torno disso são muito freqüentes quando comparamos o modelo de desenvolvimento customizado com o trabalho em torno de produtos.
Além destas duas opções já antigas, há uma terceira na moda: Cloud Computing.
Embora eu tenha certas preferências pessoais em alguns cenários, não aponto nenhum desses modelos como o mais indicado de uma maneira geral.
Quando você compra serviços de software customizado, teoricamente o seu investimento inicial será mais baixo do que comprando um produto, mas deve-se avaliar o quão produtivo é o produto, o quanto de esforço você terá para desenvolver de forma customizada, qual é o “time-to-market” desejado, ROI, entre outros fatores. Isso varia demais de um tipo de projeto para o outro, e depende do grau de commoditização dos produtos e do conhecimento do domínio.
Além destes fatores, o lock-in é uma característica importantíssima que deve estar sempre na cabeça das pessoas. Existe uma tendência a achar que o fato de você comprar software proprietário vai necessariamente te prender a um fornecedor. Dependendo do cenário realmente existe uma dificuldade enorme em trocar, mas em outros casos isso é bem mais tranqüilo.
A questão é que com software customizado isso também ocorre muito. Software customizado pode amarrar o cliente até mais do que um produto comercial, dependendo de como for construído, e da participação do cliente no processo.
Sobre Cloud Computing, existe uma enorme febre nesse momento. Todo mundo falando em colocar aplicações “na nuvem”, nos ganhos de custo-benefício, na escalabilidade, e muitas outras “ilidades”. A proposta realmente é tentadora. Você rodar suas aplicações numa infra-estrutura gerenciada por experts do Google, da Amazon ou da Sun parece um sonho realizado. Se você pensar que eles compram hardware muito mais barato que a gente e já têm enormes parques tecnológicos com capacidade ociosa, praticamente fica impossível argumentar contra isso.
Para muitas empresas isso pode realmente fazer sentido. Colocar “na nuvem” serviços que não sejam muito críticos, para empresas de porte limitado. Agora, vamos pensar em empresas que já têm uma enorme gama de aplicações em produção, em datacenters existentes, com políticas de segurança, privacidade, etc.
Será que seria fácil e conveniente ligar a sua empresa “na nuvem”, expondo vários dados críticos e sigilosos, e trazendo riscos de segurança para seu ambiente? Pensem num cliente que já tem um site, uma intranet, ERP, e várias outras aplicações em produção atendendo a fins distintos.
Será que um diretor de tecnologia se sente seguro em abrir sua infra-estrutura para se integrar com redes, computadores e pessoas que ninguém sabe afirmar ao certo onde estão? Você teria certeza de que aqueles dcumentos valiosíssimos da sua proposta comercial não estariam acessíveis pelos concorrentes? Pense em quantas VPNs e configurações complexas de segurança seriam necessárias para adequação a esta nova topologia. Já não é tão sexy, não é mesmo?
Além deste aspecto, o hype em torno de Cloud Computing é tão grande que já estão sendo discutidas possibilidades de interoperabilidades entre Clouds. O mercado ainda está longe de amadurecer, e já vemos discussões comuns em mercados consolidados. Do meu ponto de vista, Cloud Computing pode ser muito interessante, mas é necessário um grau de confiança no fornecedor em níveis que eu raras vezes vi entre pessoas, e muito menos entre empresas.
Depois de tantos anos, comprar software continua muito difícil, e exige um conhecimento cada vez mais sofisticado. O segredo dos projetos melhor sucedidos que eu já vi é a parceria verdadeira entre os fornecedores e os clientes. Projetos de software que dão certo são os que têm pessoas competentes, bem intencionadas e ambiciosas em ambos os lados.
Os melhores fornecedores de software aproveitam cada projeto para trazer o máximo ROI para o cliente, e então conquistar sua confiança e parceria para mais projetos no futuro. E os melhores clientes são os que agem como donos do negócio de suas empresas. Eles buscam todas as oportunidades de melhorar os resultados das empresas, e com isso alavancar suas próprias carreiras.
A Concrete, modéstia à parte, é um baita fornecedor de software. E eu estou tendo a chance de atuar em projetos diferenciados e não há nada mais contagiante para um profissional de software. Estou tendo a chance e a responsabilidade de trazer resultados expressivos para a empresa, e se eu for realmente competente isso trará muitas vitórias para a empresa e para mim (bom, pelo menos eu espero..
).
Faca nos dentes, sempre em frente
Salve, Bruno!
Concordo em alguns pontos, como o fato do hype “Cloud” exigir um nível de confiança muito acima do normal. Porém, discordo do seu questionamento “Será que seria fácil e conveniente ligar a sua empresa “na nuvem”, expondo vários dados críticos e sigilosos, e trazendo riscos de segurança para seu ambiente?”, com um outro questionamento: “Você acha que uma empresa como a Google investiria neste projeto para perder a credibilidade da marca, que está em um patamar praticamente inquestionável?”. Todo projeto tem riscos, fato. Mas acredito que a análise dos riscos do projeto esteja sendo bem observada e trabalhada, no sentido de minimizá-los.
[ ]’s
Fabiano Izabel
Fala Bruno!
Geralmente gosto dos seus post, sempre leio, acompanho, mas este, sinceramente, fiquei meio sem entender. Afinal, você está falando de software proprietário, de cloud computing, ou de sua satisfação de trabalhar na empresa que você trabalha atualmente?
Sobre Cloud Computing, como o Fabiano falou no comentário anterior a este, eu também acho que você foi muito simplista em seus argumentos. Amazon, Google, etc, estão há alguns passos à frente de suas preocupações apresentadas aqui.
E que bom que você está gostando de trabalhar na Concrete!
Até mais!
[ ]
@Fabiano
Eu realmente acho que empresas comuns não terão problema nenhum em colocar seus dados “na nuvem”. Agora, não vamos esquecer que dentro de empresas como Google, Amazon e Sun, existem pessoas como todas as outras. Temos pessoas incorruptíveis e e pessoas corruptíveis.
Informações realmente críticas e sigilosas valem muito, e é claro que alguns indivíduos pagariam para ter informações confidenciais de concorrentes. O Google pode ser uma instituição corretíssima, mas será que TODOS os seus funcionários e prestadores de serviço serão incorruptíveis em situações como essas? Nós que trabalhamos com software conhecemos N casos de pessoas que conseguem mais informações e acessos do que deveriam.
Será que você como gestor colocaria informações vitais da sua empresa em uma estrutura que vazar para concorrentes? Eu sei que isso também pode acontecer dentro da própria empresa, mas pelo menos é mais fácil restringir.
Enfim, eu creio que Cloud Computing ganhará algum mercado, mas muito menos do que o hype nos faz supor. Na minha opinião esse tipo de serviço expõe a empresa a riscos maiores do que a redução de custos pode cobrir, então muita gente simplesmente escolherá ficar fora.
@Leandro,
Você tem toda a razão. Na verdade eu estava com várias idéias sobre 3 frentes diferentes, que têm algum grau de conexão, mas fui infeliz ao ligar as coisas. Realmente ficou um conteúdo sem propósito claro, não muito objetivo. Deixe-me tentar acertar, e possivelmente depois eu ajusto o texto original.
1 – Eu queria falar sobre as formas de lock-in, e mostrar que dependendo das circunstância você pode ficar até mais preso com software customizado do que comprando produtos. Com Cloud Computing você fica bem preso também.
2 – Comprando software com qualquer um desses modelos, você precisa de um fornecedor de software de qualidade e participar bastante do processo, para ser “dono” do software que você está recebendo, no formato que seja. É importante que o cliente tenha pleno controle sobre o domínio do software e do problema. Se o cliente não conhecer bem a inteligência do negócio, ele será escravo do fornecedor.
3 – A Concrete entrou na história no contexto de ser uma boa fornecedora de software, e como estou trabalhando com muita coisa interessante, acabei me esticando demais nessa frente
Vou avaliar a hipótese de ajustar o texto para a posteridade, mas não sei se isso fica adequado ou é melhor preservar esse histórico original. O que você acha?
Eu acho que o comentário aqui lança luz sobre o post. Muito possivelmente, se alguém ler o post e não entender bem, vai dar uma olhada nos comentários e ai, beleza, ela vai entender.
Agora, eu acho que se você fizesse uma série e 3 posts, um para cada assunto que você citou, bem focado e claramente explanado, seria muito legal.
@Bruno
“Será que você como gestor colocaria informações vitais da sua empresa em uma estrutura que vazar para concorrentes?”. De posse de um contrato jurídico que me garantisse um ressarcimento justo, em caso de vazamento de informações, por que não?
O que me preocupa nesta questão do Cloud é: toda a infra de algumas, várias ou milhões de empresas, centralizada em uma outra empresa provedora de Cloud não dá, à empresa provedora, o poder de analisar as aplicações utilizadas, desenvolver ferramentas que atendam aos nichos principais e, consequentemente, eliminar a possibilidade da terceirização do desenvolvimento destas ferramentas com outras empresas?
[ ] ’s
Fabiano Izabel
@Fabiano,
Sobre o contrato jurídico, seu ponto de vista é válido na teoria. Mas vendo a velocidade da justiça, o risco é de o processo acabar depois de a empresa ir pro saco. Continuo achando que esse risco as empresas não precisam correr.
E sobre a concentração que você falou, isso seria uma possibilidade mesmo, sem dúvida. Alguns conseguiriam entrar no nicho de prestar serviços de desenvolvimento no contexto de Cloud, mas a possibilidade de “enxugamento do mercado” é real. Mas eu acho que você não precisa se preocupar, pois não creio que isso tenha nem perto da expansão sugerida pelo hype.
[]s
Fala Bruno,
Achei bem legal a sua abordagem. Quanto a questão de segurança, estou com os colegas. É uma tendência, não há muito como fugir disso. Inclusive as empresas que usam o Google Apps já estão sujeitas a isso pois o email seria uma das coisas mais fáceis deles capturarem alguma informação. Confesso que confiar mesmo eu não confio, mas essa coisa de se proteger e ter medo (que eu me inclui nisso) parece até aqueles paises tipo cuba que se fecham para o exterior mas também não crescem.
Grande abraço.
@Emerson
Eu concordo com seu ponto de vista, e de fato nós deixamos muitas informações confidenciais sob controle do Google e outras grandes empresas na internet. Pode ser desconfiança demais, e eu posso mudar de idéia depois.
Eu simplesmente acho que num mercado corporativo extremamente competitivo e nem sempre ético, as empresas são mais cautelosas do que pessoas como nós. Se o mercado mostrar que utilizar Cloud Computing é necessário para ser competitivo nos negócios, esse paradigma vai dominar completamente. Agora, se isso se mostrar apenas como uma possível redução de custos de TI, não sei quantos gestores vão considerar a proposta tão interessante.
Vejamos o que vem por aí
Bruno,
Gostei muito do seu site. Estarei aqui debatendo com você com mais frequencia …
Att,
Pedro Fernandes
@Pedro, obrigado. Será um prazer.