Resumo
A computação em nuvem, particularmente com o modelo PaaS (platform as a service), é uma excelente oportunidade mas deve ser avaliada com cuidado. A promessas dos vendedores são exageradas, a complexidade das soluções está aumentando e vários riscos existem. De modo geral, é preciso ver como estratégicos os investimentos feitos em PaaS e nao apenas como uma soluçao para reduçao de custos. Algumas precauções devem ser tomadas, entre elas: começar com projetos de menor visibilidade e integrar competencias especializadas em cloud.
A onda da computação em nuvem continua forte com a chegada do mais novo irmão da família, o PaaS (platform as a service). Contudo, se o PaaS (a “nuvem” de modo geral) é uma excelente oportunidade, ele deve ser considerado com bastante cuidado. O mercado tem atualmente duas caraterísticas marcantes. A primeira é a falta de consolidação: vários atores estão na corrida com propostas e diferenciais muito heterogêneos. A segunda é a forte concorrência, levando, as vezes, a propostas e argumentos que beiram a ma fé. O problema disso é que os provedores, vendendo a nuvem pelo que ela não é, arriscam causar bastante decepção.
O propósito deste post pode ser resumido pelo David Linthicum (Infoworld)
“Cloud computing does not replace enterprise architecture. It does not provide “infinite scalability,” it does not “cost pennies a day,” you can’t “get there in an hour” — it won’t iron my shirts either. It’s exciting technology that holds the promise of providing more effective, efficient, and elastic computing platforms, but we’re taking this hype to silly levels these days, and my core concern is that the cloud may not be able to meet these overblown expectations. [..] the hype is almost out of control and misinformation is plentiful [..] It’s a new technology, but the same old hype cycle. [..] I still see many square cloud pegs going into round enterprise holes. Why? The hype drives the movement to cloud computing, but there is little thought as to the actual fit of the technology.” [2]
Gostaria assim de resumir alguns elementos a respeito das reais vantagens, riscos e mitos a respeito de PaaS. De modo geral o real valor de investimento em PaaS depende da situação da empresa, da infra-estrutura que ela ja possui, das suas necessidades atuais e futuras e dos recursos disponíveis. Gastos com Paas (e em nuvem de modo geral) não devem ser considerados como um jeito de reduzir custos, mas sim como investimentos estratégicos.
Vantagens
Elasticidade e Flexibilidade
Talvez a caraterística mais interessante do PaaS seja a “elasticidade”, a capacidade da plataforma de se adaptar à nova carga em questão de minutos. Além disso, permite transformar um custo fixo em custo variável porque os provedores cobram em geral pela capacidade utilizada.
Além dos aspectos de infra-estrutura, a criação de aplicativos arquitetados em serviços desacoplados pode trazer uma agilidade sensivelmente maior no desenvolvimento ou na modificação de aplicativos, permitindo acompanhar melhor as necessidades de negócios.
Terceirização da plataforma
De fato, a terceirização da infra-estrutura e, além dela, da plataforma inteira onde rodam os aplicativos, pode ter sensíveis vantagens. A principal é o nível de serviço superior ao que pode ser alcançado “in house” e com custos menores. Mas como ja mencionado na introdução, tudo depende dos investimentos já feitos em infra- estrutura própria.
Diferenciais adicionais
Procurando diferenciais no mercado, alguns provedores de plataformas oferecem serviços ou capacidades diferenciadas e únicas que podem ser interessantes em certos tipos de aplicações. Por exemplo GigaSpace que oferece o “GigaSpaces XAP In-Memory Data Grid” – que promete acelerar drasticamente a performance do acesso a grandes quantidades de dados.
Mitos
(para não dizer mentiras)
Desenvolvimento em minutos.
Argumento número 1 de muitos provedores: a redução “drástica” do tempo de desenvolvimento. Alguns vão até afirmar “[..] eliminates the need for coding, data modeling and database querying “. Bullshit. Ter uma plataforma, mesmo integrando ferramentas de desenvolvimento e APIs, não impede ter que definir arquieturas, programar, intergar e testar.
Foco exclusivo no negocio
Pela mesma razão mencionada acima, o PaaS não evita de ter que escrever os aplicativos. Inclusive, PaaS eventualmente aumenta a complexidade e requer MAIS atenção ainda às questões de arquitetura corporativa tais como integração, segurança, transações.
Redução drástica dos custos
A computação em nuvem dificilmente é um jeito de reduzir os custos. Pelo menos não a curto prazo. Precisa migrar os aplicativos, eventualmente redefinir arquiteturas, etc. E isso requer gastos.
Riscos
Lock-in
Hoje, provedores de PaaS estão numa luta acirrada, cada um propondo plataformas baseadas nas tecnologias que ja tem e oferecendo suas próprias APIs. Os aplicativos desenvolvidos usando essas APIs não serão portáveis para outro provedor. Em comparação com Java EE por exemplo, que visa especificar APIs e serviços que devem ser implementados pelos provedores, é uma regressão. Embora a portabilidade (no sentido do Java EE) tenha sido no melhor dos casos imperfeita, o risco de “lock in” aumentou sensivelmente.
Complexidade
Com a nuvem, existem mais opções para desenvolver e disponibilizar aplicativos. A principio isso é bom, mas essas novas opções aumentam a complexidade dos sistemas de informação. Existem nuvens públicas, privadas ou soluções híbridas com parte dos aplicativos usados em SaaS, parte desenvolvida em Paas e outras ficando inhouse
Essa complexidade, e escolhas erradas, são um risco para projetos de PaaS. Tem até aparecido nos Estados Unidos a posição de “Cloud Architect”, com conhecimentos específicos- e diferentes de um “Software Architect”. Sendo a demanda por essas competências bem maior do que a oferta, é muito provável que muitos projetos conheçam problemas por terem sido mal desenhados ou mal planejados.
Descontinuidade
Provedores não são eternos. Podemos esperar que vários deles fechem ou que haja consolidação, ou casos de provedores menores sendo comprados. Obviamente, isso é um risco que nao pode ser negligenciado pelos clientes na hora de migrar ou desenvolver novas soluções.
Riscos jurídicos
Usar a nuvem (PaaS ou SaaS) é confiar a um terceiro a responsabilidade de garantir ao seu nível a segurança e a disponibilidade dos aplicativos e dados. É imprescindível amarrar os contratos para evitar problemas em casos de falhas dos sistemas (e sistemas, podem acreditar, falham).
Outro ponto importante, complexo e possível risco, é a questão internacional. Optar pela nuvem pode significar armazenar os seus dados com um provedor fora do Brasil – com a possibilidade de aplicação das leis locais, como por exemplo a quebra de sigilo em caso de ordem judicial. Além disso, a lei Brasileira proíbe que certas categorias de dados sejam armazenadas fora do território nacional.
Subestimação dos custos
A subestimação dos custos, em particular no que diz respeito à migração para a nuvem, pode causar o fracasso de projetos e muita decepção. Esta subestimação existe alias, por culpa de promessas comerciais exageradas por parte dos provedores. É um desperdício porque projetos que poderiam ter tido um bom retorno vão ser encerrados antes da hora.
Segurança
Segurança é um assunto amplo e complexo. E hoje, pouco conhecido pelos provedores e clientes. Muito resumidamente, a segurança na nuvem deve ser garantida em dois níveis. Primeiro pelos provedores e depois pelos desenvolvedores dos aplicativos. XaaS são baseadas no compartilhamento de recursos e é essencial que esses recursos sejam protegidos pelos provedores – inclusive da ação involuntária dos próprios clientes.
Performance
É um fato: a computação em nuvem esta crescendo mais rápido do que as redes que a suportam. Existe um risco grande a médio prazo que essas redes não agüentem a carga. É até provável que limitações apareçam nos planos propostos pelos provedores.
“[..] global data center IP traffic will increase fourfold over the next five years. Overall data center IP traffic will grow 33 percent per year from 2010 to 2015. [..] Cloud computing is driving much of this growth, both from business and consumer usage [..] I suspect we’ll soon hit walls within many enterprises and ISPs, and perhaps limits will be placed on the amount of data that can move from place to place. Certainly, cable operators are suggesting they’ll do this, and cellular carriers and some DSL providers have already moved this way. I also see such restrictions imposed by cloud storage providers, including Box.net, Dropbox, Mozy, Carbonite, and even Amazon.com’s S3.” [2]
Referencias
[1] “Como PaaS pode gerar valor“,
[2] David Linthicum, Cloud Computing blog (vários posts),
[3] Edileuza Soares, 21/11/2011 “Quais são os riscos legais de cloud computing no Brasil?”
[4] “Improving PaaS Security: Get your Developers Involved“
Desenvolver software é uma arte difícil. Muitos fatores interdependentes influenciam o sucesso ou o fracasso de um projeto. E a tecnologia não é o maior deles.