Archive for setembro \29\UTC 2010

Debatendo SaaS: alguns questionamentos

setembro 29, 2010

O modelo SaaS começa aos poucos a ganhar tração e vemos a cada dia mais exemplos de sua adoção no mundo inteiro. Em alguns países o modelo está mais disseminado que em outros, mas de maneira geral já está na agenda dos executivos de negócios e de TI.

Uma recente pesquisa efetuada pela Saugatuck Technologies (um analista da indústria de TI), com CIOs do mundo inteiro mostrou que em 2014 53% deles já optarão pelo modelo SaaS quando adquirirem novos softwares. O modelo atual, on-premise fica com 47% das preferências.

 Um outro exemplo prático da atenção que o tema vem gerando são as inúmeras questões e dúvidas que ouço quando apresentando palestras sobre Cloud Computing. Coletei algumas destas questões e vou compartilhar aqui com vocês.

 Antes de mais nada é bom lembrar que o modelo SaaS já tem pelo menos uns dez anos e é uma evolução natural do antigo ASP (Application Service Provider). A novidade é a retaguarda tecnológica do SaaS, baseada em Computação em Nuvem, que favorece o modelo tecnológico multi-tenant, ou seja, uma única cópia do código compartilhada por muitos clientes, acessados remotamente e contratados via portais self-service,  estruturado em um modelo de negócios comercial pay-for-use ou assinaturas, como uma linha de celular.

 De maneira geral um produto SaaS apresenta as seguintes características:

a)     Baseado em serviços. Isto significa que o cliente do software quer apenas usufruir de suas funcionalidades e não quer saber das caracteristicas técnicas que estão por trás, como plataforma de hardware, banco de dados, etc. Ele quer consumir o software como um serviço. Uma analogia: ele quer a roupa lavada e não a máquina de lavar.

b)     Escalável. O provedor do SaaS tem que ter capacidade computacional para permitir o crescimento do número de usuários sem afetar a performance da sua base atual. Na prática, este é um quesito importante a ser analisado quando avaliando provedores de SaaS.

c)     Economia de escala. O modelo SaaS significa compartilhamento por excelência e os provedores tem que implementar uma arquitetura multi-tenant para conseguir uma economia de escala adequada. Quanto mais usuários puderem compartilhar os recursos, maior será a economia de escala obtida, e mais rapida  será a amortização dos investimentos do provedor. Com isso, ele pode oferecer custos de propriedade vantajosos em relação ao modelo tradicional, on-premise.

d)     Modelo comercial pay-for-use ou por assinatura. O cliente de um produto SaaS não está adquirindo um asset de software, a ser instalado nos seus servidores, mas contratando uma assinatura para seu uso por determinado periodo de tempo, pagando pelo que consumir, como em uma conta de energia elétrica. E como um celular, se o serviço não o agradar, ele pode, pelo menos teóricamente, substitui-lo por outro.

 Um questionamento que sempre ouço é se este modelo pay-for-use é real ou conversa de vendedor…Existem modelos comerciais onde você paga mensalmente pelo que consumir, bem como também existem modelos onde você paga o primeiro ano da assinatura  de uso do software antecipado. Um exemplo, em um contrato por três anos, você pagaria 1/3 no primeiro ano na assinatura do contrato e os 2/3 restantes nos dois anos seguintes. Este modelo lembra o tradicional on-premise onde você paga antecipadamente a licença de uso do software e posteriormente os serviços de manutenção. Uma diferença é que não existe manutenção de software pelo usuário. Todo este trabalho está na retaguarda, no provedor.

Este modelo tem sido incentivado pela industria de software, pois facilita a transição das empresas de software que ganham dinheiro com o modelo atual de licenças para o SaaS. Recomendo a leitura do excelente livro “Behind the Cloud” do fundador  e CEO da Salesforce, Marc Benioff, onde ele descreve a criação e evolução de uma empresa 100% SaaS, que é a própria Salesforce. Li este livro no meu Kindle aproveitando uma destas minhas últimas longas viagens e realmente ele é um guia de como criar e manter uma empresa de software no modelo SaaS. Imperdível para todos empresários da indústria de software.

 Uma pergunta que ouvi e que me chamou a atenção é se SaaS atende a sistemas corporativos ou funciona apenas na periferia, ou seja em pequenos sistemas departamentais. Não tenho dados precisos da Salesforce por exemplo, mas um estudo do Gartner mostrou que em média os seus clientes tem algo em torno dos 50 usuários.  Claro que eles tem grandes contas também e outras empresas como a americana SucessFactor (que ainda não tem representante no Brasil) fechou um contrato para seu sistema de RH com a Siemens na Alemanha, para 420.000 usuários (http://www.successfactors.com/promo/future/ ). É um indicador que é possivel sim, termos SaaS para grandes corporações.

 E este assunto se liga a outro questionamento interessante. Se os executivos de negócio começarem a contratar aplicações SaaS bypassando a área de TI, isto não geraria uma bomba relógio? Sim, pois mais cedo ou mais tarde estes aplicativos terão que se integrar com os que rodam nos servidores da empresa ou mesmo com outras nuvens e a integração ainda é um desafio para a computação em nuvem. No início tudo é maravilhoso, mas à medida que mais e mais as aplicações SaaS forem se disseminando de forma descontrolada, sem passar pela área de TI, o problema potencial vai ser grande. Minha recomendação é que as áreas de TI assumam o controle do processo e definam desde já as regras de como selecionar e contratar SaaS, garantindo a integração das aplicações.

 Uma outra pergunta foi “o modelo SaaS vai acabar com o modelo on-premise?”. Na minha opinião pessoal, pelo menos nos próximos dez anos ainda veremos os dois modelos convivendo. Existe muito software legado que levará anos para migrar para nuvem. Mas o modelo SaaS vai constinuar se disseminando e em algum tempo no futuro talvez não o chamemos mais de SaaS, pois será o modelo dominante. Mas continuará havendo espaço para o on-premise.

Anúncios

Cloud Computing e os CIOs

setembro 20, 2010

Semana passada tive um excelente jantar com alguns CIOs onde o prato principal do cardápio foi Cloud Computing. Ficou claro que ainda existe muita curiosidade sobre o potencial e riscos de Cloud. E alguns executivos ainda estão meio céticos quanto se Cloud realmente será a “next big thing”. Assim, este jantar regado a Cloud pode ser um pequeno termômetro de como os CIOs estão encarando o assunto e que gostaria de compartilhar com vocês.

 Um deles me disse que reconhece que muitos profissionais perderam o bonde do cliente-servidor e também foram supreendidos pela velocidade com que a Web se disseminou. Muitos já usam em casa o modelo em nuvens como o Gmail, Flickr e nas empresas algumas poucas aplicações SaaS isoladas. Estão realmente interessados em saber como a computação em nuvem  poderia se disseminar mais profundamente nas suas empresas.

A maioria deles já leu sobre casos de sucesso lá fora e percebem sim, que Cloud Computing será uma mudança de paradigmas, afetando de forma significativa as relações entre produtores e consumidores de produtos e serviços de TI. Também identificam que entrarão em um novo patamar de custos e facilidade no uso da TI. Mas, confessaram, que ainda não deram um passo nesta direção.

 Uma reclamação é que ainda existe muita desinformação e a própria terminologia não está bem definida e as vezes é até conflitante, dependendo do provedor . Um exemplo é o modelo de IaaS (Infrastructure-as-a-service).  IaaS pode ser entregue pela própria área de TI da empresa (insourced) ou por um provedor de nuvens externo (outsourced). A infraestrutura fisica por trás pode estar hospedado no data center da própria empresa ou no data center do provedor. E esta infraestrutura pode ser de uso privado (private cloud), compartilhada entre um grupo ou consórcio de empresas (community cloud) ou compartilhada com os demais clientes do provedor externo (public cloud).

 Uma conclusão que chegamos é que o setor de TI está caminhando para o que podemos chamar de industrialização, onde os parametros principais são padronização, automação, self-service e escala massiva. O modelo de computação em nuvem é a clara  implementação desta tendência.

 Mas conversa vai, conversa vem e chegamos a outras conclusões. Primeiro, a adoção da computação em nuvem não acontecerá de um dia para o outro. Identificamos também diversas oportunidades de criar valor com Cloud Computing. Uma delas será a redução de custos quando o modelo de TI (leia-se cloud) chegar ao nivel de ser uma utility, como energia elétrica. Os primeiros passos nesta direção podem ser, por exemplo, a transferência de algumas aplicações como email, para o ambiente de nuvens publicas.

 Uma outra oportunidade de criação de valor é a mudança que o ambiente de nuvens pode provocar em processos de negócios. Um exemplo citado foi o próprio ambiente de desenvolvimento e testes de sistemas, que demanda demoras e burocracias para uma aplicação ter disponivel a infraestrutura necessária para ser adequadamente testada. De maneira geral um grande empresa mantém uma parcela significativa de seu parque computacional dedicado ao ambiente de testes, mas subutilizado.  Alguns estudos mostram que de 30% a 40% do seu parque computacional está dedicado ao ambiente de testes, mas com um nivel de utilização de apenas 10% a 20%. Imaginem os ganhos potenciais para uma empresa quando os desenvolvedores, através de um portal self-service, requisitarem e obterem os recursos computacionais necessários, em minutos e não em semanas? Claramente poderão ser explorados novos negócios, pois os sistemas que os sustentarão poderão entrar em operação mais rápido. Outra sugestão foi colocar as aplicações “customer facing” em nuvens,  inclusive interagindo mais intensamente com redes sociais como Facebook.

 Alguns CIOs comentaram que executivos de negócio de suas empresas já começam a abordar o assunto com eles e que portanto não poderão ficar mais parados. Mas ficou claro que adoção do modelo de computação em nuvem é uma decisão estratégica e não simplesmente técnica. O próprio papel da TI poderá e provavelmente o será, redefinido. Muitas das atividades hoje desempenhadas pela área de TI serão comoditizadas e terceirizadas para nuvens públicas.

 A discussão esquentou quando se comentou a questão da segurança e se as nuvens públicas atuais poderão sustentar os critérios e politicas de segurança adotadas pelas empresas. Chegou-se a um consenso que as nuvens publicas poderão ser usadas por empresas pequenas que não tem políticas de segurança adequadas, mas as empresas de maior porte, provavelmente começarão a sua caminhada usando nuvens privadas. Para confirmar este ponto, alguns estudos feitos no exterior apontam que dentro de 3 a 5 anos cerca de 25% a 50% do workload das grandes empresas estará em nuvens privadas e apenas um pequeno percentual do workload destas empresas deverá estar em nuvens publicas. As nuvens privadas permitem as empresas adotarem o modelo e usufruirem de alguns de seus benefícios, mas ainda mantendo o controle dentro de casa. Já para empresas pequenas, estima-se que no futuro, de 80% a 100% das suas aplicações poderão  rodar em nuvens públicas.

 Outro aspecto levantado foi a questão da integração entre aplicações que estejam rodando em uma nuvem publica e as que ficarem on-premise. Muitas aplicações não poderão ir para uma nuvem publica, seja por questões técnicas ou por imposição da legislação. Mas terão que interagir com as que forem para as nuvens. É um desafio e tanto, principalmente porque não existem ainda padrões de ineroperabilidade entre as nuvens. Neste ponto lembrei-os da aquisição estratégica da Cast Iron pela IBM, exatamente para atuar nesta integração. Vejam em http://www.castiron.com/ibm .

 No final da conversa chegou-se a alguns consensos, como:

1)     Cloud Computing é um “work in progress” e que muitas das atuais restrições atuais serão minimizadas ou eliminadas nos proximos 3 a 5 anos. Novas tecnologias surgirão e mesmo as atuais ofertas se tornarão mais maduras e eficientes nos próximos anos.

2)     A falta de  padrões de interoperabilidade e os riscos de “vendor lock-in” atuais serão minimizados nos próximos anos. Sugiro acompanharem o Grupo de Trabalho de cloud do DMTF (Distributed Management Task Force) em http://www.dmtf.org/standards/cloud .

3)     A criação de novos negócios e novas aplicações serão incentivadas quando TI for uma utility. Entre os exemplos citados surgiu  a possibilidade de se usar mais intensamente recursos de Business Analytics, uma vez que demandam variação muito grande recursos computacionais e que nem sempre é possivel manter esta infraestrutura em casa. Além disso, novos modelos de negócio, inviáveis quando o capex de TI é impeditivo podem ser criados quando TI passar a ser utility e não se pensar mais em capex, mas sim em opex. Lembrando capex é capital expenditure (http://en.wikipedia.org/wiki/Capex ) e opex é operating expense (http://en.wikipedia.org/wiki/Operating_expense).

4)     Cloud Computing é estratégico e deve ser contemplado no plano estratégico de TI das empresas. O road map para sua adoção deve ser responsabilidade do CIO e do CTO e não das áreas técnicas.

5)     Cloud Computing não deve ser visto apenas uma terceirização mais ampla e sim como um modelo computacional que pode impactar signicativamente os negócios da empresa. Dois aspectos fundamentais diferenciam cloud do tradicional “hosted computing” que são o acesso via self-service e a elasticidade.

6)     Cloud Computing vai redefinir a área de TI.

7)     Cloud Computing não acontecerá de um dia para o outro. Mas deve-se começar já a planejar o road map e fazer os primeiros testes.

8)     Cloud Computing nos EUA e Europa e no Brasil deverão ter velocidades de adoção diferentes, porque os mercados são diferentes. Um exemplo é a banda larga, que é muito mais cara e lenta aqui que nos EUA e Europa.

A Computação em Nuvem e os profissionais de TI

setembro 13, 2010

Nos eventos e reuniões em que participo, vejo que se consolida pouco a pouco a idéia que o modelo de Cloud Computing representa uma verdadeira disrupção na entrega e consumo de produtos e serviços de TI. Absolutamente, não é um hype ou algo que sempre se fez, agora com outro nome.

Em uma destas ocasiões, em um painel realizado em uma universidade, surgiu a questão de como este modelo impactaria os profissionais de TI.

É um tema que merece um post e vamos aqui debater mais detalhadamente o assunto. Se lembrarmos que a base tecnológica da computação em nuvem se sustenta em três pilares, que são virtualização, padronização e automação, ou seja, industrialização de TI, e o alcance global dos provedores de nuvens (data centers espalhados pelo mundo), teremos todos os ingredientes pra reduzir sensivelmente a demanda por profissões mais técnicas e operacionais. Um único profissional, funcionário de um provedor de nuvem, pode desempenhar as mesmas funções que vários profissionais desempenham hoje em suas empresas.

 Na minha opinião, cloud computing coloca em risco a sobrevivência de diversas funções operacionais. Não que elas acabarão, mas que sua demanda será sensivelmente reduzida.

Este fenômeno já ocorreu em diversos outros setores. A automação e robotização eliminaram postos de trabalho na industria automobilistica. Para se fazer um automóvel hoje precisa-se de muitos menos operários que há dez anos atrás. Na aviação também temos outro exemplo interessante. Na década de 50 haviam cinco tripulantes na cabine de uma aeronave que fazia vôos internacionais: o comandante, o copiloto, o engenheiro de vôo, o navegador e o rádio-operador. Com a evolução das comunicações e dos sistemas de navegação, tanto o rádio-operador como o navegador desapareceram. Depois, com os sistemas automáticos de controle de vôo, a função e o cargo de engenheiro de vôo desapareceu. Hoje são apenas dois tripulantes que operam gigantescos aviões como o Boeing 777 ou o Airbus 380.

 Claro que as mudanças não ocorrerão de uma dia para o outro. A computação em nuvem ainda está nos seus primórdios e teremos ainda alguns anos para ela se disseminar de forma mais ampla. Portanto, o que recomendo aos estudantes e profissionais da computação? Ficarem antenados com o modelo de Cloud Conputing e se prepararem para as mudanças que virão.

 Para mim as funções mais vulneráveis são as técnicas que requerem skill de nível médio, e que são mais especializadas e focadas. Um exemplo tipico são os profissionais de suporte técnico que dedicam seu tempo a instalar e dar suporte a versões de sistemas operacionais como Linux e Windows. Se os servidores fisicos da empresa forem transformados em servidores virtuais localizados em um provedor de nuvem publica, eles não serão mais necessários. Vejam este cenário: um provedor global como a Amazon pode assumir a computação de milhares de pequenas e médias empresas. Para fazer isso ela vai necessitar de alguns poucos administradores de sistemas, que substituirão os milhares que hoje estão nestas empresas.  A função não acaba, mas o número de  profissionais diminui. Claro que a empresa que terceiriza seus serviços para um provedor de nuvem provavelmente ainda terá um grupo técnico para gerenciar a gestão dos serviços em nuvem, mas será um número bem menor que no modelo on-premise, onde tudo é feito dentro de casa. Mesmo em nuvens privadas ou hibridas, pela padronização e automação dos processos onde antes seriam necessarios um administrador para 40 ou 50 servidores, podemos pensar em um para mil. É uma redução sensivel no numero de profissionais.

 Por outro lado, os profissionais mais voltados à funções de negócios deverão permanecer dentro de casa. Uma empresa pode ter toda sua infraestrutura tecnológica operando em uma nuvem publica (IaaS), mas redesenhar ou criar novos processos não é função do provedor da nuvem. Quem conhece o negócio é a própria empresa e seus analistas de negócios. Estes geralmente são indispensáveis. Não dá para terceirizar o conhecimento e as estratégias da empresa. Funções como CTO (Chief Technology Officer) e arquitetos de sistemas, que conseguem aglutinar skills técnicos e de negócios tornam-se cada vez mais importantes.

 Que podemos concluir? Funções estritamente técnicas e muito focadas como administradores e operadores de sistemas correm risco. Por outro lado funções que demandam skillls de negócio, criatividade e visão estratégica tendem a crescer em importância. E se eu estiver em uma profissão que está em risco? Como a mudança para a computação em nuvem não vai acontecer de um dia para o outro, terei tempo de me adaptar, buscar novos skills. Mas, não posso ficar parado, torcendo para que a computação em nuvem seja apenas uma nuvem passageira. Não será.