Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

A Função de Software como Serviço em Computação em Nuvem

Myerson Judith, Engenheira e Arquiteta de Sistemas, Freelance Developer
Judith M. Myerson é engenheira e arquiteta de sistemas. Suas áreas de interesse incluem sistemas corporativos, tecnologias de middleware, tecnologias de banco de dados, computação em nuvem, políticas de limites, segmentos de mercado, gerenciamento de redes, segurança, tecnologias RFID, gerenciamento de apresentação e gerenciamento de projeto.

Resumo:  Deseja saber qual função Software como Serviço (SaaS) tem na computação em nuvem? Explore diferentes variedades de SaaS e veja dois exemplos de como SaaS funciona em computação em nuvem—especificamente, em gerenciamento de engenharia de fábrica e em ensino a distância —no ambiente de infraestrutura de pagamento on demand. Sintonize SaaS para o desempenho ideal, combinando o melhor de dois mundos: multilocação e virtualização. Descubra soluções para os problemas de recursos não utilizados e interoperabilidade. E, por fim, entenda que sem planejamento e implementação apropriados, os custos de garantias de segurança podem superar muito as vantagens econômicas de SaaS e de computação em nuvem.

Data:  16/Set/2011
Nível:  Intermediário Também disponível em :   Inglês
Atividade:  669 visualizações
Comentários:  


Introdução

Alguns de vocês que usaram serviços da Web da Amazon se questionaram sobre a função de SaaS na computação em nuvem. A boa notícia é que é possível desenvolver SaaS sensível para Web, fácil e simples para a nuvem com base nesses serviços da Web. É possível vender o SaaS para uma base de clientes grande, como consultores ou engenheiros de produto, e reduzir as despesas iniciais de compra de software, oferecendo precificação menos dispendiosa on demand. Outra vantagem é que SaaS fornece atualizações em um local centralizado, eliminando a necessidade de fazer o download de correções e upgrades frequentes.

Neste artigo, mostrarei as semelhanças e as diferenças entre SaaS e computação em nuvem. Vou explorar a função que SaaS tem na computação em nuvem e como é diferente de outras formas de computação em nuvem, como computação utilitária e Plataforma como Serviço (PaaS). Também fornecerei categorizações de serviços e exemplos de aplicativos e falarei sobre a combinação de multilocação com virtualização. Em seguida, cobrirei problemas de recursos não utilizados e interoperabilidade e oferecerei algumas soluções para eles. Por fim, observarei os critérios necessários para testar o desempenho de SaaS na computação em nuvem e alguns problemas de segurança com SaaS.

Maturidade de SaaS

SaaS está maduro e deve ser considerado como parte de um mashup ou como um plug-in para produtos PaaS ou serviços baseados na Internet. Fornece um aplicativo completo pronto, como para gerenciamento de recursos corporativos ou para gerenciamento de engenharia de fábrica, que é possível acessar a partir de um navegador da Web, independentemente de onde esteja localizado.

A maturidade do serviço de SaaS é atribuída ao software de plataforma virtual em servidores e discos. Os dois próximos níveis de maturidade de serviço inferiores são PaaS e Infraestrutura como Serviço (IaaS). O nível de maturidade de serviço mais inferior é serviço baseados na Internet. PaaS executa APIs e software de plataforma virtual em discos, enquanto que IaaS entrega uma infraestrutura de computadores completa por meio da Internet e fornece somente virtualização de servidor para usuários da Amazon EC2 e da IBM Blue Cloud, por exemplo. Exemplos de serviços baseados na Internet incluem Amazon S3, Amazon Simple DB e Google Base.

Exemplo 1: Gerenciamento de engenharia de fábrica

É possível desenvolver um SaaS maduro que uma empresa de engenharia de fábrica poderia usar para melhorar os ciclos operacionais de fabricação e proteger compra de mercadorias, vendas e transações contábeis. O SaaS poderia ajudar a determinar os processos de negócios a serem usados para planejamento de capacidade em fabricação de subcontrato. A base de clientes variaria do gerente da fábrica e do ente de qualidade até os controladores de linha e o COO e o CFO.

SaaS não é útil somente para que executivos acessem dados no ambiente de assinatura de pagamento on demand. Executivos podem tomar decisões críticas sobre finanças, engenharia de fábrica, ciclos operacionais de fabricação, gerenciamento de fornecimento e planejamento de capital de recursos humanos. SaaS pode ser usado como uma ferramenta de inteligência de negócios operacional para tomadores de decisões em uma planta. Por exemplo, ferramentas fornecidas por meio de SaaS poderiam equipar tomadores de decisões com conhecimento sobre quais objetivos de métricas devem ser atingidos para tempo de manipulação de material, ciclo operacional e tempo de mudança. As ferramentas também poderiam renderizar análise e oferecer diagnóstico das ações que tomadores de decisões devem realizar se uma métrica não estiver atingindo o alvo.

Exemplo 2: Ensino a distância e mais

É possível desenvolver um programa de treinamento como um SaaS. O modelo de SaaS da DigitalChalk tem como alvo universidades e clientes corporativos para entregar o conteúdo de treinamento dos mesmos (inclusive ensino a distância) por meio de seu Web site. Para desenvolver o SaaS, criou suas próprias Amazon Machine Images (AMIs) e usou Amazon S3, EC2 e SQS, em vez de um datacenter.

Para desenvolver outros serviços de SaaS, é possível usar IBM AMIs que EC2 executará. Elas incluem IBM DB2, IBM Informix, IBM Websphere Smash e IBM Lotus Web Content. Para expandir seu repositório de AMIs, é possível usar modelos de AMI pré-configurados ou criar uma AMI que contém seus aplicativos, bibliotecas, dados e configurações associadas.

Categorizar serviços de SaaS

A Microsoft® divide SaaS em duas categorias: serviços de linha de negócios e serviços orientados ao consumidor. Ambos são vendidos com base em assinatura. Os serviços de linha de negócios são soluções de negócios customizadas grandes para finanças, gerenciamento de cadeia de fornecimento e relações com clientes em um ambiente de assinatura de pagamento on demand (por exemplo, gerenciamento de engenharia de fábrica). Os serviços orientados ao consumidor têm como alvo consumidores sem custo nenhum e são suportados por propaganda.

Como essas categorias parecem ser limitadas, eu incluo mais duas categorias: serviços de recursos compartilhados e serviços de terceirização. Serviços de recursos compartilhados distribuem serviços entre um conjunto de usuários e servidores permitem que grandes empresas tenham capacidade de carga de pico a custos mais baixos, reduzindo a necessidade de datacenters internos maiores. Os serviços de terceirização permitem que negócios de pequeno e médio portes forneçam serviços com base em assinatura exteriorizando completamente sua infraestrutura de datacenter (por exemplo, ensino a distância).

Exceto para os serviços orientados ao consumidor, a lucratividade é obtida somente quando os negócios entregam serviços a uma base de clientes grande. Deve cobrir de forma adequada os altos custos de infraestrutura com uma pequena margem com assinatura de pagamento on demand barata — diferentemente de computação utilitária que cobra taxas de pagamento por uso. Além das assinaturas, o modelo de receita inclui taxas de indicação, taxas de transação, precificação baseada em consumo, precificação baseada em desempenho, margem de revendedor e compartilhamento de receita.

Sintonizar para desempenho ideal

Cada exemplo mostra que SaaS tem três atributos: capacidade de configuração, escalabilidade e eficiência com multilocação. Se o SaaS não tiver um ou mais desses atributos, é menos maduro. É possível combinar o melhor de multilocação e virtualização para maior flexibilidade para ajuste do sistema para desempenho ideal.

Multilocação

Multilocação refere-se à arquitetura de software em que uma única instância do software é executada como um SaaS, atendendo a diversas organizações clientes (arrendatários). Com uma arquitetura com diversos arrendatários, dados e configurações são virtualmente particionados para permitirem que cada organização cliente trabalhe com uma instância do aplicativo virtual. Ao consolidar recursos de TI em uma única operação, a multilocação permite economias de custo sobre as economias básicas de escala.

Uma desvantagem de multilocação é que pode incorrer memória e processamento de aplicativos substancial quando a base de clientes for pequena. Quando a base de clientes for grande, multilocação supera essa desvantagem reduzindo esse gasto adicional. Isso é realizado amortizando-o pelos clientes. Outro ponto negativo é que programação adicional pode ser necessária para construir um aplicativo eficiente para diversos arrendatários, aumentando o tamanho do gasto adicional.

Virtualização

Virtualização de servidores nas arquiteturas SaaS é mais do que particionar dados virtualmente e configuração em multilocação. Um benefício da visualização é que pode aumentar a capacidade do sistema para atender a demanda (como aumento de compras em dezembro), ajustando dinamicamente o número de servidores reais e o tamanho lógico de recursos, inclusive recursos de armazenamento e de banco de dados. Um ponto negativo é que servidores virtualizados não podem ser transferidos de um fornecedor para outro devido a problemas de interoperabilidade do software de virtualização.

Problema 1: Recursos não utilizados

SaaS em execução sobre serviços da Web tira proveito da Arquitetura Orientada a Serviços (SOA) para permitir que aplicativos de software se comuniquem uns com os outros. Cada serviço de software pode agir como um provedor ou solicitante de serviços. Um provedor de serviços de SaaS expõe sua funcionalidade a outros aplicativos por meio de brokers públicos. Um solicitante de serviço de SaaS incorpora dados e funcionalidade de outros serviços. Ambos aproveitam economias de escala na implementação e no gerenciamento de serviços de SaaS.

Os serviços da Web são normalmente fracamente acoplados, seja o recurso difícil de obter ou não. Para assegurar que recursos para provedores e solicitantes de serviços não sejam desperdiçados quando a capacidade aumenta ou diminui on demand, crie um serviço da Web com um comutador de acoplamento para suplementar aplicativos SaaS. Esse comutador inverteria para tight coupling de loose coupling quando o serviço da Web recebesse um alerta de que seu recurso correspondente atingiu determinados níveis de desperdício.

Problema 2: Problemas de interoperabilidade

Se seu SaaS for ciente da Web e fácil e simples para a nuvem, a empresa pode achar difícil executar o mesmo aplicativo SaaS com diferentes fornecedores que podem ter, por exemplo, diferentes formatos para importar e exportar dados. Considere este cenário: Há dois aplicativos SaaS para os quais deseja efetuar mashup. Um usa APIs padrão de mercado em execução no ambiente de computação em nuvem de um fornecedor. O outro está executando APIs proprietárias no ambiente de computação em nuvem de outro fornecedor. Esse mashup não funcionará sem alguma reengenharia.

Primeiro, você deve abordar a portabilidade entre os dois fornecedores de computação em nuvem. Eles já permitem comunicação entre os ambientes ou precisam organizar os dados entre eles? Os formatos e lógica dos dados são compatíveis entre os dois tipos de APIs ou é necessário reformatar dados ou alterar a lógica entre os dois aplicativos? Atualmente, não há nenhum padrão para APIs para importar e exportar dados. No entanto, a IBM e a Amazon estão trabalhando juntas para tornar a interoperabilidade e os mashups resultantes mais fáceis de projetar e gerenciar.

Testar, testar, testar

Testar faz parte de qualquer desenvolvimento de software para assegurar que a computação em nuvem e SaaS sejam aprovados. É necessário realizar testes de serviços e aplicativos SaaS para melhorar a qualidade dos serviços. Para iniciar os testes, simule o ambiente do usuário final, como diversos navegadores da Web, sistemas operacionais e conectividades de rede. Caso contrário, você começará mal. Por exemplo, um navegador da Web pode ter recursos que outro não tem. A falta de recurso pode afetar a maneira que um usuário acessa os serviços SaaS na computação em nuvem ou a maneira como os recursos não utilizados são protegidos.

Em seguida, teste as vulnerabilidades de multilocação, como se o usuário A pode personificar o usuário B devido a defeito de software. teste as vulnerabilidades de virtualização, como se o servidor A pode personificar o servidor B. Outras áreas que devem ser testadas são até que ponto um usuário pode escalar o uso sem sobrecarregar o sistema, qual é a melhor maneira de gerenciar chaves privadas em um ambiente de pagamento à medida que você segue e como grandes quantias de dados na nuvem devem ter backup efetuado e devem ser restaurados. Apesar de controle de versão e gerenciamento de mudanças não serem atividades do cliente no modelo SaaS, devem ser testados para assegurar que possam ser verificados de forma adequada. Também é importante se SaaS atende as necessidades verticais, já que SaaS é um aplicativo horizontal.

Lembre-se de que um produto SaaS na nuvem tem condições de implementação de uso diferentes de um produto implementado em um ambiente típico de datacenter. Portanto, os requisitos de teste para o aplicativo baseado em nuvem será diferente também. Por exemplo, produtos SaaS podem ser alterados sem que o cliente saiba. Releases em modelos de implementação de SaaS tendem a ser mais frequentes do que em outros modelos, pois o gerenciamento centralizado torna as atualizações menores mais fáceis; portanto, problemas de suporte ao cliente para produtos SaaS tendem a ter um ciclo mais curto. Ainda assim, esse ciclo de release curto também pode causar muito impacto para o cliente se as mudanças ocorrerem ao acaso sem testes suficientes.

É caro comprar, manter e operar a infraestrutura de teste. Não é barato configurar testes funcionais, de regressão, de desempenho e de tensão enquanto a infraestrutura de SaaS cresce. Antes de cada release final de um produto SaaS, será necessário configurar ambientes de teste Alfa e Beta para obter feedback de clientes em potencial. Portanto, é importante planejar e obter uma grande participação no mercado para obter lucros de assinaturas baratas, enquanto os altos custos de teste são absorvidos.

Interesses de segurança

Atividades de recuperação de desastre, gerenciamento de chave privada e divulgação de controles são interesses de segurança no ambiente de SaaS na infraestrutura de pagamento on demand. Sem planejamento e implementação apropriados, os custos de garantias de segurança podem superar muito as vantagens econômicas de SaaS e de computação em nuvem.

Recuperação de desastres

Planejar para uma recuperação de desastre tornou-se um problema muito importante após a S3 e EC2 da Amazon terem sofrido uma indisponibilidade de três horas no início de 2008. Durante a indisponibilidade, os clientes perderam oportunidades de vendas e executivos não podiam acessar informações críticas para os negócios. Esses impactos superam muito a recuperação de dados e os créditos de serviço fornecidos por um SLA.

Em vez de esperar que uma indisponibilidade ocorra, os clientes devem realizar testes de segurança por conta própria para verificar com que eficiência o provedor de serviços de SaaS pode recuperar dados. O teste é simples: Apenas envie um e-mail ao provedor para obter seus dados armazenados e verifique quanto tempo leva até o provedor recuperá-los. Se levar muito tempo para recuperá-los, pergunte ao provedor a razão e questione quanto você obteria em crédito de serviço em diferentes cenários. Se levar um tempo muito curto para recuperar mesmo para uma enorme quantia de dados, você verifica então se os checksums podem corresponder aos dados originais. Pode ser necessário testar a recuperação durante os horários de pico e fora de pico.

Proteção de dados

Uma área de teste de segurança que deve ser realizado é testar um algoritmo confiável para criptografar os dados em seu computador local que está observando e, em seguida, tentar acessar dados em um servidor remoto que é possível ver na nuvem usando as chaves de decriptografia. Se não for possível ler os dados quando tiver acessado os mesmos, as chaves de decriptografia estão corrompidas ou o servidor os rejeita porque o fornecedor está usando seu próprio algoritmo de criptografia. Pergunte ao fornecedor qual algoritmo de criptografia ele está usando.

Outro problema é os problemas em potencial com dados na nuvem. Para proteger os dados, você pode querer gerenciar suas próprias chaves privadas. Verifique com o fornecedor sobre gerenciamento de chaves privadas. A Amazon fornecerá o certificado se você se inscrever para ele.

Divulgação de atividades de controle

Nem todos os provedores estão dispostos a divulgar com que eficiência eles gerenciam as atividades de controle no ambiente de SaaS. Alguns podem ter uma política de auditoria de suas atividades de controle.

Pergunte a seu provedor se ele está certificado com SAS 70 Tipo II com relação à divulgação de atividades de controle e processos para clientes. Essa certificação assegura documentação abrangente de gerenciamento de mudanças, requisitos de backup e recuperação, requisitos de recuperação de desastre e requisitos de segurança no nível físico do datacenter, incluindo acesso e datacenters espelhados na computação em nuvem. Se ele não for certificado, então, pergunte ao provedor como é possível obter as informações sobre como ele gerencia as atividades de controle, se possível. A certificação não é obrigatória se for possível ficar satisfeito com a qualidade dos procedimentos de seu provedor. A Amazon postou seus processos de segurança em um artigo que é possível localizar na seção Recursos abaixo.

Conclusão

Este artigo ajuda a planejar o desenvolvimento e gerenciamento de SaaS na computação em nuvem. As demandas de usuários em potencial por serviço com assinaturas baratas na infraestrutura de pagamento on demand apresentam um desafio para desenvolvedores e outros membros de uma equipe de projeto. Estar ciente e resolver os problemas de desenvolvimento e gerenciamento de SaaS, inclusive problemas de segurança em potencial, pode tornar as experiências de sua equipe livre de problemas. É possível realizar isso usando o IBM Rational Web Developer WebSphere Software e o IBM Rational ClearQuest para rastreamento de defeito e aplicativo de SaaS que está sendo desenvolvido com IBM AIMs (consulte Recursos para obter informações adicionais).


Recursos

Aprender

Obter produtos e tecnologias

Discutir

Sobre o autor

Judith M. Myerson é engenheira e arquiteta de sistemas. Suas áreas de interesse incluem sistemas corporativos, tecnologias de middleware, tecnologias de banco de dados, computação em nuvem, políticas de limites, segmentos de mercado, gerenciamento de redes, segurança, tecnologias RFID, gerenciamento de apresentação e gerenciamento de projeto.

Ajuda para Relatar Abuso

Relatar abuso

Obrigado. Esta entrada foi sinalizada para atenção do moderador.


Ajuda para Relatar Abuso

Relatar abuso

Falha no envio do Relatório de abuso. Tente novamente mais tarde.


developerWorks: Registre-se


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Selecione seu nome de exibição

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

(Deve possuir de 3 a 31 caracteres.)


Ao clicar em Enviar, você concorda com os termos de uso do developerWorks.

 


Classificar este artigo

Comentários

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=WebSphere
ArticleID=757032
ArticleTitle=A Função de Software como Serviço em Computação em Nuvem
publish-date=09162011
author1-email=jmyerson@bellatlantic.net
author1-email-cc=cmwalden@us.ibm.com

Conheça a IBM da sua cidade

Virtual Branch Office Brasil

A IBM está mais perto do que você imagina!


Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).