Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

48
UMA ARQUITETURA PARA A IMPLANTAÇÃO AUTOMÁTICA DE SERVIÇOS EM INFRAESTRUTURAS DE NUVEM Aluno: Lenin E. Abadié Otero Orientador: Silvio Meira Co-Orientador: Nelson Rosa Universidade Federal de Pernambuco Centro de Informática Recife - PE - Recife, 30 de Agosto de 2013 -

Transcript of Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

Page 1: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

UMA ARQUITETURA PARA A IMPLANTAÇÃO AUTOMÁTICA DE SERVIÇOS EM INFRAESTRUTURAS DE NUVEM

Aluno: Lenin E. Abadié Otero

Orientador: Silvio Meira

Co-Orientador: Nelson Rosa

Universidade Federal de PernambucoCentro de Informática

Recife - PE

- Recife, 30 de Agosto de 2013 -

Page 2: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

2

ROTEIRO Contexto/Motivação

Problema

Objetivos

Computação em Nuvem

Proposta Arquitetura Ferramenta de Implantação

Avaliação

Conclusões e Trabalhos Futuros

Page 3: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

3

CONTEXTO & MOTIVAÇÃO

Grandes organizações adotam computação em nuvem para oferecer seus serviços.

Implantação de aplicações em ambientes de nuvem é uma atividade custosa e não trivial.

Realiza complexas tarefas manualmente, tornando o processo demorado e propenso a erros.

Utilização de diversas ferramentas e vasto conhecimento da área.

Diversidade de APIs.

Page 4: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

4

PROBLEMA

Como fazer com que o processo de implantação

de serviços em infraestruturas de nuvem seja

realizado de uma maneira simples,

automatizada e transparente, sem precisar de

muito conhecimento por parte do

desenvolvedor? -

Page 5: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

5

OBJETIVOS

Objetivo Principal Propor e descrever uma arquitetura para a

implantação automática de serviços em infraestruturas da computação em nuvem.

Objetivos Secundário Estudo e análise dos trabalhos existentes. Propor uma arquitetura para o processo de

implantação de serviços. Desenvolver uma ferramenta baseada na nossa

arquitetura. Fazer uma avaliação experimental.

Page 6: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

6

COMPUTAÇÃO EM NUVEM

Modelos de Serviço adaptada de Zhang et al. (2010)

NIST – “um modelo para permitir acesso ubíquo e sob demanda a um conjunto compartilhado de recursos computacionais, tais como rede, servidores, armazenamento, aplicações e serviços. Estes recursos podem ser rapidamente provisionados e liberados com o mínimo esforço de gerenciamento ou interação com o provedor de serviços”.

Page 7: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

7

COMPUTAÇÃO EM NUVEM

Modelos de Serviço adaptada de Zhang et al. (2010)

NIST – “um modelo para permitir acesso ubíquo e sob demanda a um conjunto compartilhado de recursos computacionais, tais como rede, servidores, armazenamento, aplicações e serviços. Estes recursos podem ser rapidamente provisionados e liberados com o mínimo esforço de gerenciamento ou interação com o provedor de serviços”.

Page 8: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

8

COMPUTAÇÃO EM NUVEM

Modelos de Serviço adaptada de Zhang et al. (2010)

NIST – “um modelo para permitir acesso ubíquo e sob demanda a um conjunto compartilhado de recursos computacionais, tais como rede, servidores, armazenamento, aplicações e serviços. Estes recursos podem ser rapidamente provisionados e liberados com o mínimo esforço de gerenciamento ou interação com o provedor de serviços”.

Page 9: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

9

MODELOS DE IMPLANTAÇÃO

As infraestruturas são operadas exclusiva-mente dentro de uma organização.

Oferecida para uso aberto para o público em geral em uma forma pay-as-you-go.

Esta formada pela composição de duas ou mais infraestruturas de nuvens distintas.

Page 10: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

10

IMPLANTAÇÃO DE SERVIÇOS Processo de fazer um sistema disponível para os utilizadores.

Transição de código fonte para um sistema de software

executável.

Processo que interrelaciona uma coleção de atividades.

Tarefas de Implantação (Kecskemeti et al., 2011)

Page 11: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

11

IMPLANTAÇÃO DE SERVIÇOS NA NUVEM Algumas tarefas de implantação são idênticas:

identificação de um destino de implantação adequado,

instalação e inicialização das MVs no provedor, instalação e configuração de software, Implantação do serviço.

Desafio: facilitar as tarefas de implantação.

Um modelo comum para implantação: Modelo de Aplicação Virtual.

Page 12: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

12

PROPOSTA

SADE – Uma Arquitetura para a Implantação

Automática de Serviços em Infraestruturas de

Nuvem

Page 13: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

13

SADE:: REQUISITOS

RQ01: Criação Automática do Ambiente.

RQ02: Configuração Automática de Ambiente.

RQ03: Implantação Automática de Serviços.

RQ04: Atualização Dinâmica do Ambiente.

RQ05: Suporte a Diversos Provedores.

SADE – Service Automatic Deployment Environment.

Page 14: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

14

SADE:: ARQUITETURA

Desenvolvedor

Page 15: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

15

SADE:: ARQUITETURA

Desenvolvedor

Page 16: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

16

SADE:: ARQUITETURA

Desenvolvedor

Page 17: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

17

SADE:: ARQUITETURA

Desenvolvedor

Page 18: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

18

SADE:: ARQUITETURA

Desenvolvedor

Page 19: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

19

SADE:: ARQUITETURA

Desenvolvedor

Page 20: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

20

SADE:: ARQUITETURA

Modelo de Visão “4 + 1” (Kruchten, 1995) Organiza a descrição da arquitetura de software, onde as

cinco visões utilizadas descrevem um conjunto específico de preocupações.

Page 21: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

21

SADE:: ARQUITETURA:: CASOS DE USO

Aqui são descritos os comportamentos do sistema desde a perspectiva do

usuário final e de outros envolvidos.

Page 22: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

22

SADE:: ARQUITETURA:: LÓGICA

Tem por finalidade dar suporte aos requisitos funcionais que o sistema deve fornecer em termos de serviço ao cliente.

O sistema é decomposto entre um conjunto de abstrações (objetos ou classes) .

Page 23: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

23

SADE:: ARQUITETURA:: PROCESSO É um conjunto de tarefas que formam uma unidade

executável.

Esta visão também especifica qual thread de controle executa cada operação de cada classe identificada na visão lógica

Processos Processo 1: Criação do Ambiente

Processo 2: Instalação & Configuração

Processo 3: Atualização do Ambiente

Processo 4: Implantação do Serviço

Page 24: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

24

SADE:: ARQUITETURA:: PROCESSO

Processo 1: Criação do Ambiente

Page 25: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

25

SADE:: ARQUITETURA:: PROCESSO

Processo 2: Instalação & Configuração

Page 26: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

26

SADE:: ARQUITETURA:: PROCESSO

Processo 3: Atualização do Ambiente

Page 27: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

27

SADE:: ARQUITETURA:: PROCESSO

Processo 4: Implantação do Serviço

Page 28: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

28

SADE:: ARQUITETURA:: IMPLEMENTAÇÃO Esta visão concentra-se no gerenciamento de configuração e

organização dos módulos de software atuais no ambiente de desenvolvimento.

Page 29: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

29

SADE:: ARQUITETURA:: IMPLEMENTAÇÃO Esta visão concentra-se no gerenciamento de configuração e

organização dos módulos de software atuais no ambiente de desenvolvimento.

Page 30: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

30

SADE:: ARQUITETURA:: IMPLEMENTAÇÃO Esta visão concentra-se no gerenciamento de configuração e

organização dos módulos de software atuais no ambiente de desenvolvimento.

Page 31: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

31

SADE:: ARQUITETURA:: IMPLEMENTAÇÃO Esta visão concentra-se no gerenciamento de configuração e

organização dos módulos de software atuais no ambiente de desenvolvimento.

Page 32: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

32

SADE:: ARQUITETURA:: FÍSICA Mostrar os nós que formam a topologia de hardware de um

sistema onde este é executado.

Page 33: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

33

FERRAMENTA DE IMPLANTAÇÃO

Page 34: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

34

AVALIAÇÃO Metodologia

Metodologia baseada na abordagem sistemática para

avaliação de desempenho (Jain, 1991). Consiste em definir

objetivos, métricas, fatores e níveis.

Objetivo Analisar a arquitetura SADE com o propósito de avaliar o

desempenho e a confiabilidade através da ferramenta Web

desenvolvida a partir da nossa arquitetura.

Page 35: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

35

AVALIAÇÃO Métricas

Fatores e Níveis

Page 36: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

36

AVALIAÇÃO Configuração

Configuração de máquina local:

Notebook HP, processador Intel Core 2 Duo de 2.00GHz, 4GB de RAM, 500GB de disco rígido, executando em sistema operacional Windows 8 Professional Edition de 64Bits.

Número de execuções: Quinze (15)

Serviço de infraestrutura: Amazon EC2

Tipos de máquina: Micro, Small, Medium, Large

Software a ser instalado: Java JRE e Tomcat 6

Serviço a ser implantado: Serviço Web de geolocalização.

Tamanho do arquivo: 3,61 MB.

Page 37: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

37

AVALIAÇÃO Resultados – Configuração do ambiente

Média do tempo de instalação e configuração

Page 38: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

38

AVALIAÇÃO Resultados – Configuração do ambiente

Estimativa de intervalo para a média de população (15 amostras) com 95% de confiança é de:

Micro, entre 78,86s e 106,05s, Small, entre 132,56s e 165,27s Medium, entre 129,33s e 138,80s Large, entre 123,22s e 143,80s.

Margem de erro num intervalo de confiança de 95%

Page 39: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

39

AVALIAÇÃO Resultados – Configuração do ambiente

Máquinas micro permitem aumentar a capacidade de CPU em curtos períodos quando ciclos adicionais estão disponíveis.

* ECU: Unidade de processamento EC2 (ECU) – Uma ECU fornece a capacidade de CPU equivalente a um processador Opteron 2007 ou Xeon 2007 de 1.0 a 1.2 GHz. (AmazonAWS, 2013)

Page 40: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

40

AVALIAÇÃO Resultados – Implantação do serviço

Média do tempo de implantação de serviço

Page 41: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

41

AVALIAÇÃO Resultados

\

Intervalo de Tempo de Implantação de Serviços (95%)

Page 42: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

42

AVALIAÇÃO

Discussão Estes resultados não tem a finalidade de comparar

ambas ferramentas.

A nossa ferramenta mantem os intervalos de tempos proporcionais aos obtidos com a ferramenta da Amazon.

A nossa proposta garante a correta implantação de serviços em infraestruturas de nuvem.

A nossa arquitetura garante automação, transparência, confiabilidade e rapidez para realizar este processo.

Page 43: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

43

CONCLUSÕES Proposta de uma arquitetura para automatizar as

tarefas de implantação.

Permitir a atualização do ambiente e selecionar a pilha de software.

Ferramenta intuitiva e de fácil utilização.

Atualmente oferece suporte a infraestruturas Amazon EC2 e uma nuvem privada local com sistema de gerenciamento OpenNebula.

Resultados favoráveis em relação ao tempo de realização do processo de implantação.

Page 44: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

44

CONCLUSÕES

Contribuições

Proposta de uma arquitetura.

Desenvolvimento de uma ferramenta.

Atualização do ambiente e montagem da pilha de

software.

Avaliação dos resultados.

Page 45: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

45

CONCLUSÕES Fora do escopo

Utilização de máquinas com sistema operacional Windows.

Atualização de aplicações/serviços após estes serem implantados.

Limitações

Fazer uma avaliação comparativa com os trabalhos existentes.

Problemas na infraestrutura virtualizada local (nuvem privada).

Page 46: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

46

CONCLUSÕES Trabalhos Futuros

Executar experimentos com outras infraestruturas.

Estender a nossa arquitetura.

Desenvolver um módulo de provisionamento automático de serviços.

Desenvolver um módulo de atualização dinâmica de aplicações/serviços após a sua implantação.

Page 47: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

47

CONCLUSÕES

Publicações

Lenin Abadié, Tércio de Morais, Nelson Rosa, Silvio Meira, “An

Architecture for Automatic Deployment of Service on Cloud

Environment”. IEEE CloudNet 2013, Novembro, 2013.

Page 48: Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem

OBRIGADO!Lenin e. Abadié Otero

Email: [email protected]

Universidade Federal de PernambucoCentro de Informática

Recife - PE

Recife, 30 de Agosto de 2013