uma arquitetura para a implantação automática de serviços em infraestruturas de nuvem
TRANSCRIPT
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 -
2
ROTEIRO Contexto/Motivação
Problema
Objetivos
Computação em Nuvem
Proposta Arquitetura Ferramenta de Implantação
Avaliação
Conclusões e Trabalhos Futuros
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.
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? -
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.
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”.
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”.
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”.
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.
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)
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.
12
PROPOSTA
SADE – 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.
14
SADE:: ARQUITETURA
Desenvolvedor
15
SADE:: ARQUITETURA
Desenvolvedor
16
SADE:: ARQUITETURA
Desenvolvedor
17
SADE:: ARQUITETURA
Desenvolvedor
18
SADE:: ARQUITETURA
Desenvolvedor
19
SADE:: ARQUITETURA
Desenvolvedor
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.
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.
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) .
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
24
SADE:: ARQUITETURA:: PROCESSO
Processo 1: Criação do Ambiente
25
SADE:: ARQUITETURA:: PROCESSO
Processo 2: Instalação & Configuração
26
SADE:: ARQUITETURA:: PROCESSO
Processo 3: Atualização do Ambiente
27
SADE:: ARQUITETURA:: PROCESSO
Processo 4: Implantação do Serviço
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.
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.
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.
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.
32
SADE:: ARQUITETURA:: FÍSICA Mostrar os nós que formam a topologia de hardware de um
sistema onde este é executado.
33
FERRAMENTA DE IMPLANTAÇÃO
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.
35
AVALIAÇÃO Métricas
Fatores e Níveis
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.
37
AVALIAÇÃO Resultados – Configuração do ambiente
Média do tempo de instalação e configuração
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%
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)
40
AVALIAÇÃO Resultados – Implantação do serviço
Média do tempo de implantação de serviço
41
AVALIAÇÃO Resultados
\
Intervalo de Tempo de Implantação de Serviços (95%)
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.
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.
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.
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).
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.
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.
OBRIGADO!Lenin e. Abadié Otero
Email: [email protected]
Universidade Federal de PernambucoCentro de Informática
Recife - PE
Recife, 30 de Agosto de 2013