SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
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
UNIVERSIDADE CATÓLICA DE PERNAMBUCO
CENTRO DE CIÊNCIAS E TECNOLOGIA
CURSO DE CIÊNCIA DA COMPUTAÇÃO
TRABALHO DE CONCLUSÃO DE CURSO
PROJETO DE BANCO DE DADOS PARA APLICAÇÃO EM
NUVENS
por
KLEVERTON FORTUNATO DE ALBUQUERQUE
Monografia apresentada ao curso de Ciência da
Computação da Universidade Católica de
Pernambuco, como parte dos requisitos necessários à
obtenção do grau de Bacharel em Ciência da
Computação.
ORIENTADOR: EDUARDO CARNEIRO
CAMPÊLO JÚNIOR, Mestre.
Recife, Dezembro de 2012.
© Kleverton Fortunato de Albuquerque, 2012.
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
Dedico este trabalho as pessoas que mais
amo na minha vida: Ivanilze, Rogério,
Rosevanya, Roberta e Maria Fernanda.
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).
“Nossa maior glória não é nunca haver caído,
e sim ter levantado depois de cada queda.”
(Confúcio).
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.
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.
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
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
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
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
6.4 COMPARTILHANDO BANCO DE DADOS.........................................................34
6.5 SISTEMA CLOUD COMPUTING CONSEGNA...................................................35
7. CONCLUSÕES..................................................................................................................42
8. REFERÊNCIAS BIBLIOGRÁFICAS .............................................................................43
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]
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.
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.
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.
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
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.
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.
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
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.
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:
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:
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:
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.
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.
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
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.
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]
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]
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.
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
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.
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
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.
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.
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
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.
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;
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:
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.
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.
41
Na figura 6.8 mostra o gráfico do fluxo de caixa anual.
FIGURA 6.8 GRÁFICO DO FLUXO DE CAIXA ANUAL
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.
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.
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/>.
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.

Mais conteúdo relacionado

Mais procurados

Projeto final BI - Rafael
Projeto final BI - RafaelProjeto final BI - Rafael
Projeto final BI - Rafaelrafaelfbarreto
 
Ferramentas da web ao serviço da formação
Ferramentas da web ao serviço da formaçãoFerramentas da web ao serviço da formação
Ferramentas da web ao serviço da formaçãoAnabela Protásio
 
Tcc Gerencia Conf Itil
Tcc Gerencia Conf ItilTcc Gerencia Conf Itil
Tcc Gerencia Conf ItilMarcelo Salles
 
Conexão remota e segurança de rede
Conexão remota e segurança de redeConexão remota e segurança de rede
Conexão remota e segurança de redeSoftD Abreu
 
Virtualização de servidores cleiton leive de lima xavier
Virtualização de servidores   cleiton leive de lima xavierVirtualização de servidores   cleiton leive de lima xavier
Virtualização de servidores cleiton leive de lima xaviercleitonleive
 
Dissertação Mestrado
Dissertação MestradoDissertação Mestrado
Dissertação Mestradowaldyrs
 
Relatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informaticaRelatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informaticaLucianaFerreira163
 

Mais procurados (10)

Projeto final BI - Rafael
Projeto final BI - RafaelProjeto final BI - Rafael
Projeto final BI - Rafael
 
Ferramentas da web ao serviço da formação
Ferramentas da web ao serviço da formaçãoFerramentas da web ao serviço da formação
Ferramentas da web ao serviço da formação
 
Tcc Gerencia Conf Itil
Tcc Gerencia Conf ItilTcc Gerencia Conf Itil
Tcc Gerencia Conf Itil
 
Conexão remota e segurança de rede
Conexão remota e segurança de redeConexão remota e segurança de rede
Conexão remota e segurança de rede
 
081112 manut mont
081112 manut mont081112 manut mont
081112 manut mont
 
Virtualização de servidores cleiton leive de lima xavier
Virtualização de servidores   cleiton leive de lima xavierVirtualização de servidores   cleiton leive de lima xavier
Virtualização de servidores cleiton leive de lima xavier
 
Neiva soares
Neiva soaresNeiva soares
Neiva soares
 
Dissertação Mestrado
Dissertação MestradoDissertação Mestrado
Dissertação Mestrado
 
TCC Rhamon
TCC RhamonTCC Rhamon
TCC Rhamon
 
Relatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informaticaRelatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informatica
 

Destaque

How to connect with Marketo connector
How to connect with Marketo connectorHow to connect with Marketo connector
How to connect with Marketo connectorZaheer Ahmad Chaudhry
 
Adding dynamic file
Adding dynamic fileAdding dynamic file
Adding dynamic fileSon Nguyen
 
Create folder in microsoft share point
Create folder in microsoft share pointCreate folder in microsoft share point
Create folder in microsoft share pointSon Nguyen
 
Executing oracle ebs stored
Executing oracle ebs storedExecuting oracle ebs stored
Executing oracle ebs storedSon Nguyen
 
Clustering concepts
Clustering conceptsClustering concepts
Clustering conceptsHarish43
 
Tong quan ve cong nghe thong tin
Tong quan ve cong nghe thong tinTong quan ve cong nghe thong tin
Tong quan ve cong nghe thong tinNghia Le
 
Accessing jms by groovy
Accessing jms by groovyAccessing jms by groovy
Accessing jms by groovySon Nguyen
 

Destaque (12)

How to connect with Marketo connector
How to connect with Marketo connectorHow to connect with Marketo connector
How to connect with Marketo connector
 
Gestion mule
Gestion muleGestion mule
Gestion mule
 
Transform
TransformTransform
Transform
 
Simple groovy example in mule
Simple groovy example in muleSimple groovy example in mule
Simple groovy example in mule
 
Adding dynamic file
Adding dynamic fileAdding dynamic file
Adding dynamic file
 
Create folder in microsoft share point
Create folder in microsoft share pointCreate folder in microsoft share point
Create folder in microsoft share point
 
Executing oracle ebs stored
Executing oracle ebs storedExecuting oracle ebs stored
Executing oracle ebs stored
 
Clustering concepts
Clustering conceptsClustering concepts
Clustering concepts
 
Symple io flow
Symple io flowSymple io flow
Symple io flow
 
Clustering concepts
Clustering conceptsClustering concepts
Clustering concepts
 
Tong quan ve cong nghe thong tin
Tong quan ve cong nghe thong tinTong quan ve cong nghe thong tin
Tong quan ve cong nghe thong tin
 
Accessing jms by groovy
Accessing jms by groovyAccessing jms by groovy
Accessing jms by groovy
 

Semelhante a Projeto de Banco de Dados para Aplicação em Nuvem

Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...Gabriel Cabral
 
Trabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de GraduaçãoTrabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de GraduaçãoDaniel Fernando Pigatto
 
Implementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsImplementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsEdward David Moreno
 
Viabilidade em cluster de alto desempenho
Viabilidade em cluster de alto desempenhoViabilidade em cluster de alto desempenho
Viabilidade em cluster de alto desempenhoRogério Cardoso
 
Trabalho de diplomação I
Trabalho de diplomação ITrabalho de diplomação I
Trabalho de diplomação IEdmilson Hora
 
Uma arquitetura para descoberta de conhecimento a partir de bases textuais
Uma arquitetura para descoberta de conhecimento a partir de bases textuaisUma arquitetura para descoberta de conhecimento a partir de bases textuais
Uma arquitetura para descoberta de conhecimento a partir de bases textuaissil_91
 
Framework Entities - Dissertação
Framework Entities - DissertaçãoFramework Entities - Dissertação
Framework Entities - DissertaçãoMarcius Brandão
 
Web semântica e ontologias - um estudo de caso
Web semântica e ontologias - um estudo de casoWeb semântica e ontologias - um estudo de caso
Web semântica e ontologias - um estudo de casoAlison Carvalho
 
Fabio virtualizacao (1)
Fabio   virtualizacao (1)Fabio   virtualizacao (1)
Fabio virtualizacao (1)gsabatke
 
UM ESTUDO PARA A IMPLANTAÇÃO DE UM MODELO DE GERÊNCIA DE NUVEM HÍBRIDA UTILIZ...
UM ESTUDO PARA A IMPLANTAÇÃO DE UM MODELO DE GERÊNCIA DE NUVEM HÍBRIDA UTILIZ...UM ESTUDO PARA A IMPLANTAÇÃO DE UM MODELO DE GERÊNCIA DE NUVEM HÍBRIDA UTILIZ...
UM ESTUDO PARA A IMPLANTAÇÃO DE UM MODELO DE GERÊNCIA DE NUVEM HÍBRIDA UTILIZ...Marcelo Dieder
 
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsComparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsMawcor
 
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDITCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDIBruno Gastaldi
 
Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...
Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...
Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...Arley Rodrigues
 
MONOGRAFIA_SegurançaCibernéticaRedes.pdf
MONOGRAFIA_SegurançaCibernéticaRedes.pdfMONOGRAFIA_SegurançaCibernéticaRedes.pdf
MONOGRAFIA_SegurançaCibernéticaRedes.pdfElsioChiburre1
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Waldir R. Pires Jr
 

Semelhante a Projeto de Banco de Dados para Aplicação em Nuvem (20)

Vpn alan-rafael
Vpn alan-rafaelVpn alan-rafael
Vpn alan-rafael
 
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
 
Trabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de GraduaçãoTrabalho de Conclusão de Curso de Graduação
Trabalho de Conclusão de Curso de Graduação
 
Tcc plataforma telemedicina de baixo custo
Tcc plataforma telemedicina de baixo custoTcc plataforma telemedicina de baixo custo
Tcc plataforma telemedicina de baixo custo
 
Implementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsImplementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufs
 
Monografia ifes-everton-bada
Monografia ifes-everton-badaMonografia ifes-everton-bada
Monografia ifes-everton-bada
 
Viabilidade em cluster de alto desempenho
Viabilidade em cluster de alto desempenhoViabilidade em cluster de alto desempenho
Viabilidade em cluster de alto desempenho
 
Trabalho de diplomação I
Trabalho de diplomação ITrabalho de diplomação I
Trabalho de diplomação I
 
Tcc thales-final
Tcc thales-finalTcc thales-final
Tcc thales-final
 
Uma arquitetura para descoberta de conhecimento a partir de bases textuais
Uma arquitetura para descoberta de conhecimento a partir de bases textuaisUma arquitetura para descoberta de conhecimento a partir de bases textuais
Uma arquitetura para descoberta de conhecimento a partir de bases textuais
 
Framework Entities - Dissertação
Framework Entities - DissertaçãoFramework Entities - Dissertação
Framework Entities - Dissertação
 
Web semântica e ontologias - um estudo de caso
Web semântica e ontologias - um estudo de casoWeb semântica e ontologias - um estudo de caso
Web semântica e ontologias - um estudo de caso
 
Fabio virtualizacao (1)
Fabio   virtualizacao (1)Fabio   virtualizacao (1)
Fabio virtualizacao (1)
 
UM ESTUDO PARA A IMPLANTAÇÃO DE UM MODELO DE GERÊNCIA DE NUVEM HÍBRIDA UTILIZ...
UM ESTUDO PARA A IMPLANTAÇÃO DE UM MODELO DE GERÊNCIA DE NUVEM HÍBRIDA UTILIZ...UM ESTUDO PARA A IMPLANTAÇÃO DE UM MODELO DE GERÊNCIA DE NUVEM HÍBRIDA UTILIZ...
UM ESTUDO PARA A IMPLANTAÇÃO DE UM MODELO DE GERÊNCIA DE NUVEM HÍBRIDA UTILIZ...
 
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on RailsComparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
Comparação de Tecnologias para Web - JBoss Seam e Ruby on Rails
 
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDITCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
TCC - AUTOMAÇÃO RESIDENCIAL - BRUNO GASTALDI
 
Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...
Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...
Virtualização e Administração de Servidores com Xen: Um estudo no Instituto F...
 
MONOGRAFIA_SegurançaCibernéticaRedes.pdf
MONOGRAFIA_SegurançaCibernéticaRedes.pdfMONOGRAFIA_SegurançaCibernéticaRedes.pdf
MONOGRAFIA_SegurançaCibernéticaRedes.pdf
 
Relatório de estágio - TÉC. EM INFORMÁTICA
Relatório de estágio - TÉC. EM INFORMÁTICARelatório de estágio - TÉC. EM INFORMÁTICA
Relatório de estágio - TÉC. EM INFORMÁTICA
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014
 

Projeto de Banco de Dados para Aplicação em Nuvem

  • 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
  • 2. UNIVERSIDADE CATÓLICA DE PERNAMBUCO CENTRO DE CIÊNCIAS E TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO TRABALHO DE CONCLUSÃO DE CURSO PROJETO DE BANCO DE DADOS PARA APLICAÇÃO EM NUVENS por KLEVERTON FORTUNATO DE ALBUQUERQUE Monografia apresentada ao curso de Ciência da Computação da Universidade Católica de Pernambuco, como parte dos requisitos necessários à obtenção do grau de Bacharel em Ciência da Computação. ORIENTADOR: EDUARDO CARNEIRO CAMPÊLO JÚNIOR, Mestre. Recife, Dezembro de 2012. © Kleverton Fortunato de Albuquerque, 2012.
  • 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.