UTILIZANDO CLOUDSTEP COMO MODELO DE PROCESSO DE MIGRAÇÃO DE APLICAÇÕES COMERCIAIS PARA A NUVEM PÚBLICA

September 16, 2017 | Autor: Paulo Andrade | Categoria: Brazilian Studies, Cloud Computing, Cloud Computing and Virtualization
Share Embed


Descrição do Produto

UTILIZANDO CLOUDSTEP COMO MODELO DE PROCESSO DE MIGRAÇÃO DE APLICAÇÕES COMERCIAIS PARA A NUVEM PÚBLICA Paulo Roberto Martins de Andrade UNIFOR – Universidade de Fortaleza – Programa de Pós-Graduação em Informática Aplicada Avenida Washington Soares, 1321, Edson Queiroz, CEP 60811-905, Fortaleza – CE, Brasil

Adriano Bessa Albuquerque UNIFOR – Universidade de Fortaleza – Programa de Pós-Graduação em Informática Aplicada Avenida Washington Soares, 1321, Edson Queiroz, CEP 60811-905, Fortaleza – CE, Brasil

RESUMO A Computação em nuvem significa mudança, tarefa que nem sempre é fácil do ponto de vista das empresas, mesmo quando esta conta com inúmeros benefícios (alta escalabilidade, redução de custos, serviço sob demanda, entre outros). Dentre os obstáculos encontrados, o mais impactante é a falta de processos que auxiliem a migração para nuvem, pois é necessário a escolha de modelos e serviços adequados para a sua aplicação, além da análise de riscos e benefícios envolvidos. O artigo analisa dois estudos de caso para a aplicação do Cloudstep, um processo passo-a-passo de decisão que visa apoiar a migração de aplicativos legados para a nuvem, como modelo para apoiar as empresas na tomada de decisão de migração de aplicações. Avaliamos as principais restrições e decisões envolvidas na migração de duas aplicações para a nuvem. PALAVRAS-CHAVE Nuvem, processo, migração, gestão, cloudstep

1. INTRODUÇÃO Com um modelo de negócio atrativo, a computação em nuvem vem cada vez mais aumentando sua popularidade. O gerenciamento pela internet, pagamento por uso, escalabilidade, além de recursos de virtualização de servidores, armazenamento, rede, ambientes de desenvolvimento, aplicativos, são características que fazem com que as empresas aumentem o interesse em adotar esse novo modelo de negócio, consequentemente migrando seus serviços para a nuvem. Uma grande oportunidade de redução de custos, otimização do processo e melhoria da qualidade de seus produtos e serviços, são fatores que instigam o interesse de diversos tipos de organizações em migrarem suas aplicações para a nuvem. No entanto, apesar dessa gama de benefícios, existem algumas barreiras que dificultam a adoção de soluções baseadas em nuvem, principalmente quando é necessário migrar aplicações complexas para provedores de nuvem pública. Migrar para a nuvem é uma atividade complexa, onde vários fatores influenciam na tomada de decisão, tais como, custo, desempenho e segurança. Devem ser considerados possíveis restrições técnicas como por exemplo, quando as aplicações violam regras impostas pelo provedor. A variedade de serviços e os modelos atuais disponíveis, tornam-se uma tarefa difícil na escolha das soluções mais adequadas para atender as necessidades de uma determinada empresa. Devido a inúmeras dificuldades encontradas pelas organizações em migrarem suas aplicações para a nuvem, isto tem despertado interesses de pesquisadores em aprofundar seus conhecimentos em Cloud Computing, publicando obras sobre este tema específico. Baseado no artigo “Step-by-Step Decision Process to Support Legacy Application Migration to the Cloud” [3], esse trabalho tem o intuito de ajudar as empresas na tomada de decisão, assim como na escolha do melhor processo e/ou solução para migrar suas aplicações para a nuvem. O processo foi realizado em cima

de diferentes aplicações de duas empresas de atuação nacional, instaladas no estado do Ceará, Brasil, onde é feito o cruzamento e análise de características de ambas, com o objetivo de identificar barreiras e propor possíveis soluções que auxiliem a migração de suas aplicações para a nuvem.

2. CONTEXTO ATUAL Nesta seção, temos uma visão geral do processo cloudstep e vamos avaliar as principais restrições e decisões envolvidas na migração de duas aplicações comerciais, onde denominaremos as empresas responsáveis por elas como Empresa A e Empresa B.

2.1 Visão geral do processo O processo cloudstep está centrado na identificação guiada e análise dos fatores relevantes que podem influenciar a seleção nuvem e tarefa de migração. Esses fatores estão normalmente relacionados com as características das principais entidades envolvidas diretamente na decisão de migração: a organização, o aplicativo legado alvo, e o provedor de nuvem candidato. Portanto, a identificação dessas características é o primeiro passo para determinar se (e como) seria possível migrar o aplicativo legado para a nuvem. Para ajudar os desenvolvedores na caracterização de sua organização, de suas aplicações legadas e seu provedor candidato de nuvem, o processo conta com a criação de perfis de entidade com base em um conjunto de modelos de perfis fornecidos. A ideia é que, como aumenta o número de perfis, que podem ser armazenados e facilmente acessados com a ajuda de ferramentas automatizadas, mais fácil se torna para o desenvolvedor encontrar um modelo de perfil com características mais próximas às da organização e aplicação envolvida. Uma vez que os perfis de entidade necessários foram criados, o próximo passo é de identificar os riscos potenciais e restrições de migração, bem como definir maneiras de evitar ou mitigá-los (por exemplo, através da redução do escopo de migração de aplicativos ou por alterar o provedor de nuvem). Em Cloudstep, esta análise é feita de forma iterativa, em diferentes fases, a partir de um contexto mais organizacional para uma mais técnica.

2.2 Perfil e contexto das empresas 2.2.1 Empresa A Atualmente a Boavista Tecnologia ou Empresa A comercializa o software E-extrato no modelo de SaaS (Software as a Service). O aplicativo está rodando em um Data Center que fica localizado fora do Brasil. A demanda pelo software tem aumentado bastante nos últimos meses, e recentemente a empresa teve que migrar o aplicativo para uma máquina maior para conseguir atender a nova demanda. A Empresa A é uma empresa pequena com aproximadamente 40 colaboradores, que oferece ao mercado soluções tecnológicas inovadoras, com o objetivo de proporcionar aos seus clientes uma maior qualidade, segurança e agilidade nos seus softwares. Foram identificadas as seguintes restrições para a adoção da nuvem dentro da organização:  Receio de ficar atrelado as tecnologias proprietárias do provedor de nuvem e não conseguir migrar para um concorrente em caso de necessidade (vendor lock-in);  Falta de conhecimento sobre o funcionamento da nuvem. Após uma análise foi verificado que nenhuma das restrições são impeditivas para a adoção da computação em nuvem pela organização. A aplicação E-extrato ou Aplicação A é uma solução de consolidação e conciliação de vendas realizadas em cartões de crédito e débito, oferecendo uma visão de extrato de vendas, bem como seus respectivos recebimentos devidamente acordados. Hoje o sistema é utilizado por cerca de 50 empresas, no entanto a demanda pelo software e a possibilidade de novos clientes tem aumentado bastante nos últimos meses. O sistema é utilizado em horário comercial, de segunda a sexta-feira das 08:00 as 18:00. Nos demais horários o software é usado esporadicamente, mesmo assim o sistema deve permanecer funcionando 24x7. Entre as 06:00 e 08:00 da manhã o sistema recebe via FTP (File Transfer Protocol) os arquivos de texto (no

formato TXT) das empresas com as vendas realizadas no dia anterior usando cartões. Após o recebimento o sistema começa o ciclo de processamento desses arquivos que dura em média 2 a 3 horas. Após isso, o software está atualizado, podendo ser feito consultas e a conciliação das vendas do dia anterior. Hoje o aplicativo está rodando em um servidor dedicado AMD Opteron™, 8 Cores, 32 GB DDR3 RAM e 2x 3,000 GB SATA II HDD, 7.2k. Esse servidor tem um custo mensal de US$ 90,00.

2.2.2 Empresa B Com a crescente demanda por sistemas de apoio a decisão a Empresa WTS Projetos ou Empresa B tem atuado no desenvolvimento de projetos de BI (Business Intelligence) para vários seguimentos de mercado. Usando sua experiência em sistemas de apoio a decisão, desenvolveu um modelo voltado para empresas de transportes, onde vem atuando desde o início de 2013, ofertando o seu produto a empresas de grande porte. O mercado para empresas de pequeno e médio porte não foi atrativo, devido aos custos com infraestrutura e ao tempo necessário para configuração e instalação dos serviços. A Empresa B vem avaliando clientes em potenciais para seu produto e vê na nuvem a possibilidade de viabilizar futuros negócios com pequenos e médios clientes que não podem suportar os custos de aquisição de infraestrutura para a aplicação. Foram identificadas as seguintes restrições para adoção da nuvem na organização:

 

Receio sobre a indisponibilidade do serviço;

Equipe de TI não habilitada para tratar com serviço de suporte. A Empresa B desenvolveu um modelo de serviço baseado na web para aplicação de BI voltado para o setor de transporte terrestre, que agora vamos chamar de Aplicação B. A proposta é acoplar um modelo dimensional criado para apoiar a tomada de decisão da alta administração baseado em indicadores operacionais coletados do sistema transacional existente na organização que pretende contratar o serviço. O processo de leitura e carga dos dados operacionais para o modelo dimensional deve ser realizada em horário programado, tendo como critério a carga diária. O servidor necessário depende do tamanho da empresa, uma vez que torna-se necessário medir o uso do banco de dados, processamento, espaço e memória de acordo com a quantidade de usuários e acessos simultâneos. O modelo oferecido favorece a escolha do prover do serviço na nuvem. Hoje as empresas de grande porte que usam o aplicativo possuem um servidor dedicado Intel Xeon™, Quad Cores 16 GB DDR3 RAM e 1 HD SD de 512 GB e 1 HDD de 1 TB SATA. Esse servidor tem um custo de US$ 1800,00. Além disso, possuem um custo com link dedicado de US$ 110,00 mensais.

2.3 PROVEDORES DE NUVEM Analisamos os perfis de alguns provedores de nuvem a fim de caracterizar se os mesmos satisfazem as restrições identificadas para aplicação e organização como um todo. Após essa análise, foram selecionados 3 provedores: Amazon EC2 (Elastic Compute Cloud) [1], que utiliza um modelo IaaS (Infrastructure as a Service); Amazon RDS (Relational Database Service) [2], que utiliza um modelo SaaS (Software as a Service) e o Google App Engine (GAE) [5], que utiliza o modelo PaaS (Platform as a service).

3. ANÁLISE DE VIABILIDADE Nesta seção, vamos cruzar as características obtidas na análise do perfil das organizações e aplicações com as características dos provedores a fim de encontrar possíveis restrições que impeçam a migração.

3.1 Empresa A 3.1.1 Fatores organizacionais Uma das restrições organizacionais citadas na seção 2.2.1, é que a empresa A não quer ficar presa às tecnologias proprietárias de nenhum provedor de nuvem. Dessa forma encontramos as seguintes restrições no Google App Engine, conforme abaixo:





Como o GAP não suporta banco de dados relacional, a persistência dos dados é feita via Bigtable, um sistema de banco de dados não relacional, que suporta a própria estrutura de dados da nuvem do Google. O acesso é efetuado por um conjunto de APIs que não suportam a linguagem SQL. Por não ter visão relacional, deixa a validação da integridade dos dados a cargo do desenvolvedor. Existem algumas limitações impostas para proteger a estabilidade do sistema. Por exemplo, quando um aplicativo é chamado para servir uma solicitação da web, ele deve emitir uma resposta em até 30 segundos, se o aplicativo demorar mais que o tempo estipulado, o processo será encerrado e o servidor retornará um código de erro ao usuário.

3.1.2 Fatores técnicos Foram encontradas as seguintes restrições técnicas no Google App Engine:  Devido às restrições de segurança na sandbox, é oferecido suporte a um grupo limitado de API´s. Não há suporte a API Flatworm que é utilizada pelo sistema para processamento de arquivos.



Só se é permitido a criação de aplicativos web, que rodam no container do Google. Existe um módulo do E-extrato que é uma aplicação console Java que se conecta às redes adquirentes, usando FTP, e baixa os arquivos com as vendas do dia anterior.

3.1.3 Resultado da análise Dessa forma concluímos que o serviço de PaaS do Google se tornou inviável para a migração da Aplicação A, pois contém várias restrições críticas que impedem a migração. No entanto, ao avaliar o IaaS da Amazon não encontramos nenhuma restrição crítica em qualquer das restrições avaliadas, o que significa que a migração para o Amazon EC2 seria uma alternativa viável para a organização.

3.2 Empresa B 3.2.1 Fatores organizacionais Quando avaliadas as restrições organizacionais, observamos que os problemas identificados podem ter outras derivações:  Possível indisponibilidade do serviço pode ser gerado por falta de conectividade com o provedor de nuvem ou por falha do serviço do provedor de internet que atende a organização;  Equipe de TI não falar a língua nativa do provedor de nuvem foi mantida com a mesma característica, podendo ser atenuado caso seja possível a contratação de técnico bilíngue. Uso de tutoriais e ou tradutores também pode atenuar o problema. Como a característica do serviço não é transacional, foi observado que uma possível parada de até 1 dia, não seria fator impeditivo.

3.2.2 Fatores técnicos Quando avaliamos os fatores técnicos, observamos restrições mais relevantes:  Manter uma instância ativa 24x7, não representa um problema com a adoção dos painéis de controle disponíveis no provedor de nuvem que permitem total monitoramento da instância que for ativada;  Ao fazer uso de modelo SaaS, pode-se instanciar um banco e não é preciso se preocupar com a instalação ou upgrades;  Fazer uso do modelo de IaaS para ter total responsabilidade de instalação, configuração e upgrades;  O modelo de IaaS é o mais adequado para todas as aplicações open source que serão usados para provimento do serviço de BI, que não tem restrições identificadas. Apresentaremos arquitetura atual e proposta em Cloud, para os modelos:  ETL (Extract Transform Load), são ferramentas de software cuja função é a extração de dados de diversos sistemas, a transformação desses dados conforme regras de negócios e pôr fim a carga dos dados geralmente em um Data Mart ou em um Data Warehouse. O processo ETL deve armazenar o resultado de sua transformação agora na nuvem, que deve ter um serviço de banco ativo, configurado com o modelo dimensional especificado para o Data Mart ou Data Warehouse.



OLAP (On-line Analytical Processing) é a capacidade para manipular e analisar um grande volume de dados sob múltiplas perspectivas. O processo OLAP deve ser aplicado agora na nuvem que deve ter um serviço de banco ativo, configurado com o modelo dimensional especificado para o Data Mart ou Data Warehouse.

3.2.3 Resultado da análise Após o processo de análise, verificou-se que não existem impedimentos do ponto de vista técnico para migração da Aplicação B para nuvem. Contudo avaliamos que todo processo de movimentação de dados que será realizado entre a organização e o provedor de nuvem, pode inviabilizar esta migração quando passamos à análise financeira. Dependendo do Data Warehouse implantado, podem existir cargas diárias de centenas de registros (ou tuplas) que podem não ser usadas, por serem dados que não sofrerão mudanças ao longo do tempo, mas só podemos descobrir esta característica após sua comparação. Outro ponto é quando falamos em navegação OLAP, ela pode ser realizada por vários analistas e/ou gestores várias vezes ao dia.

3.3 Estratégia de migração De acordo com a área de TI da Empresa A, hoje a Aplicação A está rodando um em servidor dedicado que está localizado fora do país. Na mesma máquina física está instalado o servidor web e o banco de dados, o que resulta em lentidão em horários de pico. A fim de otimizar propomos um novo modelo de arquitetura que utilizará os serviços da Amazon EC2. Devido as características da aplicação descritas na seção 2.2.1, propomos o uso dois tipos de instâncias. No horário 07:00 às 19:00, o servidor de aplicação vai rodar em uma instância “Double Extra Large”, que tem configuração similar ao servidor dedicado que hoje hospeda a aplicação. No período de 19:00 às 07:00, em que o sistema é usado apenas esporadicamente, o servidor de aplicação vai rodar em uma instância “Micro”. Já para o banco de dados, propomos o uso do Amazon Relational Database Service (Amazon RDS), com uma instância “Medium”. O RDS é um serviço da web que facilita a configuração, a operação e escalabilidade de um banco de dados relacional na nuvem. Na Tabela 1 apresentamos o custo total de manter a infraestrutura na Amazon Web Services. Tabela 1. Preços para instâncias Amazon Instances Type Service Double Extra Large EC2 Application server Micro EC2 Application server Medium RDS Database

Price per hour $ 0,16 $ 0,007 $ 0,074

Hours per day Total Monthly 07:00 - 19:00 $ 57,60 19:00 - 07:00 $ 2,52 00:00 - 24:00 $ 53,28 TOTAL $ 113,40

Já o processo de migração da Aplicação B para nuvem foi considerado um sucesso quando avaliados pela Empresa B, observando que não foi necessário modificações nas aplicações que utilizam arquitetura web, além de não apresentar problemas nos testes realizados. O volume total de dados e o número de objetos que podem ser armazenados são ilimitados. Objetos individuais do Amazon S3 podem variar em tamanho de 1 byte até 5 TB. Como não há taxas de instalação ou compromissos para começar a usar o serviço. No final de cada mês teremos um valor baseado no uso. O volume de armazenamento faturado em um mês baseia-se no armazenamento médio usado durante todo o mês. Isso inclui todos os dados do objeto e metadatas armazenados. Para armazenamento utilizado, temos o seguinte exemplo – Suponha que armazenamos 10 GB de dados de armazenamento padrão do Amazon S3 durante 15 dias [Fórmula: bytes x dias x ], na tabela 2 apresentamos os valores para armazenamento e na tabela 3 temos uma demonstração do exemplo citado. Tabela 2. Preços para o armazenamento padrão da Amazon Capacity The first 1 TB / month Next 49 TB / months Next 450 TB / months

Default Storage $0,095 por GB $0,080 por GB $0,070 por GB

Tabela 3. Demonstração de cálculo para 10 gb de armazenamento em diferentes períodos

Storage 10 GB 10 GB 10 GB

Calculation 10.737.418.240 bytes x 5 days x (24h/day) = 3.600 GB 10.737.418.240 bytes x 15 days x (24h/day) = 3.600 GB 10.737.418.240 bytes x 30 days x (24h/day) = 7.200 GB

Price of Storage $114,00 $342,00 $684,00

Para transferências de dados, temos o seguinte exemplo – Suponha que transferimos 100 MB de dados do Amazon S3 da região padrão dos EUA para a Internet todos os dias em um determinado mês de 31 dias. Suponha também transferimos 100 MB de dados de uma instância do Amazon EC2 a da mesma região para a Internet durante o mesmo mês de 31 dias [Fórmula: ( bytes S3 + bytes EC2) x dias]. Na tabela 4 abaixo apresentamos os valores para armazenamento. Tabela 4. Preços para a transferência de dados pela Internet Transfer per day (S3/EC2) 100 MB / 100MB 200 MB / 200 MB 500 MB / 500 MB

Calculation (100 MB + 100 MB) x 31 days = 6 GB (200 MB + 200 MB) x 31 days = 12 GB (500 MB + 500 MB) x 31 days = 30 GB

Price of Storage $0,72 $1,44 $3,62

Com essas informações e levando em consideração a simulação realizada conforme Tabela 3 (100 GB para 30 dias) e Tabela 4 (500MB + 500MB para 31 dias), considerando ainda que podem existir casos em que estes valores possam ser rateados dentre vários clientes e adicionado a estes valores de custo para suporte/manutenção/evolução da Aplicação B, concluímos que os custos para ela na nuvem não são viáveis para pequenas (devido ao valor do armazenamento), e poderá ser viável para médias empresas, do ponto de vista financeiro. Para as grandes empresas, se tornou uma vantagem competitiva devido as facilidades e garantias oferecidas pela nuvem.

4. CONCLUSÃO Demonstramos o uso do Cloudstep, como um processo passo-a-passo para apoiar na tomada de decisão de migração de aplicações comerciais para a nuvem pública. A utilização do processo foi demonstrada por meio da análise dos principais fatores envolvidos na migração de duas aplicações de diferentes organizações. Com isso o trabalho se propôs a demostrar como analisar a viabilidade do uso do Cloudstep como alternativa a custos de infraestrutura de uma organização usando como exemplo, duas empresas distintas e duas aplicações em um estudo de caso para as 3 ferramentas mais usadas de cloud atualmente. O processo Cloudstep demonstrou ser bastante eficaz, pois usa uma abordagem mais direta, com base na avaliação de restrições técnicas e não técnicas de diferentes perspectivas: a organização, a aplicação, e um ou mais candidatos provedores de nuvem. Após fazer o cruzamos e análise dos perfis das organizações e aplicações com os provedores de nuvem, concluímos que a migração da Aplicação A para nuvem Amazon seria uma alternativa viável para a Empresa A, mas não necessária. Para a migração da Aplicação B, a nuvem da Amazon também se mostrou uma alternativa viável e com vantagens para o negócio da empresa, sendo recomendada a mesma.

REFERÊNCIAS [1] Amazon Elastic Compute Cloud. Available at: http://aws.amazon.com/ec2. Last access: July/2014. [2] Amazon Relational Database Service (Amazon RDS). Available at: http://aws.amazon.com/rds. Las access: July/2014. [3] Beserra, P.V.; Camara, A; Ximenes, R.; Albuquerque, AB.; Mendonca, N.C., “Cloudstep: A step-by-step decision process to support legacy application migration to the cloud”, Maintenance and Evolution of Service-Oriented and Cloud-Based Systems (MESOCA), 2012 IEEE 6th International Workshop on the, vol., no., pp.7,16, 24-24 Sept. 2012 [4] Chiu, D.; Agrawal, G., “Evaluating caching and storage options on the Amazon Web Services Cloud”, Grid Computing (GRID), 2010 11th IEEE/ACM International Conference on, vol., no., pp.17,24, 25-28 Oct. 2010 [5] Google App Engine. Available at: https://appengine.google.com. Last access: July/2014. [6] Ramanathan, S.; Goel, S.; Alagumalai, S., “Comparison of Cloud database: Amazon's SimpleDB and Google's Bigtable”, Recent Trends in Information Systems (ReTIS), 2011 International Conference on, vol., no., pp.165,168, 21-23 Dec. 2011

[7] Uchida, N.; Takahata, K.; Shibata, Y., “Proposal of Business Intelligence System by Overlay Cloud Computing Architecture”, P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), 2013 Eighth International Conference

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.