Baixe o app para aproveitar ainda mais
Prévia do material em texto
Ambientes de computação emergentes: SaaS e SOA Material adaptado de: TURBAN, Efraim. LEIDNER, Dorothy. MCLEAN, Ephraim. WETHERBE, James. Tecnologia da informação para gestão. Porto Alegre: Bookman, 2010. P. 76-77 Na década passada, surgiram novos ambientes de computação, alguns dos quais estão baseados na tecnologia da Web. Alguns sistemas estão nos primeiros estágios de uso ou de em desenvolvimento outros já em uso em grande escala, mas eles podem remodelar o campo da TI. Um modelo cada vez mais popular de empresa em que recursos de computação são disponibilizados aos usuários, quando eles são necessários, é o modelo de software como serviço (Software-as-a-Service - SaaS). Sejam eles referidos como SaaS, computação por demanda, utility computing ou serviços hospedados, a ideia é basicamente a mesma: Em vez de comprar e instalar incômodas e caras aplicações corporativas empacotadas, os usuários podem acessar aplicativos por uma rede, com um navegador Internet sendo a única necessidade. Normalmente não há nenhum hardware ou software para comprar, uma vez que os aplicativos são utilizados na Internet e pagos por meio de uma taxa fixa de assinatura ou pagáveis de acordo com uma taxa real de uso individual. Há diferentes variações desse conceito. Mas todos oferecem serviços de software componentizados, padronizados e de custo mais baixo contratados à vontade a partir de algum tipo de provedor de serviços. O modelo SaaS, ou por demanda, foi desenvolvido para superar o desafio comum para que uma empresa seja capaz de atender demandas flutuantes com eficiência, o que é um requisito da empresa adaptativa. Como os recursos da computação por demanda de uma empresa podem variar drasticamente de um momento para outro, manter um número suficiente de recursos para atender os requisitos de pico pode ter um custo elevado. Inversamente, se a empresa reduz custos mantendo apenas os recursos mínimos de computação, poderão faltar recursos para atender requisitos de pico. Uma analogia simples é o uso de um eletrodoméstico. O usuário não negocia diretamente com a empresa de eletricidade o uso da energia para um eletrodoméstico específico. Há padrões e controles, mas eles são suficientemente amplos para que seja possível conectar um aparelho elétrico ao serviço sem que o usuário precise notificar a companhia de eletricidade. Em uma das pontas, a companhia de eletricidade cuida da complexidade da geração da energia elétrica, incluindo compatibilizar a capacidade com a demanda, e pode alterar quais geradores e circuitos que fornecem a energia elétrica - tudo sem coordenar esses eventos com os milhões de usuários que contam com o serviço. Em inglês, o termo utility ompanies refere-se às empresas fornecedoras de serviços de utilidade pública (energia elétrica, gás, água, telefone etc.). Daí deriva o termo utility computing, que costuma ser traduzido em português como computação por demanda. Uma questão importante na computação por demanda é quem deve ser o provedor. Um provedor natural pode ser um desenvolvedor/hospedeiro de software como a IBM e a Oracle. Outra escolha poderia ser um intermediário independente, como um provedor de serviços de aplicativos (application services provider - ASP). O quadro abaixo mostra a comparação de características entre os modelos de pacotes de software tradicional e de software como serviço. Pacotes de software tradicional Software como Serviço Projetado para os clientes instalarem, gerenciarem e manterem. Projetado para ser distribuído como serviço pela Internet. A solução é arquitetada para ser executada por uma companhia individual em uma infra-estrutura dedicada. Projetado para executar em milhares de clientes diferentes em um único código. Pouco frequente, atualizações principais a cada 18-24 meses, vendido individualmente para cada base de cliente instalada. Frequente, atualizações "digeríveis" a cada 3-6 meses para minimizar o impacto no cliente e melhorar a satisfação. Controle de Versão Taxa de Upgrade Ao corrigir um problema para um cliente, é corrigido para todos. Funcionalidade repetível via Web services, APIs abertas e conectores padrões. Pode usar APIs abertas e Web services para facilitar a integração, mas cada cliente tipicamente tem que pagar pelo trabalho de integração. Fonte: Melo et. Al. Software como Serviço: Um Modelo de Negócio Emergente. Centro de Informática – Universidade Federal de Pernambuco (UFPE) (?2010) A adequabilidade do SaaS. O sucesso crescente do serviço por demanda da Salesforce.com para o software de gestão do relacionamento com o cliente (customer relationship management - CRM) coloca a questão de se o modelo de software como serviço é adequado para outras aplicações. De acordo com Jakovljevic (2005b), o modelo pode ser adaptado para outras aplicações que costumam ser terceirizadas. Isso inclui RH/folha de pagamento; gestão financeira e gestão da aquisição de matérias-primas; e comércio de empresa para consumidor (business-to-customer - B2e) comércio eletrônico/catálogos de produtos, incluindo modelos dinâmicos de determinação de preços, fidelização do cliente, promoções direcionadas e outras táticas sofisticadas de vendas. O modelo também poderia ser integrado com aplicativos da cadeia de suprimentos que não exigem uma grande equipe interna de suporte a vendas. O mesmo pode ser dito das empresas que contam com a globalização e a colaboração baseada na Web. SaaS e SOA. Um fator importante na mudança para o SaaS poderia ser uma modificação na maneira como o próprio software é criado atualmente. Em vez de componentes de software sendo desenvolvidos e empacotados para formar uma solução rígida e monolítica, os sistemas são cada vez mais desenvolvidos como uma "federação", "combinação" de serviços, ou aplicativos compostos, que são agrupados apenas no ponto de execução. Com o tempo, isso possibilitará que componentes alternativos de software sejam substituídos entre cada uso de um sistema, permitindo uma flexibilidade muito maior. Essa é basicamente a ideia da arquitetura orientada a serviços. Portanto, de acordo com Jakovljevic (2006), o SaaS, no nível mais alto, deve ser fornecido como uma abordagem da arquitetura orientada a serviços (service-oriented architecture - SOA) e precisam incorporar Web Services. Esses dois tópicos são apresentados mais adiante nesta seção. Um outro tópico relacionado ao fornecimento da computação por demanda é a computação em grade. Alguns até mesmo equiparam os dois conceitos (por exemplo, Jakovljevic, 2005a), considerando a computação em grade como um tipo de provedor de serviços de utilidade pública como água, luz e telefone. Implementando o SaaS: O conceito da computação por demanda. De acordo com Bill Gates, a computação por demanda é uma computação disponível, confiável e tão segura quanto os serviços de fornecimento de eletricidade, água/esgoto e telefonia (informado por Ebringer, 2003). A visão por trás da computação por demanda é ter recursos de computação disponíveis sob demanda a partir de ativos virtuais em todo o globo - sempre disponíveis, seguros, medidos com eficiência, tarifados de acordo com o uso individual, dinamicamente dimensionados, auto restaurados e fáceis de gerenciar. Nesse cenário, as empresas se conectariam, ligariam o computador e (supostamente) economizariam uma grande quantidade de dinheiro. A IBM (projeto On-Demand), HP, Microsoft, Oracle, Sun Microsystems, SAP e outras grandes empresas de software apoiam essa ideia. Se (ou quando) ela se tornar bem-sucedida, a computação por demanda modificará a maneira como produtos de software são vendidos, fornecidos e utilizados no mundo. Alguns especialistas acreditam que todos os produtos de software irão se tornar um serviço e, algum dia, serão vendidos como um serviço de utilidade pública como água, luz e telefone. Preparando-se para esse dia,a IBM está migrando agressivamente para a área de ASP. Os ASPs irão operar os canais de fornecimento da computação por demanda. Um exemplo do uso da computação por demanda é o caso da Mobil Travel Guide, que avalia mais de 25.000 restaurantes e hotéis nos Estados Unidos e publica guias de viagem para várias regiões. Para acomodar o tráfego sempre crescente dos servidores Web que procuram avaliações, a empresa utiliza os serviços de hospedagem por demanda da IBM. Com esse serviço, a empresa não apenas resolveu todos os problemas de capacidade, mas também aprimorou a segurança - tudo com uma redução de custos de 30% se comparado ao uso de servidores próprios (Greenmeier, 2003). Limitações da computação por demanda. Apesar das promessas brilhantes e dos esforços dos principais fornecedores, o progresso é lento. Ainda faltam partes fundamentais dessa tecnologia. Por exemplo, é difícil fazer a computação por demanda em centros heterogêneos de dados. Além disso, o conceito da computação por demanda funciona melhor para alguns aplicativos do que para outros. A computação por demanda também precisa de segurança extra. Por fim, a distribuição do software difere da distribuição de serviços de utilidade pública. De acordo com uma pesquisa recente, 55,6% dos 310 pesquisados citaram como a principal preocupação falhas na segurança e na privacidade para que adotem a computação por demanda. Outras preocupações incluíam a dependência para com o fornecedor e a inalterabilidade de desempenho (50,8%), confiabilidade (45,9%), dados comerciais muito importantes para que possam ser confiados a estranhos (41,6%) e perda de controle sobre recursos-chave (38,3%). Essas desvantagens precisam ser superadas pelos fornecedores para que eles possam oferecer uma computação por demanda de uma maneira que seja atraente aos clientes. Computação em grade: Redes convencionais, incluindo a Internet, são projetadas para fornecer comunicação entre dispositivos. As mesmas redes podem ser utilizadas para dar suporte ao conceito da computação em grade, em que os ciclos de processamento não utilizados de todos os computadores em uma dada rede podem ser reunidos para criar capacidades poderosas de computação. A computação em grade coordena o uso de um grande número de servidores e um grande volume de armazenamento, atuando como um único computador. Dessa forma, problemas de picos na demanda são resolvidos sem o custo de manter uma capacidade de reserva (consulte oracle.com/grid). A computação em grade já está sendo utilizada de uma maneira limitada e muitos dos atuais aplicativos de grade estão em áreas que anteriormente exigiam supercomputadores. Mason (2004) afirma que as empresas que fazem trabalhos de processamento que duram muitas horas, realizando cálculos científicos e matemáticos complexos, e processando grandes conjuntos de dados para a inteligência do negócio, seriam boas candidatas a tirar proveito da velocidade mais rápida do processamento da computação em grade. Um projeto famoso da computação em grade é o projeto SETI (Search for Extraterrestrial Intelligence) @ Home. Nesse projeto, usuários de PC no mundo todo doam tempos não utilizados do ciclo de processador para ajudar a procurar sinais de vida extraterrestre analisando sinais provenientes do espaço sideral. Ele conta com voluntários individuais para permitir que o projeto possa utilizar o poder de processamento não utilizado dos computadores dos usuários. Esse método economiza dinheiro e recursos ao projeto. Uma importante aplicação comercial da computação em grade no mercado consumidor é a tentativa da Sony de vincular online milhares de consoles de videogames dessa empresa. Conceitos e benefícios do SOA. Um número cada vez maior de empresas está enfrentando esses e outros desafios migrando para uma arquitetura orientada a serviços (service-oriented architecture - SOA). SOA é um conceito arquitetônico que define o uso de serviços para dar suporte a diferentes necessidades dos negócios. A ideia básica do SOA é reutilizar e reconectar os recursos de TI existentes (chamados serviços) em vez do desenvolvimento mais demorado e caro de novos sistemas. Em um ambiente orientado a serviços, as organizações disponibilizam recursos aos participantes via uma rede (na computação distribuída), como serviços independentes que podem ser acessados de uma maneira padronizada utilizando Web Services. A empresa de pesquisa Gartner, Inc., previu em um relatório especial de junho de 2005 que 80% dos projetos de desenvolvimento de software serão, em 2008, baseados no SOA, citando-o como um dos cinco tópicos mais quentes da tecnologia em 2005 (Clearly et aI., 2005). D'Agostino (2006) fornece um exemplo de um aplicativo bem-sucedido nos hotéis Starwood e citou uma previsão da IDC (International Data Corporation) de que investimentos no SOA passarão de US$ 3,6 bilhões, em 2006 para US$ 33 bilhões, em 2010. O SOA surge como uma maneira de as organizações agruparem objetivos de negócio e TI. Organizações que começam a introduzir o SOA alcançam bons resultados imediatos. De fato, muitos especialistas concordam que a adoção do SOA pode levar a benefícios significativos, como: • Redução do custo de integração • Melhoria do alinhamento entre negócios/TI • Extensão e aproveitamento dos investimentos em TI existentes • Tempo mais rápido para desenvolver novos aplicativos • Custo de manutenção de TI mais baixo A maioria dos SOAs é implementada em Web Services. Web Services. Web Services são aplicativos de negócios autocontidos, auto descritivos e modulares para consumo popular, disponibilizados pela Internet que os usuários podem selecionar e combinar por meio de praticamente qualquer dispositivo, variando desde computadores pessoais até celulares. Utilizando um conjunto de protocolos e padrões compartilhados, esses aplicativos permitem que diferentes sistemas "conversem" entre si - isto é, compartilhem dados e serviços - sem exigir que seres humanos traduzam essa conversa. O resultado promete ser links instantâneos e em tempo real entre os processos online de diferentes sistemas e empresas. Esses links poderiam diminuir o tamanho dos departamentos de TI das empresas, promover novas interações entre empresas e criar uma Web mais amigável aos consumidores. Web Services oferecem soluções baratas e rápidas para integração de aplicativos, acesso às informações e desenvolvimento de aplicativos. Em setembro de 2003, a Microsoft e a IBM demonstraram como a tecnologia dos Web Services pode permitir que seus softwares interajam e prometeram cooperar no estabelecimento de padrões.
Compartilhar