Este trabalho apresenta um projeto de banco de dados para aplicação em nuvens, com o objetivo de pesquisar os principais conceitos da Computação em Nuvem e avaliar a aplicabilidade do sistema Consegna em uma empresa. O trabalho revisa a literatura sobre computação em nuvens, apresenta requisitos de desempenho, segurança e gerenciamento de dados em nuvens. Por fim, realiza um estudo de caso utilizando o sistema Consegna para demonstrar suas funcionalidades em uma empresa.
1. UNIVERSIDADE CATÓLICA DE PERNAMBUCO
CENTRO DE CIÊNCIAS E TECNOLOGIA
TRABALHO DE CONCLUSÃO DE CURSO
PROJETO DE BANCO DE DADOS PARA
APLICAÇÃO EM NUVENS
por
KLEVERTON FORTUNATO DE ALBUQUERQUE
Recife, Dezembro de 2010
3. UNIVERSIDADE CATÓLICA DE PERNAMBUCO
CENTRO DE CIÊNCIAS E TECNOLOGIA
CURSO DE CIÊNCIA DA COMPUTAÇÃO
No dia __ de DEZEMBRO de 2012, às 00:00 horas, reuniu-se para deliberar a
defesa de Monografia de Trabalho de Conclusão de Curso de Ciência da Computação,
do aluno KLEVERTON FORTUNATO DE ALBUQUERQUE, orientado pelo professor
EDUARDO CARNEIRO CAMPÊLO JÚNIOR, sob título PROJETO DE BANCO DE
DADOS PARA APLICAÇÃO EM NUVENS, a banca composta pelos professores:
1. EDUARDO CARNEIRO CAMPÊLO JÚNIOR
2. PROFESSOR CONVIDADO
Após a apresentação da monografia esta foi julgada e APROVADA, sendo-lhe atribuída
nota NOTA (NOTA POR EXTENSO).
Recife, DIA de Dezembro de 2012.
________________________________________________________________________
Prof.ª ANA ELIZA LOPES MOURA
Professor da disciplina de Trabalho de Conclusão de Curso
________________________________________________________________________
Prof. EDUARDO CARNEIRO CAMPÊLO JÚNIOR
Professor Orientador
________________________________________________________________________
PROFESSOR CONVIDADO
Professor Convidado
4. Dedico este trabalho as pessoas que mais
amo na minha vida: Ivanilze, Rogério,
Rosevanya, Roberta e Maria Fernanda.
5. AGRADECIMENTOS
A Deus, em primeiro lugar, que em sua infinita sabedoria orienta meus caminhos me
proporcionando saúde, serenidade e disposição para enfrentar todas as etapas desta árdua
caminhada.
Aos meus familiares - minha mãe Ivanilze Fortunato, meu pai Rogério Cavalcante e
minha irmã Rosevanya Albuquerque - que com seu amor infinito e apoio incondicional são
responsáveis por minha base pessoal e educacional.
A minha esposa Roberta Carla e filha Maria Fernanda que me apoiaram todo tempo,
dando-me força e motivação para conseguir concluir com êxito mais essa tarefa.
Aos meus amigos (Antônio Felipe, Felipe Souza, Leonardo de Paiva, Ricardo Brasileiro e
Pedro Henrique) que no convívio tornaram suportáveis as horas mais difíceis e mais felizes os
momentos de vitória.
Agradeço à Universidade Católica de Pernambuco pela oferta do conhecimento científico
por meio dos docentes do curso de Ciência da Computação.
A todos os professores pelos conhecimentos passados dentro e fora da minha jornada
acadêmica.
Ao meu orientador Eduardo Carneiro Campelo Junior, que me acompanhou nesse
período e passou informações sábias e úteis, pela paciência e atenção durante o período de
elaboração deste trabalho.
À empresa (Qualytech Solução em Dados) por me fornecer o sistema que será utilizado
no meu Estudo de Caso, pela atenção e pela compreensão em todos os momentos com todos
os componentes da corporação (Álvaro Frederico, Fábio Martins, Gilberto Araújo, Jefferson
Luiz, Marlon Santini, Joel Coutinho e Robson Barbosa).
6. “Nossa maior glória não é nunca haver caído,
e sim ter levantado depois de cada queda.”
(Confúcio).
7. RESUMO
PROJETO DE BANCO DE DADOS PARA APLICAÇÃO EM
NUVENS
KLEVERTON FORTUNATO DA ALBUQUERQUE
Dezembro/2012
Orientador: Eduardo Carneiro Campelo Júnior, Mestre.
Área de Concentração: Computação em Nuvens.
Palavras-chave: Tecnologia da Informação, Computação em Nuvens, Internet.
Número de Páginas:
EXEMPLO DE RESUMO: Este trabalho busca apresentar as contribuições das ferramentas
da tecnologia da informação, especificamente as de Cloud Computing (C.C) - também
conhecida como Computação nas Nuvens, no sentido de suprir o processo empresarial com
informações úteis, buscando melhorias de eficácia e eficiência. A metodologia deste trabalho
baseia-se em uma revisão literária, que parte do conceito de cloud computing e requisitos
associados. Em seguida, é apresentado um estudo de caso com foco na funcionalidade em um
sistema empresarial, possibilitando uma avaliação da aplicação deste conceito. Na conclusão,
indica-se que Cloud Computing é um acesso remoto aos dados, mesmo se tendo a opção de
fazer acesso através de dispositivos locais, e que deve ser vista como prioridade, pois permite
acessar informações que estão guardadas em um servidor através da Internet, o que possibilita
a disponibilidade de dados rapidamente em qualquer lugar.
8. ABSTRACT
DESIGN OF DATABASE WITH APPLICATION IN CLOUDS
Kleverton Fortunato de Albuquerque
December /2012
Supervisor(s): Eduardo Carneiro Campelo Júnior, Master;
Area of Concentration: Cloud Computing.
Keywords: Information Technology, Cloud Computing, Internet
Number of Pages:
EXAMPLE OF ABSTRACT: This paper seeks to present the contributions of the tools of
information technology, specifically Cloud Computing (CC) - also known as Computing in
the Clouds, to meet the business process with useful information, seeking improvements in
efficiency and effectiveness. The methodology of this study is based on a literature review
that part of the concept of cloud computing and associated requirements. Then, we present a
case study focusing on functionality in an enterprise system, enabling an assessment of the
implementation of this concept. In conclusion, it is stated that Cloud Computing is a remote
access to data, even if having the option to access through local devices, and should be seen as
a priority because it allows you to access information that is stored on a server through
Internet which enables fast data availability anywhere.
9. LISTA DE FIGURAS
Figura 1.1 – Ferramentas que utilizam CC.............................................................................12
Figura 2.1 – Visão Geral da CC..............................................................................................18
Figura 5.1 – Baseline criada ao final da fase de codificação..................................................30
Figura 6.1 – Compartilhando Tabelas.....................................................................................34
Figura 6.2 – Compartilhando Banco de DadosErro! Indicador não
definido......................................................................35
Figura 6.3 – Tela de Login do Sistema Cloud Consegna.......................................................36
Figura 6.4 – Tela de escolha dos Módulos do Sistema Cloud Consegna...............................37
Figura 6.5 – Fechamento de Caixa.........................................................................................38
Figura 6.6 – Roteirização de Entrega por área, vendedor e setor...........................................39
Figura 6.7 – Fluxo de Caixa Anual.........................................................................................40
Figura 6.8 – Gráfico do Fluxo de Caixa Anual......................................................................41
10. LISTA DE QUADROS
Quadro 2.1 – Definições para CC... ........................................................................................16
Quadro 2.2 – Definições de Acadêmicos para CC..................................................................17
Quadro 2.3 – Formas de Distribuição do CC..........................................................................20
11. LISTA DE ABREVIATURAS / SIGLAS
Termo Descrição
CC Cloud Computing Computação nas Nuvens
ERP Enterprise Resource Planning Sistema Integrado de Gestão Empresarial
SQL Structured Query Language Linguagem de consulta estruturada
C# C Sharp
SaaS Software as a service Software como Serviço
PaaS Platform as a service Plataforma como Serviço
IaaS Infrastructure as a service Infraestrutura como Serviço
SLA Service Level Agreement Acordo de níveis de serviços
DPaaS Data Protection as a Service Proteção de Dados como Serviço
BPO
Business Processing Outsourcing
Terceirização de Processamento de
Negócios
TCI Information Technology and
Communication
Tecnologia da Informação e Comunicação
12. SUMÁRIO
1. INTRODUÇÃO ..................................................................................................................11
1.1 CONTEXTUALIZAÇÃO.........................................................................................11
1.2 MOTIVAÇÃO...........................................................................................................11
1.3 OBJETIVOS..............................................................................................................12
1.3.1 Objetivos Gerais...................................................................................13
1.3.2 Objetivos Específicos...........................................................................13
1.4 METODOLOGIA......................................................................................................13
1.5 ORGANIZAÇÃO......................................................................................................14
2. REVISÃO DA LITERATURA .........................................................................................15
2.1 CLOUD COMPUTING.............................................................................................15
2.2 DEFINIÇÃO..............................................................................................................16
2.3 ESTRUTURA DO CC...............................................................................................19
2.3.1 Características Essenciais ........................................................................19
2.3.2 Tipos de Serviço ......................................................................................20
2.3.3 Formas de Distribuição............................................................................21
2.4 BENEFÍCIOS ASSOCIADOS À UTILIZAÇÃO CLOUD COMPUTING...........21
2.5 BARREIRAS INIBIDORAS DA UTILIZAÇÃO DO CLOUD COMPUTING .....22
3. ESCALABILIDADE E DESEMPENHO DOS DADOS.................................................25
4. SEGURANÇA DOS DADOS.............................................................................................27
5. SISTEMAS DE GERENCIAMENTO DE DADOS EM NUVENS ...............................30
6. ESTUDO DE CASO...........................................................................................................32
6.1. APRESENTAÇÃO DA EMPRESA........................................................................32
6.2 PROJETANDO UM CLOUD COMPUTING..........................................................32
6.3 COMPARTILHANDO TABELAS...........................................................................33
13. 6.4 COMPARTILHANDO BANCO DE DADOS.........................................................34
6.5 SISTEMA CLOUD COMPUTING CONSEGNA...................................................35
7. CONCLUSÕES..................................................................................................................42
8. REFERÊNCIAS BIBLIOGRÁFICAS .............................................................................43
14. 11
1. INTRODUÇÃO
1.1 CONTEXTUALIZAÇÃO
O tema cloud computing (computação em nuvens), embora ainda precise de muita
discussão e opiniões conflitantes, já está se tornando realidade. A cada dia vemos essa
tendência consolidar-se cada vez mais e mais casos de sucesso são divulgados.
Mas é indiscutível que ainda estamos aprendendo a explorar a que há de melhor na
computação em nuvem e vamos aprender muito mais futuramente. Os primeiros projetos tem
sido exploratórios, o que é natural. Na verdade, os ciclos de mudança tecnológica levam
alguns anos para amadurecer e provavelmente nos próximos anos a computação em nuvem
torne-se comum, seja para aplicações de negócios como para muitas aplicações de alto
desempenho. Mas, os primeiros passos devem ser dados, já no próximo ano. Cloud computing
é realidade agora e já deveria estar no radar dos gestores de TI de todas as empresas.
1.2 MOTIVAÇÃO
Na era da tecnologia, a informação é o tópico mais valioso das empresas e a segurança
dessa informação é um fator primordial. A área da Tecnologia da Informação e Comunicação
(TIC) avançou em alta velocidade e em pouco tempo as empresas passaram a utilizar os
progressos tecnológicos, de forma segura, para melhorar as operações organizacionais e o
potencial de mercado.
Computação nas nuvens, também conhecida como computação em nuvem ou ainda
como cloud computing, refere-se, essencialmente, à ideia de utilizarmos, em qualquer lugar e
independente de plataforma, as mais variadas aplicações por meio da internet com a mesma
facilidade de tê-las instaladas em nossos próprios computadores. Resumindo, é uma forma
utilizada para que as informações possam ser rápida e facilmente acessadas através da rede.
[1]
Alguns serviços que utilizam computação em nuvens são: Google Docs, Dropbox,
Redes Sociais (Gmail, Facebook, Orkut, Twitter) e Antivírus (Panda Cloud). [2]
15. 12
Figura 1.1- Ferramentas que utilizam CC
A computação nas nuvens é um assunto que cresceu e foi conquistando a credibilidade
e confiança das empresas, entre elas está a Qualytech Solução em Dados. Através de
observações pessoais, constata-se ter havido uma ampla e diversificada utilização do CC.
Cabe aqui citar alguns benefícios da utilização da computação em nuvens: melhor
aproveitamento dos recursos de hardware, economia em equipamentos, flexibilidade e
capacidade de atualização sem impacto para o usuário final.
Por essas e outras questões, a computação em nuvem tornou o caminho mais fácil para
as instituições experimentarem e inovarem com a TIC. Por isso, a tendência é que haja uma
aceleração nessa experimentação e que a conexão à internet prevaleça em 80% a 90% dos
produtos nos próximos dois anos. E, a partir deste ano, empresas como a Samsung, já
divulgaram que equipamentos como blu-ray e home theater terão conexão à rede. Assim, os
televisores, ou as TVs do futuro, terão conectividade e funcionarão como um portal, com
integração aos dispositivos que estarão disponíveis na internet, na nuvem. [3]
A Computação em nuvem é uma tendência inevitável no mundo da internet,
necessitando cada vez mais de qualificação e atualização. As vantagens relatadas acima fazem
com que o Cloud seja uma solução para a maioria das empresas e dos usuários. Os riscos com
a segurança presentes nessa tecnologia, como a localização e recuperação dos dados, a
viabilidade a longo prazo e a indisponibilidade de servidor, existem. Mas, acredita-se que os
desafios devem ser enfrentados em nome da luta pelo crescimento tecnológico.
No estudo de caso, irá ser tratada as questões do tema escolhido.
1.3 OBJETIVOS
De acordo com Vergara (2009) [4], objetivos são os resultados a se alcançar como
resposta ao problema proposto. Portanto, seguem os objetivos da pesquisa.
16. 13
1.3.1 Objetivos Gerais
Pesquisar os principais conceitos relacionados à Computação em Nuvens de modo
a produzir ideias a respeito desta tecnologia com mais clareza;
Avaliar a aplicabilidade da ferramenta Consegna no setor administrativo e
gerencial.
1.3.2 Objetivos Específicos
Apresentar conceitos consagrados sobre computação em nuvens;
Apresentar estudo sobre requisitos: desempenho, segurança e gerenciamento dos
dados para aplicações nas nuvens;
Realizar um estudo de caso utilizando a ferramenta Consegna, avaliando suas
principais características;
Avaliar o banco de dados do caso em estudo;
Indicar as principais características da ferramenta Consegna e onde pode ser
utilizada.
Compilar recomendações sobre o uso de computação nas nuvens.
1.4 METODOLOGIA
Para o desenvolvimento deste trabalho foi realizado um estudo bibliográfico a respeito
do tema para entender as tecnologias e a própria ferramenta Consegna e foi feito um Estudo
de Caso, a fim de visualizar a aplicabilidade do software dentro de um ambiente empresarial e
industrial, bem como verificar umas de suas finalidades que é a de deixar a sistemática mais
ágil e efetiva.
Encontros semanais com o professor orientador foram realizados com a finalidade de
proceder acompanhamento e revisão das atividades e produtos gerados.
17. 14
1.5 ORGANIZAÇÃO
O documento está organizado apresentando o referencial teórico, cobrindo os
conceitos básicos referentes à Cloud Computing e às tecnologias utilizadas nos sistemas
empresariais. Tais elementos são essenciais para o entendimento e utilização da ferramenta
Consegna como suporte. O estudo faz uma síntese da aplicabilidade do uso da ferramenta
Consegna.
Esta monografia esta dividida nos seguintes capítulos:
Capítulo 1: Contemplou uma revisão da literatura referente ao tema,
Computação nas nuvens, estrutura, benefícios e barreiras;
Capítulo 2: Trata da escalabilidade e desempenho da Computação em nuvens;
Capítulo 3: Abrange uma análise sobre segurança dos dados utilizando
Computação nas nuvens;
Capítulo 4: Compreende uma abordagem sobre gerenciamento de dados nas
nuvens;
Capítulo 5: Abrange a análise dos resultados obtidos no estudo de caso sobre a
ferramenta Consegna;
Capítulo 6: Compreende a elaboração das conclusões, de acordo com os
resultados obtidos durante o trabalho.
18. 15
2. REVISÃO DA LITERATURA
Neste capítulo são abordados, de início, os conceitos de computação em nuvem, risco,
segurança e gestão de riscos, temas em torno dos quais está estruturado este estudo. Para cada
um dos temas são apresentadas as principais definições extraídas das referências
bibliográficas pesquisadas. Especificamente para a computação em nuvem, são ainda,
destacados os benefícios que sua utilização pode propiciar aos consumidores e as barreiras
que podem inibir sua adoção e descritos os principais modelos de referência desenvolvidos até
o momento. Relativamente ao risco, são explorados, em adição, alguns modelos de gestão de
riscos e, em particular, os riscos inerentes a Tecnologia da Informação e Comunicação (TIC)
e em particular, à computação em nuvem.
Complementando o capítulo, ao feitas considerações relativas às definições, conceitos
e modelos descritos, enfatizando semelhanças, divergências, pontos fortes e deficiências e
destacando as definições e modelos mais representativos.
2.1 CLOUD COMPUTING
Neste capítulo serão abordados os conceitos da tecnologia “cloud computing” (CC),
destacando as tendências envolvidas para compreensão deste novo modelo.
Hoje em dia, a TIC está presente em quase todas as atividades de negócios e os
investimentos nesta tecnologia tem um crescimento significativo ano após ano. Nos dias
atuais, a Internet está presente em todos os lugares permitindo que empresas se comuniquem
de forma dinâmica.
Conhecimentos e informações podem circular pelas empresas em tempo hábil,
permitindo que decisões importantes e lucrativas sejam tomadas da melhor maneira possível.
A velocidade com que estas informações circulam, de modo controlado, é de vital importância
para que as empresas se mantenham competitivas. O mundo empresarial hoje é dinâmico e
imprevisível por si só. Aumento da concorrência, gerenciamento complexo tanto da cadeia de
produção como dos relacionamentos com fornecedores e clientes, margem de lucro reduzida,
ciclos de vida de produtos cada vez menor, clientes com mais opções de escolha e menos
propensos a fidelidade.
Frente a este cenário, a sobrevivência em um mundo em constantes transformações
exige que as empresas passem por constantes mudanças organizacionais, alterando
continuamente suas ofertas de serviços no mercado, seus processos produtivos, bem como
19. 16
seus modelos de negócio. Sob este contexto, é necessário que as organizações disponham de
uma estrutura que possibilite que os negócios sejam tão flexíveis quanto à demanda do
mercado, tão ou mais eficiente e eficaz que seus concorrentes. Com o objetivo de satisfazer
estes requisitos, a adoção de computação em nuvens (CC) deve ser avaliada.
2.2 DEFINIÇÃO
Segundo Taurion [5], o termo computação em nuvem surgiu em 2006 em uma palestra
de Eric Schmidt, da Google, sobre como sua empresa gerenciava seus data-centers. Hoje,
computação em nuvem, se apresenta como o cerne de um movimento de profundas
transformações do mundo da tecnologia.
Computação em nuvem está se tornando uma das palavras chaves da indústria de TI.
A nuvem é uma representação para a Internet ou infraestrutura de comunicação entre os
componentes arquiteturais, baseada em uma abstração que oculta à complexidade de
infraestrutura. Cada parte desta infraestrutura é provida como um serviço e, estes serviços são
normalmente alocados em data-centers, utilizando hardware compartilhado para computação
e armazenamento. [6]
De todo modo, desde o seu surgimento, diversos autores, organizações e instituições
tentam encontrar uma definição sobre o termo “computação em nuvem”. Smith (2009) [7]
oferece um resumo de definições propostas por organizações e instituições de renome,
definições estas que estão reproduzidas no Quadro 2.1.
Organização Definição
Gartner Group “Estilo de computação no qual recursos de Ti, massivamente escalável, são
disponibilizados sob forma de serviços, por meio da Internet, para múltiplos
consumidores externos.”
Forrester Reseach “Um conjunto de infraestrutura gerenciada, abstrata e altamente escalável, capaz
de hospedar aplicações de consumidores finais, os quais pagam pelo consumo.”
Wikipedia “Um estilo de computação no qual recurso dinamicamente escalar e, em geral,
virtualizados são providos como serviços por meio da Internet.”
Internacional Business
Machines, IBM
“Plataforma que dinamicamente provê, configura, re-configura e libera
servidores de acordo com as necessidades e que emprega grandes data centers e
potentes servidores, nos quais hospeda aplicações e serviços para serem
utilizados via Internet.”
Quadro 2.1 – Definições para CC
Fonte: Adaptado de SMITH; 2009; p.66.
20. 17
Por outro lado, recorrendo ao mundo acadêmico, não são muito distintas das
definições propostas na tabela acima. Veja algumas definições de acadêmicos no Quadro 2.2.
Ano Autor Definição
2007 Weiss “O Conceito de nuvem lida com muitas tecnologias e
arquiteturas já existentes. A centralização de recursos
de computação não é uma novidade, mas um retorno
às raízes, assim como não são novidades a computação
utilitária, a computação distribuída e o software como
serviço...”.
2009 Armbrust et AL “Computação em nuvem refere-se tanto às aplicações
disponibilizadas via Internet sob a forma de serviços
quanto aos equipamentos e sistemas oferecidos pelos
data centers que os proveem; os serviços desta
natureza têm sido já há algum tempo denominado
SaaS (da sigle em inglês para a expressão “software
as a service”) e esta é uma denominação que
continuaremos a utilizar; já que os equipamentos e o
software constituem o que denominaremos nuvem.”
2009 Quian et. AL “Computação em nuvem é um tipo de técnica
computacional nos quais serviços de TI são providos
por unidades dotadas de recursos massivos de baixo
custo, conectadas por redes de protocolo Internet.”
Quadro 2.2 – Definições de Acadêmicos para “Computação em Nuvem”
Para utilizar os serviços, é suficiente ter em instalado na máquina: um sistema
operacional qualquer, um navegador e acesso a Internet. Todos os recursos e processamentos
computacionais ficam a disposição na Internet, com isso, o computador será apenas mais um
dispositivo ligado à "grande nuvem" de computadores. Isso implicará diretamente no custo da
aquisição de máquinas por parte dos usuários.
21. 18
Figura 2.1 – Visão Geral da CC
O conceito de trabalhar na grande nuvem pode fazer com os computadores venham a
baratear o seu preço, fazendo com que mais pessoas possam ter acesso à diversidade de
produtos fornecidos pelas empresas. Muitos destes serviços on-line se tornaram gratuito, e
isto faz com que cada vez mais a internet ganhe destaque. [8]
A computação em nuvem é uma evolução dos serviços e produtos de tecnologia da
informação sob demanda, também chamada de Utility Computing.
O objetivo da Utility Computing é fornecer os componentes básicos como
armazenamento, CPUs e largura de banda de uma rede como uma “mercadoria” através de
provedores especializados com um baixo custo unitário. Usuários de serviços baseados em
Utility Computing não precisam se preocupar com escalabilidade, pois a capacidade de
armazenamento fornecido é praticamente infinita.
A Utility Computing fornece disponibilidade total, isto é, os usuários podem ler e
gravar dados a qualquer tempo, sem nunca serem bloqueados; os tempos de resposta são
quase constantes e não dependem do número de usuários simultâneos, do tamanho do banco
de dados ou de qualquer parâmetro do sistema. Os usuários não precisam se preocupar com
backups. Se os componentes falharem, é de responsabilidade do provedor substituí-los e
tornar os dados disponíveis em tempo hábil através de réplicas.
Outra razão importante para a construção de novos serviços baseados em Utility
Computing é que provedores de serviços que utilizam serviços de terceiros pagam apenas
22. 19
pelos recursos que recebem, ou seja, pagam pelo uso. Não são necessários investimentos
iniciais em TI e o custo cresce de forma linear e previsível com o uso.
2.3 ESTRUTURA DO CC
Mell e Grance (2009) [9] destacam que, de acordo com o NIST, a estrutura da CC é
composta de cinco características essenciais, três tipos de serviço e quatro formas de
distribuição.
2.3.1 Características Essenciais
Segundo os autores, dentre as características essenciais da CC estão: autoatendimento,
acesso pela internet, rápida escalabilidade, utilização de recursos associados e mediação dos
serviços, sendo descritos a seguir:
Autoatendimento: O consumidor pode unilateralmente suprir as suas
capacidades automaticamente com o provedor de serviços. Um exemplo seria o
armazenamento.
Acesso pela internet: As capacidades são disponíveis através da rede
acessadas por meio das plataformas computacionais (thin ou thick client).
Rápida Escalabilidade: Os recursos podem ser rapidamente e elasticamente
obtidos, em alguns casos automaticamente, com rápida escalabilidade tanto de entrada quanto
saída. Para os consumidores, as capacidades se mostram disponíveis e ilimitadas, podendo ser
adquiridas em qualquer quantidade e há qualquer momento.
Recursos Associados: Os provedores de serviços estão agrupados para servir a
múltiplos clientes, usando um modelo de “múltiplos inquilinos” com recursos físicos e
virtuais diferentes, sendo dinamicamente alocados e realocados de acordo com a demanda.
Existe um senso de independência em relação à localização, sendo que o cliente normalmente
não tem controle ou conhecimento sobre a exata localização dos recursos, mas pode ser capaz
de especificar a localização em um maior grau de abstração. Exemplos de recursos:
armazenamento, processamento, memória, largura de banda e máquinas virtuais.
Medição do Uso dos Serviços: Os sistemas em nuvem possuem recursos
automaticamente controláveis e aperfeiçoáveis alavancando a capacidade de medição a um
nível apropriado ao tipo de serviço. O uso dos recursos pode ser monitorado, controlado e
reportado, oferecendo transparência tanto para cliente quanto para provedores do serviço.
23. 20
2.3.2 Tipos de Serviço
Os tipos de serviço que podem ser utilizados pela nuvem são: SaaS, PaaS e IaaS.
SaaS: De acordo com Wang (2008) [10], é uma aplicação que está hospedada
como um serviço na Internet, eliminando a necessidade de ser instalada no computador do
usuário e reduzindo o tempo de manutenção e os gastos, pois é pago de acordo com a
demanda.
PaaS: O desenvolvimento de aplicações para o tamanho dos recursos de
hardware oferecidos na execução dos serviços é realizado de uma maneira transparente, ou
seja, é fornecida a plataforma para a execução de um software (VAQUERO, 2009) [11]. Um
exemplo conhecido seria o Google Apps Engine.
IaaS: Trata-se de um grande grupo de recursos computacionais com
capacidade de armazenamento e processamento. Por meio da virtualização, se possibilita
dividir, atribuiu e dinamicamente redimensionar os recursos para se constituir sistemas
personalizados demandados pelos clientes (VAQUERO, 2009) [11].
O quadro 2.3 mostra as características referentes aos diversos tipos de nuvem:
Tipo de Nuvem Gerenciamento Propriedade Localização Acesso e utilização
Pública Provedor externo Provedor de
Serviços
Externa Compartilhado
Privada Organização e provedor
externo
Organização Interna Privado
Híbrida Organização e provedor
externo
Compartilhada Ambas Ambas
Comunitária Organizações Comunitária Ambas Compartilhado
Quadro 2.3 – Formas de Distribuição do CC
Desta forma, o tipo de infraestrutura na CC e as suas diferentes características se
mostram importantes na utilização dessa tecnologia. Muitas organizações estão considerando
o novo paradigma computacional da CC para otimizar e minimizar o custo de sua
infraestrutura de TI (BOSE;LUO, 2011). [12]
Segundo Taurion (2010) [13], existem quatro camadas que mostram como os serviços
de TI podem ser comprados e ofertados sob o modelo de CC:
24. 21
Nível 1: Infraestrutura em nuvem com oferta de serviços de hospedagem de
capacidade computacional e armazenamento de dados. É o nível mais básico.
Exemplos: S3, EC2, Sun Grid e Blue Cloud.
Nível 2: Desenvolvimento e serviços de gerenciamento em nuvem. Exemplo:
Google App Engine.
Nível 3: SasS.
Nível 4: Camada de processos, que envolvem processos de negócios baseados
nas tecnologias ofertadas pelas camadas anteriores. Como exemplo seriam o serviço de BPO
que ainda é incipiente, mas no futuro pode transformar o mercado.
2.3.3 Formas de Distribuição
A nuvem pode ser distribuída de quatro formas diferentes: privada, comunitária,
pública e híbrida (WYLD, 2010). [14]
Nuvem Privada: A infraestrutura da nuvem é operada somente por uma
organização, podendo ser gerenciada pela própria organização ou terceirizada. Existe a opção
de ser localizada na organização ou fora dela.
Nuvem Comunitária: A infraestrutura da nuvem é dividida entre várias
organizações e auxilia uma comunidade específica que possui as mesmas preocupações (por
exemplos: missão, requerimentos de segurança, política de uso e considerações de
conformidade). Também tem a opção de ser localizada nos domínios das organizações ou fora
delas.
Nuvem Pública: A infraestrutura da nuvem é disponível para o público geral
ou grandes grupos industriais e pertence a uma organização fornecedora de serviços de CC.
Nuvem Híbrida: A infraestrutura da nuvem é composta de uma ou mais
nuvens (privada, comunitária ou pública) que permanecem únicas, mas são padronizadas e
unidas por tecnologias que permitem a portabilidade de dados e aplicações.
2.4 BENEFÍCIOS ASSOCIADOS À UTILIZAÇÃO CLOUD COMPUTING
Para Bandyopadhyay et al. (op. cit.) [15], a computação em nuvem oferece um elenco
significativo de benefícios-chave aos seus consumidores, a saber:
25. 22
Redução de custo: O custo de uso para as pequenas empresas é sensivelmente
reduzido, habilitando-as a se beneficiar do uso de recursos computacionais antes apenas
acessíveis a empresas de maior porte; Da mesma forma, pode-se deduzir que essa
possibilidade de acesso se dá em nível de país, permitindo, dessa forma, a países em
desenvolvimento queimar etapas no processo de informatização da sociedade.
Redução de investimento inicial: O acesso a recursos computacionais se dá
sem a necessidade de investimento inicial, o que faz com que sua efetiva utilização se dê em
um período de tempo menor; Como os gastos se dão sob a forma de custo operacional, ao
invés de inversão em ativos, este fato também contribui para a diminuição dos valores a serem
investidos antecipadamente.
Redução de barreiras: A computação em nuvem tem potencial para reduzir as
barreiras que a TI, em geral, impõe à inovação, o que é visivelmente demonstrado
observando-se as inúmeras novas empresas que têm surgido, servindo-se de recursos
computacionais em nuvem e que, em pouco tempo de atuação, são excepcionalmente bem
sucedidas. Nesta situação, podem ser citadas como exemplo: YouTube, Facebook e Mint.
Facilidade para escalar: A computação em nuvem torna fácil para as
empresas escalar seus serviços de acordo com a demanda de seus clientes; uma vez que is
recursos computacionais são manuseados via software, eles podem ser disponibilizados
rapidamente à medida que novos equipamentos são adicionados à rede. Na realidade, o
objetivo da computação em nuvem é possibilitar que os recursos sejam escalados
dinamicamente, para mais ou para menos, por meio de software, dependendo da carga dos
clientes, com a mínima interação possível com os provedores.
Inovação: A computação em nuvem torna possíveis novas classes de
aplicações e disponibiliza serviços não possíveis anteriormente.
2.5 BARREIRAS INIBIDORAS DA UTILIZAÇÃO DO CLOUD COMPUTING
As referências bibliográficas consultadas dão pouco destaque à questão das barreiras
que podem servir de impedimento à contratação em ambientes de computação em nuvem.
Miller (2008) [16] é um dos poucos que relaciona uma lista de barreiras potenciais que
podem inibir a migração de consumidores para estes ambientes. As barreiras por ele citadas e
que podem ser atribuídas à atuação dos fornecedores de serviços por meio de nuvens não
privadas são:
26. 23
Falta de capacidade técnica: Implementar um ambiente de computação em
nuvem é, por si só, um enorme desafio técnico; Centenas ou milhares de computadores e
servidores devem ser adquiridos, instalados com algum grau de interação e ter sua utilização
gerenciada; além disso, soluções complexas de software têm que ser desenvolvidas e
disponibilizadas em regime 24x7; Tudo isto requer um volume significativo de recursos e não
é qualquer empresa que consegue viabilizá-los adequadamente.
Deficiência do modelo de negócio: Dados os volumes de investimento
necessários para implementar um ambiente de computação em nuvem, os meios para
recuperar o capital investido e gerar lucros tornam estas operações verdadeiros desafios para
os interessados em prestar esse tipo de serviço; A eventual incapacidade para prosperar e
prosseguir na atividade é um fator que pode inibir a disposição dos consumidores em aderir a
este modelo de negócio.
Disponibilização imediata de recursos: A computação em nuvem possibilita
o provisionamento e a aquisição de recursos em tempo real, para utilização imediata; Em
termos práticos, significa que não há demora significativa para que os recursos se tornem
utilizáveis.
Falhas de segurança: Esta questão diz respeito aos dados mantidos pelas
aplicações executadas em nuvens; São tantos os casos de violação de segurança em ambientes
com menor grau de vulnerabilidade, que os consumidores questionam se, de fato, os
fornecedores têm condições de garantir a segurança nas nuvens.
Tradição comportamental: Muitos consumidores não confiam em algo que
não podem ver ou tocar, pois isto lhes trás à tona uma sensação de perda; é o que ocorre
quando seus acervos de informação têm a perspectiva de serem transferidos para ambiente de
nuvem e passarem a ser armazenados em locais distantes ou mesmo desconhecidos; Uma
mudança de atitude para com relação a esta sensação exige novo posicionamento por parte
dos consumidores e representa um novo paradigma, difícil de ser aceito.
Marks e Lozano (2010) [17] também exploram algumas barreiras para a utilização do
CC:
Segurança e privacidade: A segurança e a privacidade são quesitos
mandatórios nos ambientes de computação em nuvem e a perspectiva de poder se defrontar
com falhas de segurança e/ou violação da privacidade têm levado os consumidores a
questionar a utilização desses ambientes, em particular no que se refere a serviços afetos a
aspectos de importância crítica para seus negócios.
27. 24
Governança, acordos de nível de serviço e qualidade: Estes quesitos
compõem um importante nicho de obstáculos potenciais; Os consumidores receiam que os
fornecedores, dados a complexidade, ineditismo e consequente pouco tempo de maturação
destes temas, não estejam preparados para tratá-los de forma satisfatória e que isto possa
provocar dificuldades no relacionamento.
Confiabilidade: Os consumidores esperam que os ambientes de computação
em nuvem sejam confiáveis e que a disponibilidade dos serviços e recursos oferecidos nas
nuvens atenda na íntegra às suas necessidades, em especial àquelas relacionadas a aspectos
críticos dos negócios; A computação em nuvem depende, fundamentalmente, de
confiabilidade e, se os consumidores sentem que não podem tê-la na plenitude, relutam em
aderir a este modela de serviços.
28. 25
3. ESCALABILIDADE E DESEMPENHO DOS DADOS
A nuvem é composta por uma enorme rede de máquinas que necessita ser escalável. A
escalabilidade deve ser transparente para os usuários, podendo estes armazenar seus dados na
nuvem sem a necessidade de saber a localização dos dados ou a forma de acesso. Na nuvem,
os desenvolvedores dispõem de ambientes escaláveis, mas eles têm que aceitar algumas
restrições sobre o tipo de software que se pode desenvolver, desde limitações que o ambiente
impõe na concepção das aplicações até a utilização de SGBDs em nuvem do tipo chave-valor,
ao invés de SGBDs relacionais.
De forma geral, é possível identificar duas dimensões de escalabilidade: vertical e
horizontal. Na escalabilidade vertical melhora-se a capacidade do hardware, incrementando
individualmente os nós existentes, como por exemplo, por meio da disponibilização de um
servidor com mais memória física ou da melhoria da largura de banda que conecta dois nós.
Isto funciona razoavelmente bem para os dados, mas tem várias limitações tais como a
aquisição constante de hardware de maior capacidade, o que pode criar dependência de
fornecedores, aumentando os custos. A escalabilidade horizontal consiste em adicionar mais
máquinas à solução atual de tal modo que seja possível distribuir as requisições entre estas
máquinas. No caso dos dados, pode-se agrupá-los por funções e distribuí-los por vários
SGBDs. Dessa forma, ocorre a fragmentação dos dados em SGBDs em nuvem e cada um
destes sistemas pode ser dimensionado de forma independente. Este tipo de escalabilidade
oferece maior flexibilidade, mas necessita de um planejamento específico.
A escalabilidade envolvendo dados é uma tarefa complexa, já que a maioria dos
SGBDs em nuvem utiliza arquiteturas não compartilhadas, tornando a disposição dos dados
um ponto chave. Pode-se pensar que adicionar dinamicamente um novo servidor de banco de
dados é tão simples como dividir os dados em mais um servidor. Por exemplo, se há dois
servidores, cada um com 50% do total dos dados e se adiciona um terceiro servidor, poder-se-
ia colocar um terço dos dados em cada servidor, fazendo com que cada um dos três servidores
ficasse com 33% dos dados. Entretanto, não é tão simples assim, pois as consultas dos
usuários envolvem dados relacionados em diferentes servidores, o que exige o transporte dos
dados, diminuindo o desempenho do sistema. Por esta razão, a fragmentação dos dados deve
ser feita de forma a minimizar o transporte de dados, o qual adiciona um custo relevante ao
processamento.
Em relação ao desempenho, as soluções de gerenciamento de dados em nuvem devem
lidar com problemas de tempo de resposta, em virtude das diferentes tecnologias e
29. 26
heterogeneidade do hardware utilizado, o que pode influenciar o desempenho. Por exemplo,
uma falha de hardware, tais como problemas no acesso ao núcleo de uma máquina com
múltiplas cores ou a disputa por recursos não virtualizados, causa degradação do desempenho
de uma máquina do sistema. Se a carga de trabalho necessária para executar uma consulta é
dividida igualmente entre as máquinas com configurações diferentes, ocasiona um atraso no
processamento, visto que o tempo para completar a consulta será aproximadamente igual ao
tempo para a execução da máquina com menor configuração para completar a tarefa atribuída.
30. 27
4. SEGURANÇA DOS DADOS
Até agora, vem fazendo-se um levantamento sobre o estado da arte na área de
segurança nas nuvens, de maneira a possibilitar uma visão geral sobre as questões envolvidas.
Apesar da computação em nuvem ser um paradigma recente, há muitos trabalhos já
desenvolvidos. Mesmo assim, existem questões ainda em aberto.
Recentemente, muitos usuários depositam sua confiança em acordos legais e na
reputação de empresas desenvolvedoras de aplicações para a nuvem. Esta conduta pode se
mostrar ingênua e comprometer a segurança de dados em operações mais sensíveis.
Em [18] é proposto um novo modelo de serviço, chamado Data Protection as a
Service DPaaS. Este modelo permite aos provedores de nuvem a construção de aplicações de
manutenção para proteger de maneira eficiente os dados dos usuários que estão armazenados
ou que estão sendo utilizados em operações, além de garantir o estado da plataforma e do
ambiente de execução, para possibilitar níveis de segurança efetivos aos usuários. Porém, este
modelo ainda não consegue abordar todas as questões de segurança apresentadas e, portanto,
ainda não representa a solução definitiva para garantir operações seguras na nuvem.
Quando se trata de segurança, o uso de métodos criptográficos é uma alternativa
bastante eficaz para garantir sigilo e privacidade. Porém, cifrar todo o conteúdo de um disco
rígido pode não ser suficiente, pois pelo fato da nuvem ser uma entidade abstrata, a principal
ameaça não é o roubo físico, haja vista que é comum existirem cópias de segurança
espalhadas por toda a infraestrutura da nuvem. Prevenir e proteger contra ataques na nuvem
exige a elaboração de alternativas mais sofisticadas, que utilizem protocolos que sejam bem
definidos e seguros.
A dependência dos Sistemas de Informação ao negócio, e o surgimento de novas
tecnologias e forma de trabalho, como o comércio eletrônico, as redes virtuais privadas e os
funcionários móveis, as organizações despertaram para a necessidade de segurança, uma vez
que se tornaram vulneráveis a um número maior de ameaças.
A segurança da informação é a proteção dos sistemas de informação contra a negação
de serviço a usuários autorizados, assim como contra a intrusão, e a modificação não
autorizada de dados ou informações, armazenados, em processamento ou em trânsito,
abrangendo a segurança dos recursos humanos, da documentação e do material, das áreas e
instalações das comunicações e computacional, assim como as destinadas a prevenir, detectar,
deter e documentar eventuais ameaça a seu desenvolvimento (NBR 17999, 2003). [19]
31. 28
É evidente que os negócios estão cada vez mais dependentes das tecnologias e estas
precisam estar de tal forma a proporcionar os três princípios básicos da segurança da
informação descritos a seguir:
CONFIDENCIALIDADE: a informação somente pode ser acessada por
pessoas explicitamente autorizadas; é a proteção de sistemas de informação para impedir que
pessoas não autorizadas tenham acesso ao mesmo. O aspecto mais importante deste item é
garantir a identificação e autenticação das partes envolvidas.
DISPONIBILIDADE: a informação ou sistema de computador deve estar
disponível no momento em que a mesma for necessária.
INTEGRIDADE: a informação dever ser retornada em sua forma original no
momento em que foi armazenada; é a proteção dos dados ou informações contra modificações
intencionais ou acidentais não autorizadas.
No que se refere ao modelo de nuvem, muitas organizações questionam como fazer
para que as aplicações nas nuvens possam garantir os três princípios de segurança da
informação descritos acima. Field (2010) [20], afirma que muitas organizações naturalmente
querem reduzir custos e devem considerar o que usar no modelo de computação utilitária.
Questões chaves como segurança de dados, confidencialidade e perda de controle, deve ser
pensado cuidadosamente. Segundo a revista IDC (2009) [21], a questão segurança na nuvem
já evoluiu bastante. O mesmo cuidado que é reservado para a proteção de dados em ambientes
tradicionais, também são aplicados nas estruturas em nuvem. Portanto, não há motivos para
alarde nesse quesito, desde que as regras de segurança tradicionais sejam seguidas.
Segundo Slabeva et al (2010) [22], o cenário de negócios baseados nas tecnologias
para adoção e implementação de computação em nuvem apresenta uma série de questões
legais que devem ser tomadas pelas organizações ao contratar esses serviços. Ainda afirma
que o principal assunto a ser tratado no contrato é o item SLA. Os SLAs servem para definir
pontos acordados sobre a qualidade dos serviços prestados pelo fornecedor, definidos no
contrato. Eles especificam os níveis de serviços que o cliente pode esperar do fornecedor,
incluindo metas de desempenho (BLOMBERG, 2008) [23]. Para Campelo (2009) [24], é
importante determinar os SLAs antes da execução dos serviços. Dessa forma, se mantém um
bom relacionamento entre a organização contratante e seu fornecedor. O desenvolvimento da
confiança nas relações de terceirização de TI resulta da manutenção de troca de informações e
de expectativas de futuras trocas seguras criadas por SLAs bem definidos e consistentes.
(GOO; NAM, 2007). [25]
32. 29
Segundo Jimene (2010) [26], muitas dessas questões já estão sendo resolvidas no
Brasil, pois os grandes provedores de serviços de computação em nuvem já possui escritório
no país. Então, se uma empresa arca com os benefícios da atividade no Brasil, entende-se que
ela tem que arcar com o ônus dessa atividade também aqui no Brasil. Para quem pretende
contratar os serviços de computação em nuvem, observe ainda algumas cláusulas importantes
que devem conter no contrato SLA ou em outro contrato dependendo do caso, [22] conforme
apresentado abaixo:
DESCRIÇÃO DOS SERVIÇOS: É muito importante que os serviços estejam
bastante claros na sua descrição. E que os serviços extras, devem apresentar minuciosamente
suas taxas de pagamento.
MODIFICAÇÃO DO CONTRATO DE ACORDO DE SERVIÇOS: Essa
cláusula deve descrever as modificações do contrato SLA podem ser feitas de forma unilateral
(pelo provedor) ou se pode ser alterado pelas duas partes.
CANCELAMENTO DO CONTRATO: É importante que fique claro para o
cliente a data de encerramento do contrato, e se ele pode ser renovado automaticamente ou
após negociação e assinatura de novo contrato.
SERVIÇOS PROIBIDOS: É aconselhável que o provedor de Computação em
Nuvem descreva claramente no contrato quais as cláusulas permitidas para uso da informação.
Exemplo: o provedor não deve permitir que violações do tipo pornografia infantil, pedofilia,
distribuição de vírus, spyware ou quaisquer outras aplicações maliciosas, violações de direitos
autorais etc.
LICENÇAS: É importante que o contrato descreva detalhadamente quais
licenças de softwares o cliente tem que fornecer.
CONFIDENCIALIDADE: Qualquer informação confidencial armazenadas
nos provedores jamais poderá ser divulgada ou aberta para pessoas não autorizadas.
PROPRIEDADE INTELECTUAL: Essa cláusula deverá declarar para cada
parte os direitos de propriedade intelectual. Qualquer tecnologia ou software fornecido e
qualquer conteúdo ou dados vendidos ou compartilhados.
33. 30
5. SISTEMAS DE GERENCIAMENTO DE DADOS EM NUVENS
Existem diversos SGBDs em nuvem, cada um destes com características e propósitos
específicos. A Figura 5.1 apresenta essa classificação e destaca alguns sistemas.
Figura 5.1 Classificação dos Sistemas de Gerenciamento de Dados em Nuvem
No primeiro quadrante estão os SGBDs relacionais desenvolvidos nativamente para
nuvem. Estes sistemas estão sendo concebidos considerando as características da computação
em nuvem juntamente com aspectos do modelo relacional. O exemplo mais conhecido destes
sistemas é o Microsoft SQL Azure. No segundo quadrante estão SGBDs relacionais que não
foram concebidos para nuvem, mas que podem ser executados em uma infraestrutura baseada
em nuvem. Como exemplo destes sistemas destacam-se o Amazon Relational Database
Service (Amazon RDS) [Amazon 2010] [27] e o Relational Cloud [Curino et al. 2010]. [28]
No terceiro quadrante estão os sistemas considerados nativos para nuvem que não
utilizam o modelo relacional, tais como os sistemas que utilizam o modelo chave-valor e
baseado em coluna. Dentre os sistemas que utilizam o modelo chave-valor pode-se destacar o
Amazon Dynamo [DeCandia et al. 2007] [29] e o Voldemort. BigTable, HBase e Cassandra
são exemplos de sistemas baseados em coluna [NoSQL 2010] [30]. No quarto quadrante estão
os sistemas não nativos que não utilizam o modelo relacional, tais como grafo, documento ou
XML. Estes sistemas estão sendo desenvolvidos para propósitos específicos e utilizados em
34. 31
ambientes em nuvem. O Neo4j é um exemplo dos sistemas baseados em grafo e CouchDB e
MongoDB são exemplos de sistemas orientados a documento.Os sistemas não relacionais,
coletivamente, iniciaram um movimento denominado Not only SQL (NoSQL). NoSQL é um
termo genérico para uma classe definida de SGBDs não relacionais que foram projetados para
gerenciar grandes volumes de dados e, em geral, fornecem garantias de consistência fraca,
como consistência eventual e utilizam estruturas e interfaces simples. Estes sistemas estão
sendo utilizadas principalmente em serviços de hospedagem de sítios, redes sociais e em
outros serviços específicos.
Segundo [Stonebraker 2010] [31], o desempenho e a flexibilidade são duas razões para
utilizar estes novos sistemas. Tratando-se do desempenho, o tempo total do Online
Transaction Processing (OLTP) está relacionado com quatro componentes: logging, bloqueio,
latching e gerenciamento de buffer. Eliminando-se qualquer destes componentes de
sobrecarga, pode-se melhorar o desempenho em 25%. Os sistemas NoSQL abordam alguns
destes componentes utilizando gerenciamento eficiente de buffer, novas arquitetura de thread,
suporte para transações em um único registro e consistência eventual. Dessa forma, o
desempenho depende da remoção das sobrecargas e tem pouco a ver com o SQL, razão pela
qual o termo NoSQL é um equívoco, já que o desempenho está relacionando com as
implementações tradicionais de transações ACID, multithreading e o gerenciamento de disco.
Para melhorar o desempenho, as sobrecargas devem ser removidas e isso é possível no
contexto SQL ou em qualquer outro contexto.
35. 32
6. ESTUDO DE CASO
XXXXXXX
6.1. APRESENTAÇÃO DA EMPRESA
O atual gestor, Fábio Martins, da ferramenta Consegna que foi utilizada para este
estudo, começou a trabalhar, em meados de 2002, em uma fábrica de software na cidade do
Recife.
Responsável pelo setor de TI, uma das principais atividades desempenhadas era a
construção de software para o setor administrativo e gerencial.
Diante desta situação, Fábio Martins, um profissional dedicado, estudioso, atento as
novas tecnologias, juntamente com sua larga experiência e conhecimento de mercado, pois,
em toda sua vida profissional trabalhou com tecnologia de informação em várias
organizações, atribuído ao espírito empreendedor, observou um grande problema para as
empresas acessarem seus dados de qualquer lugar.
Neste contexto, iniciaram-se estudos e pesquisas na procura da melhor tecnologia e
solução a ser utilizada na criação de uma ferramenta própria, que desse suporte as
necessidades analisadas e em paralelo obtivesse lucro tanto para os clientes quanto a sua nova
empresa embrionária.
No inicio de 2006, Fábio Martins iniciou a construção da aplicação juntamente com
seu sócio e sua equipe de desenvolvedores.
A primeira versão foi entregue em 2007, que no mesmo ano foi implantado na Torres
Valença distribuidora da Nestlé e na SRJ Confecções, e desde então o Consegna vem
crescendo constantemente, sendo hoje utilizada em diversos clientes de diversos ramos como:
Vifort (Alimentícios), Retek (Distribuidora), Spada Comércio Hospitalar.
6.2 PROJETANDO UM CLOUD COMPUTING
A computação em nuvem está abrindo mercados que não eram contemplados pelas
empresas no passado. Agora, algumas empresas de software estão pensando em entregar o
software como serviço, em vez de adotar o método usual de desenvolver o software e vendê-
lo aos clientes por meio dos métodos de distribuição tradicionais. Para serem fornecedoras de
SaaS, as empresas precisam encontrar o equilíbrio correto, no qual os recursos são
compartilhados entre os vários arrendatários para reduzir custos e garantir a privacidade das
36. 33
informações do cliente em relação aos outros clientes. Não há problema mais sério do que
poder ver as informações privadas de um arrendatário a partir da conta de outro. Além da
privacidade das informações dos arrendatários, os fornecedores de SaaS precisam fornecer
algum nível de customização para os clientes.
Em um ambiente de multilocação, uma empresa de SaaS pode reduzir custos se
compartilhar ou reutilizar mais os seus recursos. Entretanto, quanto mais a empresa
compartilha, mais riscos ela enfrenta, porque a indisponibilidade de um recurso compartilhado
pode afetar outros clientes. O compartilhamento de mais recursos também aumenta a
complexidade da solução.
A multilocação na camada de dados por meio do DB2 pode ser usada em várias
situações, como mostrado nos seis casos a seguir. Também tenha em mente que, se a empresa
é pequena e quer reduzir os custos de licenciamento, é possível considerar a possibilidade de
usar a versão grátis do DB2: DB2 Express-C.
6.3 COMPARTILHANDO TABELAS
Neste caso, os seguintes recursos são compartilhados:
O servidor de banco de dados
A instância do DB2
O banco de dados
Um espaço de tabela ou mais
Uma tabela ou mais
A Figura 6.1 mostra uma visão geral dos recursos compartilhados neste caso. As
tabelas inventory, customers e orders possuem informações dos clientes dos vários
arrendatários.
37. 34
Figura 6.1
Figura 6.1 Compartilhando Tabelas
RESULTADO
Esse caso oferece vantagens de custo e armazenamento mais baixos, quantidade
mínima de licenciamento do DB2 e número mínimo de instâncias de nuvem necessárias.
A principal desvantagem é que se, por exemplo, uma tabela é corrompida, todos os
clientes são afetados. Além disso, é possível aumentar a complexidade dos aplicativos na
tentativa de sempre determinar quais registros de um arrendatário devem ser recuperados nas
consultas.
6.4 COMPARTILHANDO BANCO DE DADOS
Neste caso, os seguintes recursos são compartilhados:
O servidor de banco de dados
A instância do DB2
O banco de dados
A Figura 6.2 mostra a visão geral dos recursos compartilhados neste caso.
38. 35
Figura 6.2 Compartilhando Banco de Dados
RESULTADO
Neste caso, os benefícios do compartilhamento de um banco de dados ainda
representam um custo relativamente baixo em relação ao uso de uma licença de DB2 e uma
instância de nuvem. O isolamento de dados é bom porque é usado um conjunto diferente de
tabelas. A customização do ponto de vista dos dados é mais fácil, porque cada arrendatário
tem o seu próprio conjunto de tabelas.
A desvantagem é a necessidade de mais armazenamento, já que é necessário criar um
conjunto das mesmas tabelas por arrendatário. Em comparação com o caso 1, seria
usado x vezes mais de armazenamento, onde x é o número de arrendatários. A complexidade
do aplicativo também aumenta e não tem a mesma flexibilidade, já que agora é necessário
customizar o aplicativo para manipular nomes de tabela diferentes e uma estrutura de tabela
possivelmente diferente caso algum arrendatário tenha uma customização específica.
6.5 SISTEMA CLOUD COMPUTING CONSEGNA
Consegna é uma solução desenvolvida na linguagem C#, que atua integrado no
planejamento de recursos corporativos, sendo uma importante ferramenta de gestão
empresarial. A solução fornece maior produtividade e segurança na realização dos mais
complexos processos administrativos. Em um mercado altamente competitivo, o sucesso das
39. 36
organizações está vinculado a um diferencial exclusivo, que faça a empresa ser sinônimo de
competência empresarial. [33]. O ERP CONSEGNA é uma solução moderna, eficiente e
flexível, idealizada dentro do conceito “toque único”, em que um só lançamento no sistema
alimenta com informações toda a empresa. Com grande versatilidade, atende com extrema
eficiência a diversos segmentos de negócios nas áreas administrativa, financeira, comercial,
logística, além de atender áreas específicas.
A tela de login do sistema vem sendo mostrada na figura 6.4.
FIGURA 6.3 TELA DE LOGIN DO SISTEMA CLOUD CONSEGNA
Na figura 6.5 vem mostrando a tela seguinte, depois de o usuário ter logado no sistema
onde podemos escolher para que módulo o usuário vai ser destinado.
40. 37
Figura 6.4 TELA DE ESCOLHA DOS MÓDULOS DO SISTEMA CLOUD CONSEGNA
ÁREA DE VENDAS E DISTRIBUIÇÃO - FATURAMENTO
Objetivo e benefícios
Gerenciam as vendas, validando data de entrega, previsão financeira, limites de
créditos, saldos por cliente, controle das positivações dos clientes.
Características:
Nota fiscal eletrônica;
Previsão financeira;
Controle de limite de preços e descontos;
Controle de saldos dos clientes;
Tabela de preços padrão ou por cliente;
Sistema de informação gerencial de pedidos e faturamento;
Baixa automática do estoque;
41. 38
Gera movimentação de títulos para o módulo de contas a receber;
Controle de metas e objetivos de vendas por cliente, produto, setor e vendedor;
Controle o ranking dos clientes com base em seu faturamento;
Acompanhamento histórico do faturamento anual por setor, vendedor e clientes;
Faturamento automático através de pedidos gerados via celular;
Faturamento manual através do módulo de faturamento;
Na figura 6.5 mostra umas das funcionalidades no módulo financeiro que é o
Fechamento de Caixa.
FIGURA 6.5 FECHAMENTO DE CAIXA
ÁREA DE VENDAS E DISTRIBUIÇÃO - LOGÍSTICA E DISTRIBUIÇÃO
Objetivo e benefícios
Automatiza o processo de expedição, separação dos produtos, rota de entrega, gerando
romaneio e as notas fiscais automaticamente de acordo com o planejamento de entrega,
otimizando toda a logística da empresa.
Características:
42. 39
Romaneio;
Roteirização de entregas por áreas, vendedores, setores;
Emissão das notas fiscais convencionais e eletrônicas;
Na figura 6.6 mostra a roteirização de entrega por áreas, vendedores e setores.
FIGURA 6.6 ROTEIRIZAÇÃO DE ENTREGA POR ÁREA, VENDEDOR E SETOR.
ÁREA FINANCEIRA – GESTÃO FINANCEIRA
Objetivo e benefícios
Gerar o setor financeiro da empresa com visões de contas financeiras e gerenciais,
permitindo acompanhamento histórico com síntese financeira ou previsão de fluxo de
financeiro, automatizando as operações e decisões do dia a dia e muitas outras informações
gerenciais importantes no processo de tomada de decisão.
43. 40
Características:
Contas a pagar e receber;
Controle de caixa e bancos;
Gerenciamento de comissões;
Integração bancária para cobrança;
Pagamentos e recebimentos totais e parciais;
Fluxo financeiro diário, semanal e gráfico gerencial;
Controle de créditos por clientes;
Conciliação bancária Controle dos saldos bancários/saldos de caixa, através de
movimentos de depósitos/entradas, retiradas e transferências;
Na figura 6.7 mostra o gráfico do Fluxo de Caixa Anual.
FIGURA 6.7 GRÁFICO DO FLUXO DE CAIXA ANUAL.
44. 41
Na figura 6.8 mostra o gráfico do fluxo de caixa anual.
FIGURA 6.8 GRÁFICO DO FLUXO DE CAIXA ANUAL
45. 42
7. CONCLUSÕES
Após discutir e interpretar os resultados deve-se apresentar de forma lógica, clara e
concisa as conclusões e descobertas. As conclusões, evidentemente, devem ser baseadas
somente nos fatos comprovados e já discutidos no item anterior. Não se insere novo
raciocínio somente na conclusão. Pretende-se concluir algo que não está suficientemente
discutido no texto, melhore antes a sua discussão e trate somente resumidamente deste
assunto nas conclusões.
Se não for possível tirar conclusões assertivas (afirmações com firmeza e certeza),
prefira o título de Considerações Finais. Neste caso, reúna em temas as informações
trabalhadas na discussão e encontre as idéias centrais, construindo frases objetivas sobre elas.
Em trabalhos teóricos e de revisão, use o termo Considerações Finais.
46. 43
8. REFERÊNCIAS BIBLIOGRÁFICAS
[1] Farias. G; Introdução a Computação de Nuvem. São Paulo. Fev. 2012. Disponível em: <
http://www.youtube.com/watch?v=vf95rulUTjc&feature=related> Acesso em: 06 ago. 2012.
[2] SAKAMOTO. M; Tendências para TI em 2012. São Paulo. Fev. 2012. Disponível em:
<https://www.ibm.com/developerworks/mydeveloperworks/blogs/ethevaldosiqueira/entry/ten
dencias_em_ti_para_2012?lang=en>. Acesso em: 03 ago. 2012.
[3] ALECRIM. E; O que é cloud computing (computação nas nuvens)? São Paulo. Jul.
2012. Disponível em: < http://www.infowester.com/cloudcomputing.php>. Acesso em: 03
ago. 2012.
[4] VERGARA, S. C. Projetos e relatórios de pesquisa em administração. 10 ed. São Paulo:
Atlas, 2009.
[5] TAURION, Cezar. Cloud Computing: Computação em Nuvem: Transformando o mundo
da tecnologia da informação. Rio de Janeiro: Brasport, 2009.
[6] Computação em nuvem: Conceitos, Tecnologias, Aplicações e Desafios – Acessado em
24/10/2012 http://www.ufpi.br/ercemapi/arquivos/file/minicurso/mc7.pdf
[7] SMITH, Roger. Computing in the cloud. Research – Tecnology Management.
Industrial Reseach Institute, v. 52, n. 5, p. 65-68, Set-Out/2009.
[8] D. Song et al. Cloud data protection for the masses. IEEE Computer Magazine, 45(1):39-
45, January 2012.
[9] MELL, P.; GRANCE, T. the NIST Definition of Cloud Computind
<http://www.nist.gov/itl/cloud.cfm> Acessado em 30/10/2012
[10] WANG, L.; Cloud Computing: a Perspective Study, New Generation Computing, 2008.
[11] VAQUERO, L.M.;CACERES L.;LINDNET J. A break in the clouds: Toward a cloud
definition. Computer Communication Review. V 39, p. 50-55, 2009
[12] BOSE, R., LUO, X. Integrative framework for assessinf firms potential to undertake
Green IT initiatives via virtualization – A theoretical perspective. Journal of Strategic
Information Systems, 2011.
[13] TAURION, C. CN: Transformando o Mundo da Tecnologia da Informação. Rio de
Janeiro: Brasport, 2009.
[14] WILD, D. Cloud Computing Around the World. MultiLingual Computing. P. 44-48,
2010.
47. 44
[15] BANDYOPADHYAY, Subhajyoti et al. Cloud computing: the buniness perpective.
Disponível em: <http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1413545> Acessado em
30/10/2012.
[16] MILLER, Michael. Cloud computing: web-based applications that change the way
you work and collaborate online. Indianapolis, IN(US): Que Publishing, 2008.
[17] MARKS, Eric A.: LOZANO, Roberto R. Executive’s guide to clod computing.
Hoboken, NJ (US): John Wiley, 2010.
[18] D. Song et al. Cloud data protection for the masses. IEEE Computer Magazine,
45(1):39-45, January 2012.
[19] NBR ISO/IEC 17799 – Tecnologia da Informação. Código de Prática para Gestão da
Segurança da Informação. Associação Brasileiro de Normas Técnicas. Rio de Janeiro, 2003.
[20] FIELD, Paul. Get More From the Cloud. [S.l.]: ITNOW, 2010. Disponível em:
<http://itnow.osfordjournals.org>. Acesso em: 05 nov. 2012.
[21] GENS F. Definig Cloud Services and Cloud Computing. IDC Exchange, 2008.
Disponível em: <http://blogs.idc.com/ie/?p=190>. Acesso em: Out. 2012.
[22] SLABEVA, K. S. et al. Grid and Cloud Computing: 2005. Berlin: Heiddelberg-
Springer, 2010.
[23] BLOMBERG, Jeanette. Negotiating meaning of shared information in service
system encounters. European Management Journal, v. 26, n. 4, p. 213-222, 2008.
[24] CAMPELO, B. M. A influência do processo de terceirização de tecnologia da
informação na utilização dos modelos de contratação de serviços: Um estudo de casos
múltiplos. 2009. 117 f. Dissertação (Mestrado em Administração) – Universidade Federal do
Rio Grande do Norte, Natal, 2009.
[25] GOO, Jahyun; NAM, Kicham. Contract as a source trust: commitment in successful IT
outsourcing relationships: An empirical study. In: Annual Hawaii Conference On System
Sciences, 40., Hawaii, 2007. Anais..., 2007.
[26] JIMENE, Camilla. Consegi debaterá implicações jurídicas da computação em
nuvem. Disponível em: < http://www4.serpro.gov.br/noticiasSERPRO/2010/julho/consegi-
debatera-implicacoes-juridicas-da-computacao-em-nuvem/?searchterm=>. Acesso em: 05
nov. 2010.
[27] [Amazon 2010] Amazon (2010). Amazon Relational Database Service (Amazon RDS).
<http://aws.amazon.com/rds/>.
48. 45
[28] [Curino et al. 2010] Curino, C., Jones, E., Zhang, Y., Wu, E., and Madden, S. (2010).
Relational cloud: The case for a database service. Technical report, MIT-CSAIL-TR-2010-
014. Computer Science and Artificial Intelligence Laboratory, MIT, USA.
[29] [DeCandia et al. 2007] DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G.,
Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., and Vogels, W. (2007).
Dynamo: amazon’s highly available key-value store. SIGOPS Oper. Syst. Rev., 41(6):205–
220.
[30] [NoSQL 2010] NoSQL (2010). NoSQL East. http://nosqleast.com.
[31] [Stonebraker 2010] Stonebraker, M. (2010). Sql databases v. nosql databases. Commun.
ACM, 53(4):10–11.
[32] Chong, R. Projetando um banco de dados para multilocação na nuvem. Disponível em
<http://www.ibm.com/developerworks/br/data/library/techarticle/dm-
1201dbdesigncloud/index.html > Acessado em 22 Nov 2012.
[33] Consegna. Disponível em <http://www.consegnaerp.com.br > Acessado em 22 Nov
2012.