• Nenhum resultado encontrado

Planejamento de infraestruturas em nuvens privadas para sistemas de educação a distância utilizando modelagem de dependabilidade e custo

N/A
N/A
Protected

Academic year: 2021

Share "Planejamento de infraestruturas em nuvens privadas para sistemas de educação a distância utilizando modelagem de dependabilidade e custo"

Copied!
115
0
0

Texto

(1)

THIAGO PEREIRA TORRES

PLANEJAMENTO DE INFRAESTRUTURAS EM NUVENS PRIVADAS

PARA SISTEMAS DE EDUCAÇÃO A DISTÂNCIA UTILIZANDO

MODELAGEM DE DEPENDABILIDADE E CUSTO

Universidade Federal de Pernambuco posgraduacao@cin.ufpe.br www.cin.ufpe.br/~posgraduacao

RECIFE 2017

(2)

PLANEJAMENTO DE INFRAESTRUTURAS EM NUVENS PRIVADAS PARA SISTEMAS DE EDUCAÇÃO A DISTÂNCIA UTILIZANDO MODELAGEM DE

DEPENDABILIDADE E CUSTO

Dissertação de Mestrado Profissional apresentada ao Programa de Pós-Graduação em Ciência da Computação do Centro de Informática da Universidade Federal de Pernambuco como requisito parcial para obtenção do título de Mestre em Ciência da Computação.

Orientador: Prof. Dr. Hermano Perrelli de Moura.

RECIFE 2017

(3)

Catalogação na fonte

Bibliotecário Jefferson Luiz Alves Nazareno CRB 4-1758

T693p Torres, Thiago Pereira.

Planejamento de infraestruturas em nuvens privadas para sistemas de educação a distância utilizando modelagem de dependabilidade de custo / Thiago Pereira Torres. – 2017.

115f.: fig., tab.

Orientador: Hermano Perrelli de Moura.

Dissertação (Mestrado profissional) – Universidade Federal de Pernambuco. CIn. Ciência da Computação, Recife, 2017.

Inclui referências.

1. Computação em nuvem. 2. Educação a distância. 3. Modelos analíticos. I. Moura, Hermano Perrelli de. (Orientador). II. Titulo.

(4)

Thiago Pereira Torres

Planejamento de Infraestruturas em Nuvens Privadas para

Sistemas de Educação a Distância utilizando Modelagem de

Dependabilidade e Custo

Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Federal de Pernambuco, como requisito parcial para a obtenção do título de Mestre Profissional em 28 de junho de 2017.

Aprovado em: 28/06/2017.

BANCA EXAMINADORA

_________________________________________________ Prof. José Augusto Suruagy Monteiro

Centro de Informática / UFPE

_________________________________________________ Prof. Rodrigo Elia Assad

Universidade Federal Rural de Pernambuco

________________________________________________ Prof. Hermano Perrelli de Moura

Centro de Informática / UFPE (Orientador)

(5)

Dedico esta dissertação a Deus, à minha família, à minha esposa Francilene e à nossa filhinha Maria Helena.

(6)

AGRADECIMENTOS

Gostaria de agradecer primeiramente a Deus, pela minha existência e por me fornecer capacidades para chegar até aqui.

Agradecer também à minha família, começando pela minha irmã Marcela, pelos incentivos, aos meus pais Camilo e Rejane Torres, por todo o apoio desempenhado ao longo de toda a minha vida, seja educacional ou emocional, sempre estando ao meu lado.

Agradeço à minha esposa Francilene, pela paciência, durante este período do Mestrado, principalmente no período de dedicação à dissertação. Agradeço a ela, por todo o apoio desempenhado para a conclusão desta etapa acadêmica.

Ao IFPB, pela liberação parcial do afastamento de minhas atividades profissionais que executo nessa instituição, pois, através dela foi possível cursar as disciplinas, como também pela concessão da licença capacitação para a conclusão da dissertação; em especial, agradecer ao amigo e diretor geral Ricardo Lima, chefia imediata no período inicial do mestrado; ao amigo e pró-reitor de administração Marcos Vicente, por sua amizade e total apoio durante o processo final da dissertação. Aos amigos de trabalho da DEAD (Diretoria de Educação a Distância) do Instituto Federal da Paraíba, que sempre me motivaram, e pelos momentos de troca de experiências acadêmicas. Em especial, ao meu chefe Anderson Bráulio, pelo apoio despendido durante todo o processo e, principalmente, na etapa final do Mestrado. Ao MEC/SETEC, por disponibilizar esta oportunidade de qualificação e crescimento acadêmico.

Aos professores do Mestrado, que nos transmitiram seus ensinamentos ao longo do período das disciplinas. Ao professor Paulo Maciel e seu grupo de pesquisa MoDCS, pela disponibilização da ferramenta Mercury, utilizada como ambiente de testes nesta dissertação. Aos professores Suruagy Monteiro e Rodrigo Assad, pela disponibilidade para participação da banca e por todo o acréscimo de conhecimento sugerido para melhoria deste trabalho.

Em especial, ao meu orientador Hermano Perrelli de Moura, pelas dicas fornecidas desde o momento da minha qualificação, que foram bastante úteis, por ter acreditado na minha pesquisa e por todo esforço dedicado para o sucesso deste trabalho.

(7)

RESUMO

As instituições de ensino estão aderindo, cada vez mais, à modalidade de educação a distância, também conhecida como e-learning. Com isso, a educação a distância vem causando muitas mudanças na educação superior e está emergindo como um novo paradigma de educação moderna, mudando os conceitos de estudos tradicionais. Pesquisas analisaram os fatores críticos para o sucesso da educação a distância e apontaram a infraestrutura e a qualidade dos sistemas como um fator essencial para o seu sucesso. Inserida nesse conceito, a confiabilidade do serviço está relacionada como item de qualidade de sistemas para ambiente e-learning. Computação em nuvem, ou cloud computing, é um meio de fornecer, dinamicamente, recursos como serviços através da Internet. Essa tecnologia pode fornecer muitos benefícios, ao ser utilizada em infraestruturas para a educação. Neste trabalho, é proposta uma metodologia de avaliação para o planejamento de infraestruturas em nuvens privadas, em um ambiente de educação a distância. São propostos, também, a arquitetura básica e os modelos para representação e quantificação de disponibilidade e custo. É abordada uma estratégia de modelagem que envolve o uso de diagrama de blocos de confiabilidade e redes de Petri estocásticas. O ambiente de avaliação, para a modelagem e análise dos resultados, é composto pela ferramenta Mercury. Um estudo de caso é proposto, para analisar a metodologia de avaliação para o planejamento de infraestruturas em nuvens privadas. Os resultados obtidos, expressam que o planejamento de infraestrutura em nuvem sugerido proporciona uma forma de modelar um ambiente de educação a distância, de acordo com os requisitos de disponibilidade e de custo definidos para o projeto.

Palavras-chave: Educação a distância. Computação em nuvem. Modelos analíticos. Avaliação de disponibilidade e custo. Análise de sensibilidade.

(8)

ABSTRACT

Educational institutions are adhering more often to Distance Education, also known as e-learning. Therefore, Distance Education has led to changes concerning higher education, and is emerging as a new modern education paradigm, modifying some of its traditional principles. Some researchers have analyzed critical factors concerning Distance Education success, revealing that both infrastructure and system quality are essential factors towards distance education success. Based on this concept, service reliability is concerned with the system quality for the e-learning environment. Cloud computing, in this way, is a means for dynamically providing features for services via internet. This technology can provide benefits when used in education infrastructures. In this study, an evaluation methodology was proposed for private clouds infrastructure planning, in a Distance Education context. The basic architecture and the representation and quantification models for availability and cost evaluation are also proposed. Therefore, a modelling strategy was proposed, which involves the use of reliability block diagram and stochastic Petri nets. The Mercury tool composes the assessment environment for the modelling and for the analysis of the results. For analyzing the evaluation methodology for private cloud infrastructure planning, a case study is proposed. The results show that the suggested cloud infrastructure planning provides a way to model a Distance Education environment, according to the availability and cost requirements required for the project.

Keywords: Distance education. Cloud computing. Analytical models. Availability and cost evaluation. Sensitivity analysis.

(9)

LISTA DE FIGURAS

FIGURA 2.1:FATORES CRÍTICOS PARA O SUCESSO DA EDUCAÇÃO A DISTÂNCIA ... 24

FIGURA 2.2:INFRAESTRUTURA E QUALIDADE DE SISTEMAS ... 25

FIGURA 2.3:INFRAESTRUTURA DE UM SISTEMA E-LEARNING ... 30

FIGURA 2.4:ARQUITETURA DE COMPUTAÇÃO EM NUVEM PARA E-LEARNING ... 31

FIGURA 2.5:ARQUITETURA DA PLATAFORMA EM NUVEM EUCALYPTUS ... 32

FIGURA 2.6:INFRAESTRUTURA EM NUVEM EUCALYPTUS RESUMIDA ... 34

FIGURA 2.7:INFRAESTRUTURA EM NUVEM EUCALYPTUS COM CLUSTERS ... 35

FIGURA 2.8:FUNCIONAMENTO DA PLATAFORMA EUCALYPTUS ... 36

FIGURA 2.9:CURVA DA BANHEIRA ... 42

FIGURA 2.10:ELEMENTOS BÁSICOS DAS REDES DE PETRI ... 45

FIGURA 2.11:EXEMPLO DE REDES DE PETRI ... 45

FIGURA 4.1:METODOLOGIA DANTAS (2013)... 58

FIGURA 4.2:METODOLOGIA SOUSA (2015)... 58

FIGURA 4.3:VISUALIZAÇÃO EM ALTO NÍVEL DA METODOLOGIA ... 59

FIGURA 4.4:VISUALIZAÇÃO DETALHADA DA METODOLOGIA ... 60

FIGURA 4.5:METODOLOGIA PARA ELABORAÇÃO DOS MODELOS DE DEPENDABILIDADE .. 63

FIGURA 4.6:METODOLOGIA PARA ELABORAÇÃO DOS MODELOS DE CUSTOS ... 66

FIGURA 5.1: ARQUITETURA BÁSICA SUGERIDA POR POCATILU, ALECU E VETRICI (2009)... 70

FIGURA 5.2:ARQUITETURA SUGERIDA POR SOUSA (2015)... 71

FIGURA 5.3:INFRAESTRUTURA EM NUVEM EUCALYPTUS RESUMIDA ... 72

FIGURA 5.4:ARQUITETURA BÁSICA PROPOSTA ... 73

FIGURA 5.5:ARQUITETURA DE HARDWARE E SOFTWARE DOS SERVIDORES ... 73

FIGURA 5.6:MODELO DO SISTEMA COMPUTACIONAL ... 76

FIGURA 5.7:RESULTADOS DO SISTEMA COMPUTACIONAL ... 76

FIGURA 5.8:MODELO DA MÁQUINA VIRTUAL DO MOODLE (VM1)... 78

FIGURA 5.9:RESULTADOS DO MODELO DA MÁQUINA VIRTUAL DO MOODLE (VM1)... 78

FIGURA 5.10:MODELO DA MÁQUINA VIRTUAL DO BANCO DE DADOS (VM2)... 78

FIGURA 5.11:RESULTADOS DA MÁQUINA VIRTUAL DO BANCO DE DADOS (VM2)... 79

FIGURA 5.12:MODELO DO SERVIDOR DE GERENCIAMENTO ... 79

(10)

FIGURA 5.14:MODELO DO SERVIDOR NÓ ... 80

FIGURA 5.15:RESULTADOS DO SERVIDOR NÓ ... 81

FIGURA 5.16:MODELO DA REDE ... 81

FIGURA 5.17:RESULTADOS DO MODELO DA REDE ... 82

FIGURA 5.18:MODELO DA ARQUITETURA BÁSICA ... 83

FIGURA 5.19:RESULTADOS DA INFRAESTRUTURA EM NUVEM ... 83

FIGURA 5.20:ANÁLISE DE SENSIBILIDADE DA INFRAESTRUTURA BÁSICA ... 85

FIGURA 5.21:ANÁLISE DE IMPORTÂNCIA POR DISPONIBILIDADE ... 86

FIGURA 5.22:APLICAÇÃO DE REDUNDÂNCIA HOT STANDBY ... 87

FIGURA 5.23:RESULTADOS DE APLICAÇÃO DA REDUNDÂNCIA HOT STANDBY ... 87

FIGURA 5.24:MODELO DE REDUNDÂNCIA COLD STANDBY ... 89

FIGURA 6.1:MODELO DA ARQUITETURA BÁSICA ... 100

FIGURA 6.2:RESULTADOS DA INFRAESTRUTURA EM NUVEM ... 101

FIGURA 6.3:ANÁLISE DE SENSIBILIDADE DA INFRAESTRUTURA BÁSICA ... 101

FIGURA 6.4:ARQUITETURA COM REDUNDÂNCIA HOT STANDBY NO SERVIDOR NÓ ... 102

FIGURA 6.5:RESULTADOS DA REDUNDÂNCIA HOT STANDBY NO SERVIDOR NÓ ... 102

FIGURA 6.6:REDUNDÂNCIA HOT STANDBY NOS SERVIDORES NÓ E GNM... 103

FIGURA 6.7: RESULTADOS DA REDUNDÂNCIA HOT STANDBY NOS SERVIDORES NÓ E GNM... 103

FIGURA 6.8:REDUNDÂNCIA HOT STANDBY NOS COMPONENTES NÓ,GNM E REDE... 103

(11)

LISTA DE TABELAS

TABELA 3.1:COMPARAÇÃO ENTRE TRABALHOS RELACIONADOS ... 55

TABELA 3.2:ESTRUTURAÇÃO DA PESQUISA ... 56

TABELA 5.1:DADOS PARA AVALIAÇÃO DO SISTEMA COMPUTACIONAL ... 76

TABELA 5.2:PARÂMETROS PARA OS COMPONENTES DA MÁQUINA VIRTUAL... 77

TABELA 5.3:PARÂMETROS DE DEPENDABILIDADE DO SERVIDOR DE GERENCIAMENTO ... 79

TABELA 5.4:PARÂMETROS DE DEPENDABILIDADE DO SERVIDOR NÓ ... 80

TABELA 5.5:PARÂMETROS DE DEPENDABILIDADE DA REDE ... 81

TABELA 5.6:PARÂMETROS DE DEPENDABILIDADE DA ARQUITETURA BÁSICA ... 82

TABELA 5.7:COMPARAÇÃO ENTRE ESTRATÉGIAS DE MODELAGEM ... 84

TABELA 5.8:TESTE T EMPARELHADO DAS ESTRATÉGIAS DE MODELAGENS ... 84

TABELA 5.9:PARÂMETROS DO SERVIDOR NÓ ... 87

TABELA 5.10:PARÂMETROS DE DEPENDABILIDADE DA REDUNDÂNCIA COLD STANDBY ... 88

TABELA 5.11: PARÂMETROS DE CUSTO DOS ELEMENTOS DA ARQUITETURA ... 93

TABELA 5.12:CUSTOS RELATIVOS AOS GASTOS POR EQUIPE TÉCNICA ... 94

TABELA 5.13:CUSTOS RELATIVOS AOS GASTOS POR EQUIPE ESPECIALIZADA PARA MANUTENÇÃO ... 94

TABELA 5.14:CUSTOS RELATIVOS A IMPLANTAÇÃO DA ARQUITETURA BÁSICA ... 94

TABELA 5.15:DISPONIBILIDADE POR ARQUITETURA PROPOSTA ... 95

TABELA 5.16:COMPARAÇÃO COM TRABALHO RELACIONADO ... 95

TABELA 6.1:PARÂMETROS DE DEPENDABILIDADE DA ARQUITETURA BÁSICA ... 100

TABELA 6.2:CUSTOS POR COMPONENTES DA INFRAESTRUTURA EM NUVEM ... 104

TABELA 6.3:ANÁLISE DE DISPONIBILIDADE E CUSTO DA INFRAESTRUTURA EM NUVEM ... 105

(12)

LISTA DE ACRÔNIMOS

API - Application Programming Interface

AVA - Ambiente Virtual de Aprendizagem

AWS - Amazon Web Services

BD - Banco de Dados

CC - Cluster Controller

CIn - Centro de Informática

CLC - Cloud Controller

EBS - Elastic Block Storage/Store

EC2 - Elastic Compute Cloud

FaaS - Framework as a Service

HaaS - Hardware as a Service

HW - Hardware

HTTP - HyperText Transfer Protocol

IaaS - Infrastructure as a Service

IBM - International Business Machines

ISP - Internet Service Provider

KVM - Kernel-based Virtual Machine

MEC - Ministério da Educação

MoDCS - Modeling of Distributed and Concurrent Systems

Moodle - Modular Object-Oriented Dynamic Learning Environment

MTA - Mean Time to Active

MTBF - Mean Time Between Failures

(13)

MTTR - Mean Time to Repair

NC - Node Controller

NIST - National Institute of Standards and Technology

PaaS - Platform as a Service

PN - Petri Net

QoS - Quality of Service

RBD - Reliability Block Diagram

REST - Representational State Transfer

RT - Roteador

SaaS - Software as a Service

SAN - Storage Area Network

SC - Storage Controller

SLA - Service Level Agreement

SO - Sistema Operacional

SOAP - Simple Object Access Protocol

SPN - Stochastic Petri Net

SWEB - Servidor de aplicação (Web)

SW - Switch

TI - Tecnologia da Informação

TIC - Tecnologias da Informação e das Comunicações

UFPE - Universidade Federal de Pernambuco

UFS - User Facing Services

VDC - Virtual Data Center

VDI - Virtual Desktop Infrastructure

(14)

VM - Virtual Machine

VMDK - Virtual Machine Disk Format

VMM - Virtual Machine Monitor

(15)

SUMÁRIO 1 INTRODUÇÃO ... 18 1.1 MOTIVAÇÃO ... 19 1.2 OBJETIVOS ... 20 1.3 ESTRUTURADADISSERTAÇÃO... 21 2 FUNDAMENTAÇÃO TEÓRICA ... 22 2.1 EDUCAÇÃOADISTÂNCIA ... 22

2.1.1 Benefícios de sistemas e-learning ... 23

2.1.2 Qualidade em sistemas e-learning ... 23

2.2 COMPUTAÇÃOEMNUVEM ... 26

2.2.1 Benefícios da computação em nuvem ... 27

2.2.2 Serviços de computação em nuvem ... 28

2.2.3 Tipos de computação em nuvem ... 29

2.2.4 Infraestrutura de computação em nuvem em educação a distância ... 30

2.3 PLATAFORMAEMNUVEMEUCALYPTUS ... 31

2.3.1 Módulos controladores da Plataforma Eucalyptus ... 32

2.3.2 Planejamento dos serviços da infraestrutura em nuvem ... 33

2.3.3 Serviços para a nuvem ... 33

2.3.3.1 Serviços para usuários ... 34

2.3.3.2 Serviços de cluster ... 34

2.3.3.3 Serviços de Nó ... 35

2.3.4 Funcionamento da Plataforma Eucalyptus ... 36

2.4 MECANISMOSDEREDUNDÂNCIA ... 37

2.5 CONCEITOSEMÉTRICASDEDEPENDABILIDADE ... 38

2.6 DIAGRAMADEBLOCOSDECONFIABILIDADE ... 42

2.7 REDESDEPETRI ... 44

2.8 ANÁLISEDESENSIBILIDADE ... 46

3 TRABALHOS RELACIONADOS ... 48

3.1 EDUCAÇÃOADISTÂNCIAUTILIZANDOCOMPUTAÇÃOEMNUVEM ... 48

3.1.1 Um ecossistema de e-learning baseado em infraestrutura de computação em nuvem...48

3.1.2 Usando cloud computing para sistemas de e-learning ... 49

3.1.3 Cloud computing: um novo paradigma de negócios para o e-learning ... 49

3.1.4 Cloud computing benefícios e arquitetura em e-learning ... 50

3.1.5 Uma arquitetura de sistema e-learning baseada em cloud computing ... 51

3.1.6 E-learning baseado em cloud computing ... 51

3.1.7 Implementação de cloud computing para o sistema de e-learning ... 52

3.2 AVALIAÇÃODEDEPENDABILIDADEEANÁLISEDESENSIBILIDADE ... 52

3.3 AVALIAÇÃODEDEPENDABILIDADEEMINFRAESTRUTURAE-LEARNING.52 3.3.1 Medindo a eficiência da computação em nuvem para sistemas de e-learning... 53

3.3.2 Avaliação da dependabilidade de infraestruturas em nuvem ... 53

3.3.3 Uma abordagem de modelagem para o planejamento de infraestrutura em nuvem, considerando os requisitos de confiabilidade e custo... ... 54

(16)

3.3.4 Planejamento de infraestrutura em nuvem considerando diferentes

mecanismos de redundância ... 54

3.3.5 Comparação entre os principais trabalhos relacionados ... 54

3.4 CONSIDERAÇÕES ... 56

4 METODOLOGIA PROPOSTA ... 57

4.1 CONSTRUÇÃODAMETODOLOGIA ... 57

4.2 PROPOSTADEMETODOLOGIA ... 59

4.3 PROPOSTADOAMBIENTE ... 61

4.3.1 Levantamento de requisitos do sistema ... 61

4.3.2 Definição da arquitetura básica ... 62

4.3.3 Análise de sensibilidade e importância por disponibilidade ... 62

4.3.4 Concepção da arquitetura final ... 62

4.4 CONSTRUÇÃODOSMODELOSDEDISPONIBILIDADE ... 63

4.4.1 Levantamento de requisitos de dependabilidade ... 64

4.4.2 Levantamento de parâmetros e métricas de dependabilidade ... 64

4.4.3 Construção do modelo de subsistema ... 64

4.4.4 Construção do modelo analítico ... 65

4.4.5 Validação da modelagem de disponibilidade ... 65

4.5 CONSTRUÇÃODOSMODELOSDECUSTOS ... 66

4.5.1 Levantamento dos requisitos ... 66

4.5.2 Criação das métricas de custo ... 66

4.5.3 Criação do modelo de custo ... 67

4.6 AVALIAÇÃODOAMBIENTEDECOMPUTAÇÃOEMNUVEM ... 67

4.7 SELEÇÃODOAMBIENTEDECOMPUTAÇÃOEMNUVEM ... 67

4.8 CONSIDERAÇÕES ... 67

5 PROPOSTA DE ARQUITETURA E MODELOS ... 69

5.1 ARQUITETURABÁSICA ... 69

5.1.1 Análise de arquiteturas anteriores ... 70

5.1.2 Infraestrutura em nuvem resumida ... 71

5.1.3 Proposta de arquitetura básica ... 72

5.1.4 Arquitetura de hardware e software ... 73

5.2 MODELOSDEDISPONIBILIDADE ... 74

5.2.1 Modelo do sistema computacional ... 75

5.2.2 Modelo da máquina virtual EaD ... 77

5.2.3 Modelo do servidor de gerenciamento ... 79

5.2.4 Modelo do servidor Nó ... 80

5.2.5 Modelo da rede ... 81

5.2.6 Modelo da arquitetura básica ... 82

5.2.7 Validação da estratégia de modelagem por disponibilidade ... 83

5.3 ANÁLISEDESENSIBILIDADEPARAMÉTRICADAARQUITETURABÁSICA .. 84

5.4 IMPORTÂNCIAPORDISPONIBILIDADEDOSCOMPONENTESDANUVEM . 85 5.5 MODELOSDEREDUNDÂNCIA ... 86

5.5.1 Modelo de redundância hot standby ... 86

5.5.2 Modelo de redundância cold standby ... 88

5.6 MODELOSDECUSTO ... 89

5.6.1 Modelo de custo para equipe técnica ... 90

5.6.2 Modelo de custo para equipamentos ... 90

(17)

5.6.4 Modelo de custo de equipamentos e softwares por redundância ... 91

5.6.5 Modelo de custo para equipe especializada ... 92

5.6.6 Modelo de custo para reparo de equipamentos defeituosos... 92

5.6.7 Análise de custo da arquitetura básica ... 93

5.7 VALIDAÇÃODAARQUITETURAPROPOSTA ... 94

5.8 CONSIDERAÇÕES ... 96

6 ESTUDO DE CASO ... 98

6.1 PROPOSTADOAMBIENTE ... 99

6.2 CONSTRUÇÃODOMODELODEDISPONIBILIDADE ... 100

6.3 CONSTRUÇÃODOMODELODECUSTO ... 104

6.4 AVALIAÇÃODOAMBIENTEDECOMPUTAÇÃOEMNUVEM ... 104

6.5 SELEÇÃODOAMBIENTEDECOMPUTAÇÃOEMNUVEM ... 105

7 CONCLUSÕES E TRABALHOS FUTUROS ... 106

7.1 CONTRIBUIÇÕES... 107

7.2 TRABALHOSFUTUROS ... 108

(18)

1 INTRODUÇÃO

Neste capítulo, faz-se uma breve apresentação sobre sistemas de educação a distância, como também uma introdução à computação em nuvem, relacionada à infraestrutura como serviço, nuvens privadas e mecanismos de redundância. Ao longo do capítulo, serão mencionadas as motivações que levaram à escolha do tema, como também os objetivos e a estrutura da dissertação.

As instituições de ensino estão aderindo, cada vez mais, à modalidade de educação a distância, também conhecida como e-learning (SUN et al., 2008). Com isso, a educação a distância vem causando muitas mudanças na educação superior. Essa modalidade de ensino está emergindo como um novo paradigma de educação moderna e mudando conceitos de estudos tradicionais.

Essa modalidade propõe que a tecnologia possa ser utilizada para garantir que alunos com pouca disponibilidade de tempo sejam capazes de gerenciar o seu período de estudo e conciliá-lo com suas demais atividades. Uma abordagem de e-learning pode aproveitar e facilitar o ensino e a aprendizagem através da construção de conhecimentos on-line (LIEBOWITZ; FRANK, 2011).

Uma potencial tecnologia que pode ser empregada para a melhoria na qualidade da infraestrutura de sistemas de educação a distância é a computação em nuvem, ou cloud computing, pois ela pode fornecer, dinamicamente, recursos como serviços através da Internet. O serviço de computação em nuvem pode prover ubiquidade, através de dispositivos em qualquer lugar que possua acesso à Internet, como também garantir uma melhor disponibilidade e a entrega do serviço de forma apropriada.

Para isso, a utilização da infraestrutura como serviço será proposta para fornecer processamento, armazenamento, redes e outros recursos computacionais, com o objetivo de implantar e executar software, como sistemas operacionais e aplicações. Desta forma, pode ser utilizada para hospedar uma aplicação de educação a distância, por exemplo.

Tem-se o intuito, com esta pesquisa, que venha a ser utilizada como referência para instituições de ensino, como instituições públicas, porém, também

(19)

servir como base para instituições privadas. Em razão disso, é importante ressaltar o teor do decreto 8.135, de 4 de novembro de 2013, que, em seu artigo primeiro, relata que:

As comunicações de dados da administração pública federal direta, autárquica e fundacional deverão ser realizadas por redes de telecomunicações e serviços de tecnologia da informação fornecidos por órgãos ou entidades da administração pública federal, incluindo empresas públicas e sociedades de economia mista da União e suas subsidiárias (BRASIL, 2013).

Por esse motivo, com o intuito de promover abrangência no uso tanto por instituições públicas, como também por instituições privadas, foi escolhida a infraestrutura em nuvem privada para ser utilizada neste trabalho, de forma que a infraestrutura seja provisionada para uso, obedecendo o teor do decreto.

Diante da ocorrência de falhas na infraestrutura, mecanismos de tolerância a falhas podem ser utilizados para garantir a prestação de um determinado serviço, como o e-learning. Um mecanismo bastante utilizado para o aumento de disponibilidade de infraestruturas é a redundância de seus componentes (BAUER; ADAMS, 2012).

Nesta dissertação, propõe-se uma metodologia para o planejamento de infraestrutura de nuvem privada para ambientes com sistemas de educação a distância, de forma que possa prover uma melhoria na disponibilidade com um custo estipulado.

1.1 MOTIVAÇÃO

A educação a distância está se consolidando cada vez mais; a cada dia que passa, cresce a demanda por essa modalidade. Essa mudança vem gerando uma melhoria na qualidade do sistema de educação e provendo uma eficácia nos custos de implantação desse sistema de ensino.

Uma das vantagens da educação a distância é a possibilidade que o aluno tem de gerenciar o seu tempo de estudo, fazendo com que ele, por exemplo, concilie o seu horário de estudo com o do trabalho. Em razão disso, é necessário que os

(20)

sistemas de educação a distância estejam disponíveis para o aluno o mais próximo possível de vinte e quatro horas por dia e sete dias por semana.

O tema vem sendo estudado ao longo do tempo até o momento atual, mostrando a relevância desta pesquisa e a necessidade que sejam estudados meios de melhorar os sistemas de tecnologia da informação dos ambientes virtuais de educação a distância.

A maior motivação neste trabalho será proporcionar uma aplicação mais eficaz dos recursos e tornar os sistemas mais tolerantes a falhas, com o intuito de alcançar uma melhoria na disponibilidade do serviço em ambientes e-learning.

1.2 OBJETIVOS

Tem-se como objetivo principal neste trabalho propor uma metodologia para planejamento de infraestrutura de sistemas de educação a distância utilizando computação em nuvem.

Entre os objetivos específicos de pesquisa estão:

1. Realizar estudos bibliográficos relacionados a fatores de sucesso para a educação a distância, infraestrutura de sistemas de educação a distância utilizando computação em nuvem e modelagem e métricas de dependabilidade para avaliação de sistemas;

2. Propor uma metodologia para planejamento de infraestrutura em nuvem eficaz;

3. Fazer análise de sensibilidade para descobrir pontos fracos do sistema;

4. Propor modelos de dependabilidade para uma infraestrutura de computação em nuvem em um ambiente de educação a distância;

5. Utilizar modelagem de dependabilidade com Diagrama de Blocos e Redes de Petri;

6. Utilizar métricas de dependabilidade para avaliar os modelos;

7. Comparar a disponibilidade do modelo proposto com demais modelos já existentes;

(21)

1.3 ESTRUTURA DA DISSERTAÇÃO

Este trabalho está dividido em sete capítulos, que serão descritos de forma resumida a seguir.

No Capítulo 1, apresenta-se uma breve introdução sobre o assunto abordado nesta dissertação, motivação e objetivos de pesquisa.

No Capítulo 2, apresenta-se a fundamentação teórica para a elaboração deste trabalho. Nesse capítulo, serão abordados os temas educação a distância, computação em nuvem, plataforma em nuvem Eucalyptus, mecanismos de redundância, dependabilidade, diagrama de blocos de confiabilidade, redes de Petri e análise de sensibilidade.

No Capítulo 3, destacam-se os trabalhos relacionados ao assunto em questão. Eles estão divididos em trabalhos sobre educação a distância utilizando computação em nuvem, avaliação de dependabilidade e trabalhos relacionados à avaliação de dependabilidade em infraestrutura de educação a distância utilizando computação em nuvem.

No Capítulo 4, propõe-se a metodologia utilizada para o desenvolvimento do trabalho. Essa metodologia levará em conta a análise dos pontos fracos do sistema, de forma que sejam priorizados os componentes mais sensíveis nas replicações, tornando assim a abordagem mais eficaz.

No Capítulo 5, propõe-se a arquitetura básica e os modelos de dependabilidade da infraestrutura de computação em nuvem para educação a distância. Serão utilizados modelos RBD e SPN para representação da infraestrutura do sistema.

No Capítulo 6, propõe-se o estudo de caso referente ao planejamento da infraestrutura em nuvem para educação a distância.

No Capítulo 7, apresentam-se as conclusões e contribuições deste trabalho, além das perspectivas de trabalhos futuros.

(22)

2 FUNDAMENTAÇÃO TEÓRICA

Neste capítulo, será abordado o conteúdo necessário para a fundamentação do trabalho proposto. De início, será dissertado o assunto sobre educação a distância; em seguida, sobre computação em nuvem, procedendo com a plataforma em nuvem Eucalyptus, mecanismos de redundância, dependabilidade, redes de Petri e, finalmente, análise de sensibilidade de sistemas.

2.1 EDUCAÇÃO A DISTÂNCIA

A tecnologia da informação criou novas oportunidades para a educação. Mais de 1000 instituições em 50 países oferecem opções de e-learning (SHARMA; KITCHENS, 2004), tornando-se uma ferramenta útil para melhorar a qualidade do ensino e da aprendizagem. O e-learning é uma abordagem inovadora, para o fornecimento de educação através de formas eletrônicas de informação que aprimoram os conhecimentos, habilidades ou outros desempenhos do aluno (SIRITONGTHAWORN et al., 2006).

Arbaugh e Duray (2002) definiram o e-learning como o uso da Internet pelos usuários para aprender conteúdo específico. Outros pesquisadores definem como o uso de modernas tecnologias da informação e das comunicações (TIC) e computadores para fornecer instrução, informação e conteúdo de aprendizagem (SELIM, 2007). Os participantes do e-learning são alunos, professores, pessoal administrativo, técnico e empregadores (OZKAN; KOSELER, 2009).

O sistema de e-learning é uma tecnologia que utiliza navegadores web como uma ferramenta de interação com os alunos e outros sistemas (FERDOUSI, 2009). Esse sistema funciona como uma plataforma para facilitar o ensino e a aprendizagem.

Os alunos percebem os benefícios ao utilizar sistemas de e-learning e essa modalidade não tem valor sem que os alunos usem os sistemas. Os alunos tornaram-se mais diversificados, enquanto a demanda por educação está aumentando (BHUASIRI et al., 2012). Por exemplo, o aumento da demanda por

(23)

educação vem de estudantes femininos com filhos adultos, estudantes em tempo integral que trabalham em tempo parcial e estudantes em tempo parcial que trabalham em tempo integral (SHARMA; KITCHENS, 2004).

Uma das plataformas mais utilizadas por instituições de ensino atualmente é a plataforma Moodle. O Moodle é um software livre, sendo chamado pelo meio de educação a distância como Ambiente Virtual de Aprendizagem (AVA). Foi adotado por diversas instituições de ensino públicas do país, além de haver disponíveis versões em 75 idiomas diferentes e mais de 25 mil websites registrados em mais de 175 países (MOODLE, 2017).

2.1.1 Benefícios de sistemas e-learning

Os sistemas de aprendizagem on-line oferecem benefícios para as partes interessadas localizadas em todo o mundo. As vantagens do e-learning para os alunos incluem uma maior acessibilidade à informação, melhor entrega de conteúdo, instrução personalizada, padronização de conteúdo, prestação de contas, disponibilidade sob demanda, autoestimulação, interatividade, confiança e maior comodidade (ZHANG et al., 2004).

O e-learning reduz os custos, permite uma entrega consistente de conteúdos e melhora o rastreamento das informações, entre outros benefícios para o corpo docente (WELSH et al., 2003; ZHANG et al., 2004). Ademais, reduz o custo de sala de aula e instalações, custo de treinamento, custo de viagem, custo de materiais impressos, custo de mão-de-obra e sobrecarga de informações (WELSH et al., 2003).

2.1.2 Qualidade em sistemas e-learning

Existem fatores determinantes para o sucesso de um ambiente educacional a distância. Soong et al. (2001) descobriram que fatores humanos, instrutores, competência técnica dos alunos, mentalidade dos alunos sobre aprendizagem on-line, nível de colaboração e infraestrutura de tecnologia da informação (TI) são

(24)

fatores críticos para o sucesso de cursos e-learning em Singapura. Fuller, Vician e Brown (2006) recomendam que qualquer implementação efetiva do sistema de e-learning aborda a tecnologia, a pedagogia e o indivíduo.

Fatores críticos para o sucesso do e-learning incluem tecnologia e infraestrutura, design, instrutores e características dos alunos, suporte e questões de conteúdo. Fatores adicionais de sucesso incluem o curso e as dimensões ambientais (SUN et al., 2008).

Figura 2.1: Fatores críticos para o sucesso da educação a distância

Fonte: Bhuasiri et al. (2012).

Bhuasiri et al. (2012) categoriza os fatores de sucesso do e-learning em sete dimensões com base em várias teorias, como a teoria cognitiva social, o modelo de sucesso e a teoria da motivação. As sete dimensões do sucesso incluem características dos alunos, características dos instrutores, ambiente de e-learning, qualidade da instituição e do serviço, qualidade da infraestrutura e do sistema, qualidade do curso e da informação e motivação, como apresentado na Figura 2.1.

Por isso, a qualidade do sistema refere-se à crença do aluno sobre as características de desempenho do sistema e-learning (CHIU et al., 2007). É necessário estabelecer um ambiente confiável e que esteja disponível para uso do aluno a qualquer momento. A qualidade do sistema tem um forte efeito positivo na satisfação dos alunos (OZKAN; KOSELER, 2009).

(25)

O aluno precisa de um ambiente pronto para ser utilizado no momento que ele possui disponibilidade para estudar. A não percepção desta disponibilidade do sistema causa um desestímulo ao uso dessa modalidade.

A infraestrutura e qualidade do sistema incluem a qualidade da Internet, condições facilitadoras, confiabilidade, facilidade de utilização, a funcionalidade do sistema, a interatividade do sistema, a resposta do sistema e acessibilidade dos equipamentos (ARBAUGH; DURAY, 2002; SUN et al., 2008; LEE, 2010). Ou seja, o sistema deve estar pronto para o uso do aluno no momento em que ele desejar e ele deve sentir o apoio da instituição ao utilizar o sistema, no que diz respeito tanto à disponibilidade do sistema, quanto ao auxílio na sua utilização.

Figura 2.2: Infraestrutura e qualidade de sistemas

Fonte: Bhuasiri et al. (2012).

Segundo Bhuasiri et al. (2012), os formuladores de políticas nos países em desenvolvimento devem adotar as seguintes estratégias de implementação para melhorar a qualidade da Internet, a funcionalidade do sistema, a interatividade do sistema e a confiabilidade dos serviços de e-learning:

a) Melhorar a infraestrutura de Internet de banda larga que liga todos os institutos e universidades;

b) Promover e aumentar a conscientização do e-learning para a sociedade; c) Aumentar a confiabilidade da infraestrutura e dos sistemas através de

(26)

Então, pode-se concluir que a qualidade da infraestrutura tecnológica é um fator determinante para o sucesso da educação a distância em uma instituição de ensino. E o tema escolhido é importante e relevante para ser pesquisado, uma vez que pode favorecer a qualidade do ensino através da melhoria da infraestrutura da tecnologia da informação empregada a sistemas e-learning, com o intuito de prover uma melhor qualidade na disponibilidade dos sistemas nessa modalidade.

2.2 COMPUTAÇÃO EM NUVEM

O National Institute of Standards and Technology (NIST) define através de Mell e Grance (2011) a computação em nuvem, ou cloud computing, como um modelo que permite o acesso sob demanda a uma lista de recursos computacionais configuráveis (redes, servidores, armazenamento, aplicativos e serviços) que podem ser rapidamente provisionados e liberados com o mínimo esforço de gerenciamento ou interação do provedor de serviços.

Recentemente cloud computing surgiu como um novo tipo de tecnologia para acelerar a inovação da indústria computacional. É um modelo de computação baseado em redes, especialmente na Internet.

Computação em nuvem é bastante escalável, ou seja, ajustável, dependendo da demanda de uso. E é capaz de criar recursos virtualizados, que podem ser disponibilizados para os usuários. Eles não precisam possuir conhecimentos sobre os conceitos de cloud computing para se conectarem aos seus serviços, podendo se comunicar através da Internet aos servidores remotos.

Segundo a NIST, as características essenciais da computação em nuvem estão listadas a seguir:

Autoatendimento sob demanda. Um consumidor pode

unilateralmente obter capacidades de computação, como tempo do servidor e armazenamento de rede automaticamente, conforme for necessário, sem interação com cada provedor de serviços.

Amplo acesso à rede. As capacidades estão disponíveis através da rede e acessadas através de mecanismos que promovem a utilização por plataformas de clientes heterogêneas (telefones celulares, tablets, laptops e estações de trabalho).

(27)

Agrupamento de recursos. Os recursos de computação do

provedor são agrupados para servir vários consumidores. Usando com diferentes recursos físicos e virtuais dinamicamente atribuído de acordo com a demanda do consumidor. Há uma sensação de independência em que o cliente geralmente não tem controle ou conhecimento sobre a exata localização dos recursos fornecidos, mas pode ser possível especificar a localização a um nível (Por exemplo, país, estado ou datacenter). Exemplos de recursos incluem armazenamento, processamento, memória e largura de banda da rede.

Rapidez de elasticidade. As capacidades podem ser elasticamente

provisionadas e liberadas, em alguns casos automaticamente, para escalar rapidamente proporcional à demanda. Ao Consumidor, as capacidades disponíveis para o aprovisionamento parecem muitas vezes ilimitadas e que podem ser apropriadas em qualquer quantidade, em qualquer momento.

Medição de serviço. Os sistemas em nuvem controlam e otimizam

automaticamente o uso de recursos, alavancando uma capacidade de medição em algum nível de abstração apropriado ao tipo de serviço (por exemplo, armazenamento, processamento, largura de banda e contas de usuário ativas). O uso de recursos pode ser monitorado, controlado e relatado, proporcionando transparência tanto para o provedor quanto para o consumidor do serviço utilizado (MELL; GRANCE, 2011).

2.2.1 Benefícios da computação em nuvem

Empresas e instituições atualmente buscam atualizar seus modelos de negócios para obter benefícios para esse novo paradigma. A computação em nuvem fornece vários recursos que a tornam atraente para os gerentes de negócios, conforme mostrado abaixo:

Pouco investimento inicial: A computação em nuvem usa um

modelo de precificação de pagamento. Um provedor de serviços não precisa investir na infraestrutura para começar a ganhar benefícios com a computação em nuvem. Ele simplesmente aluga recursos da nuvem de acordo com suas próprias necessidades e paga pelo uso.

Redução do custo operacional: os recursos em um ambiente em

nuvem podem ser rapidamente alocados sob demanda. Assim, um prestador de serviços não precisa mais provisionar capacidades de acordo com a carga de pico. Isso proporciona uma enorme economia, pois os recursos podem ser liberados para economizar em custos operacionais quando a demanda por serviços for baixa.

Altamente escalável: os provedores de infraestrutura agregam

grande quantidade de recursos dos data centers e os tornam facilmente acessíveis. Um provedor de serviços pode facilmente

(28)

expandir seu serviço para grandes escalas, a fim de lidar com aumento rápido na demanda de serviços.

Acesso fácil: os serviços hospedados na nuvem geralmente são

baseados na web. Portanto, eles são facilmente acessíveis através de uma variedade de dispositivos com conexão à Internet. Estes dispositivos não só incluem computadores desktop e laptop, mas também telefones celulares e PDAs.

Redução dos riscos de negócio e despesas de manutenção: Ao

terceirizar a infraestrutura de serviços para as nuvens, um provedor de serviços desloca seus riscos de negócios (como falhas de hardware) para provedores de infraestrutura, que muitas vezes têm melhores conhecimentos e estão melhor equipados para gerenciar esses riscos. Além disso, um provedor de serviços pode reduzir a manutenção do hardware e os custos de treinamento do pessoal (ZHANG; CHENG; BOUTABA, 2010).

2.2.2 Serviços de computação em nuvem

Nuvens computacionais oferecem serviços que podem ser agrupados em três categorias: software como um serviço (SaaS), plataforma como um serviço (PaaS) e infraestrutura como um serviço (IaaS). O NIST define, através de Mell e Grance (2011), estas categorias da forma especificada a seguir:

Software como um Serviço (SaaS). A capacidade fornecida ao

consumidor é usar os aplicativos do provedor executados em uma infraestrutura de nuvem. As aplicações são acessíveis a partir de vários dispositivos cliente através de uma interface de thin client, como um navegador da Web (por exemplo, um e-mail baseado na Web) ou uma interface de programa. O consumidor não gerencia nem controla a infraestrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais, armazenamento ou até mesmo recursos de aplicativos individuais, com a possível exceção de gerenciamento de configuração específicas de usuários.

Plataforma como um Serviço (PaaS). A capacidade oferecida ao

consumidor é implementar, na infraestrutura da nuvem, aplicativos criados pelo consumidor ou adquiridos, criados usando programação, idiomas, bibliotecas, serviços e ferramentas suportados pelo provedor. O consumidor não gerencia ou controla a infraestrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais ou armazenamento, mas tem controle sobre os aplicativos implantados e possivelmente as configurações para o ambiente.

Infraestrutura como Serviço (IaaS). A capacidade oferecida ao

consumidor é fornecer processamento, armazenamento, redes e outros recursos de computação fundamentais, onde o consumidor é capaz de implantar e executar software arbitrário, que pode incluir sistemas operacionais e aplicativos. O consumidor não gerencia ou

(29)

controla a infraestrutura de nuvem subjacente, mas tem controle sobre sistemas operacionais, armazenamento e aplicativos implantados; E possivelmente controle limitado de componentes de rede selecionados (por exemplo, firewalls de host) (MELL; GRANCE, 2011).

2.2.3 Tipos de computação em nuvem

As nuvens podem ser classificadas de acordo com quem é o proprietário dos centros de dados da Cloud (PATIDAR; RANE; JAIN, 2012). Um ambiente em nuvem pode incluir uma única nuvem ou várias nuvens. Assim, pode-se distinguir entre ambientes de nuvem única e vários ambientes. Segundo a NIST, os tipos de nuvens computacionais estão divididos e definidos conforme detalhamento a seguir:

Nuvem privada. A infraestrutura da nuvem é provisionada para uso

exclusivo por uma única organização que compreende vários consumidores (por exemplo, unidades de negócios). Pode ser de propriedade, gerenciado e operado pela organização, um terceiro, ou alguma combinação deles, e pode existir dentro ou fora das instalações.

Nuvem da comunidade. A infraestrutura da nuvem é provisionada

para uso exclusivo por uma comunidade específica de consumidores de organizações que têm preocupações compartilhadas (por exemplo, missão, requisitos de segurança, política e considerações de conformidade). Ela pode ser de propriedade, gerenciada e operada por uma ou mais organizações da comunidade, por um terceiro, ou por alguma combinação deles, e pode existir dentro ou fora das instalações.

Nuvem pública. A infraestrutura da nuvem é provisionada para uso

aberto pelo público em geral. Pode ser de propriedade, gerenciado e operado por uma empresa, acadêmica ou organização governamental, ou alguma combinação deles. Ele existe nas instalações do provedor de nuvem.

Nuvem híbrida. A infraestrutura de nuvem é uma composição de

duas ou mais infraestruturas de nuvem distintas (privadas, comunitárias ou públicas) que permanecem como entidades exclusivas, mas que são unidas pela tecnologia padronizada ou proprietária que permite a portabilidade de dados e aplicativos (MELL; GRANCE, 2011).

(30)

2.2.4 Infraestrutura de computação em nuvem em educação a distância

A arquitetura de um sistema e-learning inclui componentes de software, como o aplicativo cliente, um servidor de aplicativos e um servidor de banco de dados, e os componentes de hardware necessários, como computador cliente, infraestrutura de comunicação e servidores (POCATILU; ALECU; VETRIC, 2009), como está apresentado na Figura 2.3.

Essas tecnologias de hardware e software de virtualização são usadas para garantirem a estabilidade e a confiabilidade da infraestrutura (POCATILU; ALECU; VETRIC, 2009). Para que isso ocorra, é necessário estabelecer parâmetros como a disponibilidade do serviço, segurança de dados, backup e planos de contingência.

Figura 2.3: Infraestrutura de um sistema e-learning

Fonte: Pocatilu, Alecu e Vetric (2009).

Segundo Laisheng e Zhengxia (2011), a arquitetura de cloud computing para e-learning é logicamente dividida em cinco camadas, a saber, a camada de recurso de hardware, a camada de recurso de software, a camada de gestão de recursos, a camada do serviço em nuvem e a camada de aplicações de negócios, conforme estão apresentadas na Figura 2.4.

(31)

Figura 2.4: Arquitetura de computação em nuvem para e-learning

Fonte: Laisheng e Zhengxia (2011).

A nuvem e-learning é uma migração da tecnologia em computação em nuvem para área de educação a distância, que é uma infraestrutura educacional do futuro. Essas estruturas englobam as informações necessárias de ensino, recursos de hardware e software direcionados para ensino a distância (MASUD; HUANG, 2012). Após isso, os recursos de computação são virtualizados e podem ser oferecidos em formato de serviços para instituições educacionais.

2.3 PLATAFORMA EM NUVEM EUCALYPTUS

O Eucalyptus é um software de código aberto para a construção de nuvens privadas e híbridas. Como um produto de Infraestrutura como Serviço, o Eucalyptus permite que você forneça, com flexibilidade, suas próprias coleções de recursos (tanto de computação quanto de armazenamento) (EUCALYPTUS, 2016).

É uma arquitetura de software baseada no sistema operacional Linux que implementa nuvens privadas e híbridas escaláveis, com a infraestrutura de TI que estiver disponível. O Eucalyptus permite que você utilize suas próprias coleções de recursos (hardware, armazenamento e rede), usando uma interface de autoatendimento (self service).

É possível implantar uma nuvem Eucalyptus no data center da instituição. Com isso, os usuários acessam o Eucalyptus através da Intranet. Isso permite que dados confidenciais permaneçam seguros contra intrusões externas por trás do firewall corporativo.

(32)

2.3.1 Módulos controladores da Plataforma Eucalyptus

O Eucalyptus é composto por vários componentes, Cloud Controler, Walrus, Cluster Controler, Storage Controler e Node Controler (EUCALYPTUS, 2016). Cada componente é um serviço web autônomo. Essa arquitetura, apresentada na Figura 2.5, permite que o Eucalyptus exponha cada serviço da Web como uma Application Programming Interface (API), ou seja, um conjunto de rotinas e de modelos de programação bem definido e independente de linguagem e suporta os padrões de serviços da Web existentes para uma comunicação segura entre seus componentes.

Figura 2.5: Arquitetura da plataforma em nuvem Eucalyptus

Fonte: Eucalyptus (2016).

Os seus módulos controladores estão representados através dos componentes especificados a seguir.

Cloud Controller (CLC) - Ponto de Entrada da Plataforma em Nuvem para os usuários e administradores. Gerencia os demais Nós (Equipamentos da nuvem localizados em sua extremidade e que é responsável por hospedar as VMs na arquitetura) através de consultas, toma decisões de alto nível e as implementa fazendo requisições para os Controladores de Cluster.

Cluster Controller (CC) - Recebe informações das VMs (Máquinas virtuais) proveniente de específicos Controladores de Nós. Gerencia as Instâncias das VMs na Rede.

(33)

Node Controller (NC) - Controla a execução, inspeção e a finalização das Instâncias de VMs na máquina em que estiver rodando.

Storage Controller (SC) / Walrus (W) - Serviços de storage (armazenamento de dados) que proveem interface com mecanismos para armazenar e acessar imagens de VMs e dados de usuários.

2.3.2 Planejamento dos serviços da infraestrutura em nuvem

Uma implementação do Eucalyptus inclui serviços de usuário (User Facing Services - UFS e Management Console), bem como serviços em nuvem (Cloud Controller - CLC e Walrus - W) e um ou mais clusters, cada um contendo um Cluster Controller, um Storage Controller e um ou mais Node Controllers.

2.3.3 Serviços para a nuvem

A principal decisão para os serviços em nuvem é a de instalar o Cloud Controller (CLC) e o Walrus (W) no mesmo servidor. Se eles estão no mesmo servidor, eles funcionam como serviços da Web separados dentro de um único ambiente Java e usam um caminho rápido para comunicação entre serviços. Se eles não estão no mesmo servidor, eles usam Simple Object Access Protocol - SOAP e Representational State Transfer - REST para trabalharem juntos (EUCALYPTUS, 2016).

Às vezes, o fator chave para os serviços em nuvem não é o desempenho, mas o custo do servidor e a configuração do data center. Se a instituição tiver poucos servidores disponíveis para a nuvem, então os serviços podem ser instalados em dois servidores. Essa infraestrutura encontra-se representada na Figura 2.6 a seguir.

(34)

Figura 2.6: Infraestrutura em nuvem Eucalyptus resumida

Fonte: Eucalyptus (2016).

2.3.3.1 Serviços para usuários

Os User Facing Services (UFS) lidam com a maioria das APIs da Amazon Web Service (AWS) e fornecem um ponto de entrada para os clientes e usuários que interagem com a nuvem Eucalyptus. O UFS e o Console (Área de interação) de Gerenciamento são frequentemente hospedados na mesma máquina, uma vez que ambos devem estar acessíveis na rede pública voltada para o cliente.

2.3.3.2 Serviços de cluster

Os serviços de Eucalyptus implementados no nível de cluster em uma implantação de Eucalyptus são o Cluster Controller (CC) e o Storage Controller (SC). É possível instalar todos os serviços de cluster em um único servidor ou distribuí-los em servidores diferentes. A escolha de um ou vários servidores é ditada pelas demandas da carga de trabalho do usuário. Segue na Figura 2.7 uma disposição com a aplicação de mais de um servidor de cluster (CC).

(35)

Figura 2.7: Infraestrutura em nuvem Eucalyptus com clusters

Fonte: Eucalyptus (2016).

O Controlador de Armazenamento (Storage Controller - SC) fornece funcionalidade semelhante ao Amazon Elastic Block Store (Amazon EBS). O SC pode interagir com vários sistemas de armazenamento. O armazenamento de blocos de Eucalyptus (Eucalyptus Elastic Block Storage - EBS) exporta volumes de armazenamento que podem ser anexados por uma máquina virtual e montado ou acessado como um dispositivo de bloco bruto.

2.3.3.3 Serviços de Nó

Os Controladores de Nó (Node controllers - NCs) são os serviços que compõem o backend do Eucalyptus. Todos os NCs devem ter conectividade de rede para qualquer máquina que hospeda seus volumes EBS. Esse equipamento é uma Storage Area Network - SAN (Equipamento de armazenamento em redes) ou o SC (Storage controlller).

O Eucalyptus Elastic Block Storage (EBS) fornece volumes de armazenamento em nível de bloco que você pode anexar a instâncias das máquinas virtuais (MVs), executando na nuvem de Eucalyptus (EUCALYPTUS, 2016). Um volume EBS se parece com qualquer outro dispositivo de armazenamento em nível de bloco, quando conectado a uma instância virtualizada de Eucalyptus em execução e pode ser formatado com um sistema de arquivos apropriado e usado

(36)

como faria com um dispositivo de armazenamento normal. Quaisquer alterações feitas em um volume EBS anexado persistirão, após a instância ser encerrada.

2.3.4 Funcionamento da Plataforma Eucalyptus

Cordeiro et al. (2010) apresenta, através da Figura 2.8, um diagrama de sequência de todo processo anterior à execução de uma instância de Virtual Machine - VM, desencadeada por uma solicitação de cliente e finalizando quando a VM está realmente em execução num determinado nó.

Figura 2.8: Funcionamento da plataforma Eucalyptus

Fonte: Cordeiro et al. (2010).

Segundo Cordeiro et al. (2010) a sequência para execução de VMs na plataforma em nuvem Eucalyptus funciona da seguinte forma:

I. O Cliente aciona o CLC solicitando uma instância (runInstance).

II. CLC consulta os CCs que podem suportar o recebimento daquela instância (describeResources). CLC descobre o CC que possui mais recursos livres disponíveis.

III. CC escolhido consulta os seus NCs (describeResources) para saber o Nó que possui mais recursos livres disponíveis e informa para o CLC.

IV. Em seguida, o CLC solicita a instância mais adequada, que em seguida instancia o NC que possuir mais recursos disponíveis.

(37)

2.4 MECANISMOS DE REDUNDÂNCIA

Muitas técnicas são adotadas, para o aumento da confiabilidade de sistemas. Elas podem ser classificadas em quatro grupos: prevenção de falhas, remoção de falhas, previsão de falhas e tolerância a falhas (AVIZIENIS; LAPRIE; RANDELL, 2001).

Neste trabalho, iremos adotar a técnica da redundância, que é caracterizada como um meio de tolerância a falhas, ou seja, o sistema será construído pensando na ocorrência de falhas e fazendo com que outros componentes assumam o papel dos que falharem, mantendo, assim, o funcionamento do serviço. Segundo Bauer, Adams e Eustace (2011), podemos dividir essa técnica em redundância ativa-ativa e redundância ativa-espera.

Em relação ao mecanismo redundante ativo-ativo, os elementos principais (dispositivo, tarefa ou serviço) e os elementos redundantes estão permanentemente ativos (BAUER; ADAMS; EUSTACE, 2011). Ou seja, os usuários não percebem a ocorrência de falhas, como também não ocorre degradação de desempenho. Neste caso, os componentes principais e redundantes dividem a carga de trabalho.

No caso de redundância ativo-espera (standby), para que ela ocorra, é necessário o uso de recursos extras, que não são necessários para o funcionamento do serviço. Ou seja, os recursos adicionais não são utilizados de imediato; ficam em espera, até o momento em que ocorra uma falha. É uma forma de garantir que o serviço funcione mesmo com a existência de falha.

A redundância standby é uma técnica amplamente utilizada para melhorar a confiabilidade e a disponibilidade do sistema. Conforme apontado por Zhang, Xie e Horigome (2006), existem três tipos de redundância em espera, a saber, cold, hot e warm standby.

Nos mecanismos de redundância hot standby, tanto os componentes principais como os secundários estão em funcionamento (BAUER; ADAMS; EUSTACE, 2011). Porém, apenas o servidor principal responde às requisições do sistema. O servidor secundário fica em espera; caso ocorra uma falha e o servidor principal não consiga atender as requisições, estas serão direcionadas para o

(38)

servidor secundário. Como ele está em funcionamento, apenas aguardando, pode ser utilizado prontamente.

Já nos mecanismos cold standby, os componentes secundários permanecem desativados (BAUER; ADAMS; EUSTACE, 2011). Em caso de falha, eles são ativados, e como estão desligados, deve ser contabilizado um período de tempo até que o componente esteja pronto para ser utilizado.

É importante ressaltar que os componentes redundantes em cold standby permanecem sem serem energizados, enquanto que os componentes hot standby e ativos-ativos permanecem ligados, e, por esta razão, possuem uma taxa de falha constante.

O mecanismo de redundância warm standby é uma mescla dos dois que foram apresentados anteriormente; ele possui a característica do funcionamento em paralelo, da mesma maneira que o hot standby, sem ser considerado o seu processamento, porém, possui a característica do tempo de ativação do sistema, da mesma forma que o cold standby (BAUER; ADAMS; EUSTACE, 2011). Ou seja, o componente secundário fica ativo, mas possui um tempo de resposta para que ele comece a funcionar em caso de falha no componente principal.

É importante considerar que a redundância hot standby realmente é a que responde prontamente em caso de falhas, porém, nas demais, o consumo de energia será menor e os sistemas em espera tendem a sofrer menos desgaste em relação ao componente hot standby.

2.5 CONCEITOS E MÉTRICAS DE DEPENDABILIDADE

É preciso averiguar várias possibilidades e selecionar a solução mais viável para o planejamento da infraestrutura em nuvem, considerando as métricas de dependabilidade. Nesse contexto, os modelos formais, por exemplo, redes de Petri estocástica e diagramas de blocos de confiabilidade, são importantes para fornecerem estimativas, antes de se implementar o sistema de data center.

A dependabilidade de um sistema de computador deve ser entendida como a capacidade de fornecer serviços relacionados a certas especificações acordadas do

(39)

serviço (CALLOU et al., 2012). E a dependabilidade está relacionada a conceitos de tolerância a falhas e confiabilidade.

A confiabilidade é a probabilidade de que o sistema disponibilize um conjunto de serviços para um determinado período de tempo (CALLOU et al., 2012); um sistema é tolerante a falhas quando não falha, mesmo quando há componentes defeituosos.

A disponibilidade é também outro conceito importante, que quantifica o efeito do processo de falha e reparo em um sistema (CALLOU et al., 2012). Normalmente, a disponibilidade e a confiabilidade são conceitos relacionados, mas diferem no sentido de que o primeiro pode considerar a manutenção de componentes falhos.

Em muitas situações, a modelagem é o método de escolha porque o sistema ainda não existe, ou devido à complexidade inerente à criação de cenários específicos, sob os quais o sistema deve ser avaliado (MACIEL; TRIVEDI; KIM, 2010). Em um sentido muito amplo, os modelos de avaliação da confiabilidade podem ser classificados como modelos matemáticos e de simulação.

Métricas de confiabilidade (por exemplo, disponibilidade, confiabilidade e tempo de inatividade) podem ser calculadas usando um modelo Reliability Block Diagram - RBD ou Stochastic Petri Net - SPN (modelos adotados neste trabalho). RBDs permitem representar redes de componentes e fornecer equações de forma fechada, de modo que os resultados são normalmente obtidos mais rapidamente do que usando simulação SPN. No entanto, quando confrontados com a representação de políticas de manutenção e mecanismos redundantes, particularmente aqueles baseados em métodos de redundância dinâmica, esses modelos apresentam desvantagens, no que diz respeito ao tratamento completo de falhas e reparação de dependências (MACIEL; TRIVEDI; KIM, 2010).

Os métodos baseados em estados podem facilmente considerar essas dependências, permitindo, assim, a representação de mecanismos redundantes complexos, bem como políticas de manutenção sofisticadas. Esses métodos permitem análises numéricas e simulação estocástica, e SPN é um dos modelos mais utilizados dessa classe (MACIEL; TRIVEDI; KIM, 2010).

Dependabilidade envolve os seguintes atributos básicos: disponibilidade, confiabilidade, segurança, confidencialidade, integridade e manutenabilidade

(40)

(AVIZIENIS; LAPRIE; RANDELL, 2001). Segundo Kuo e Zuo (2003), as métricas de dependabilidade são calculadas conforme apresentadas a seguir.

A confiabilidade de um sistema é a probabilidade (P) de que esse sistema execute a sua função, de modo satisfatório, sem a ocorrência de defeitos, por um determinado período de tempo (T). A confiabilidade é representada pela Equação 2.1, onde T é uma variável aleatória que representa o tempo para ocorrência de falhas no sistema.

2.1

A Equação 2.2 representa a confiabilidade, considerando a função de densidade F(t) do tempo para ocorrência de falhas (T) no sistema.

2.2

Mean Time to Failure (MTTF) é o tempo médio para a ocorrência de falhas no sistema. Quando esse tempo médio segue a distribuição exponencial, o MTTF é representado conforme apresentado na Equação 2.3.

2.3

O MTTR é o tempo médio para reparo do sistema. Quando a função de distribuição do tempo de reparo é representada por uma distribuição exponencial, o MTTR é representado pela Equação 2.4.

(41)

Ao calcular a disponibilidade (A) de determinado dispositivo ou sistema, podem ser necessários o tempo de funcionamento e o tempo de inatividade ou o tempo de falha (TTF) e o tempo de reparação (TTR). Se o avaliador necessitar apenas do valor médio, as métricas normalmente adotadas são Tempo Médio de Falha (MTTF) e Tempo Médio de Reparo (MTTR).

A disponibilidade (A) é obtida por modelos analíticos ou simulação, e a Equação 2.5 expressa a relação entre MTTF e MTTR (CALLOU et al., 2012).

2.5

Mean Time Between Failures (MTBF) é o tempo médio entre os defeitos do sistema, representado pela Equação 2.6.

2.6

Para calcular o tempo de downtime (D) anual do sistema (período de tempo que o sistema não funciona), pode ser utilizada a Equação 2.7, onde UA (annual unavailability) representa o período de indisponibilidade.

2.7

Levando em consideração os conceitos apresentados até o momento, a Figura 2.9 apresenta a curva da banheira, demonstrando a taxa de falhas de componentes de hardware de acordo com três fases distintas, a saber, mortalidade infantil (1), vida útil (2) e envelhecimento (3) (EBELING, 2004).

(42)

Figura 2.9: Curva da banheira.

Fonte: Ebeling (2004).

2.6 DIAGRAMA DE BLOCOS DE CONFIABILIDADE

O Diagrama de Blocos de Confiabilidade, ou RBD (Realibility Block Diagram), é um tipo de modelo combinatório. É considerado como umas das técnicas mais utilizadas para analisar a confiabilidade de sistemas (MACIEL; TRIVEDI; KIM, 2010).

Devido à facilidade de análise, o modelo RBD foi adotado no processo de modelagem do sistema utilizado neste trabalho. Essa técnica trabalha com fórmulas fechadas, produzindo um resultado mais rápido, em comparação com a simulação, de maneira que a metodologia proposta no trabalho necessita de alterações constantes da arquitetura, para que seja feita a modelagem do sistema proposto.

Nessa técnica, existem duas maneiras de posicionar os blocos: podem ser em série ou em paralelo. Quando estão em série, significa que ambos os componentes estão funcionando em sequência e, caso ocorra um problema de funcionamento em um deles, todo o sistema estará comprometido. Diferentemente do que ocorre quando o posicionamento funciona em paralelo; desta forma, existirá a redundância dos componentes que estiverem em paralelo, ou seja, caso um componente falhe, o seu componente redundante, que estará funcionando em paralelo, assume o lugar do componente com defeito.

Segundo Xie, Zhou e Hao (2004), as métricas para calcular a disponibilidade dos modelos RBDs são apresentadas a seguir. A confiabilidade de dois blocos em série pode ser calculada por meio da Equação 2.8.

(43)

2.8

De forma que:

 R(t) é a confiabilidade do modelo;  R1(t) é a confiabilidade do bloco 1;

 R2(t) é a confiabilidade do bloco 2.

Considerando (n) componentes relacionados, a confiabilidade total do modelo em série será representada conforme Equação 2.9.

2.9 De forma que:

 Rs(t) é a confiabilidade dos blocos em série;

 Ri(t) é a confiabilidade do bloco (i).

Quando consideramos a abordagem do modelo com componentes em paralelo, a confiabilidade do modelo será calculada através da Equação 2.10.

2.10

De forma que:

 Rp(t) é a confiabilidade dos blocos em paralelo;

 Ri(t) é a confiabilidade do bloco (i).

Os modelos RBDs serão utilizados para o fornecimento de resultados no momento que não for necessária a utilização de uma representação mais complexa.

Referências

Documentos relacionados

Por último, temos o vídeo que está sendo exibido dentro do celular, que é segurado e comentado por alguém, e compartilhado e comentado no perfil de BolsoWoman no Twitter. No

3.3 o Município tem caminhão da coleta seletiva, sendo orientado a providenciar a contratação direta da associação para o recolhimento dos resíduos recicláveis,

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

A partir dos fatores citados como predisponentes e determinantes criam-se perturbações hemodinâmicas locais que podem desencadear os fatores condicionantes,

A análise mostrou a oportunidade de (i) adoção de uma estratégia de planejamento que reflita um modelo sustentável de desenvolvimento que inclua decisões sobre o futuro da Amazônia

The analysis found that there is an opportunity to (i) enact a planning strategy that reflects a sustainable development model and includes decisions about the future of the Amazon

Para esse fim, analisou, além do EVTEA, os Termos de Referência (TR) do EVTEA e do EIA da Ferrogrão, o manual para elaboração de EVTEA da empresa pública Valec –

física racializada de uma pessoa considerando a família.. que a persistência de dimensões biologizantes do conceito de raça tam- bém permite flexibilidade, aspecto elaborado