Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas de Nuvem
1. Universidade Federal de Pernambuco
Centro de Informática
Recife - PE
Aluno: Lenin E. Abadié Otero
Orientador: Silvio Meira
Co-Orientador: Nelson Rosa
- Recife, 30 de Agosto de 2013 -
3. 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.
3
4. 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? -
4
5. 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.
5
6.
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”.
Modelos de Serviço adaptada de Zhang et al. (2010)
6
7.
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”.
Modelos de Serviço adaptada de Zhang et al. (2010)
7
8.
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”.
Modelos de Serviço adaptada de Zhang et al. (2010)
8
9.
Oferecida para uso aberto para o público
em geral em uma forma pay-as-you-go.
As infraestruturas são operadas exclusivamente dentro de uma organização.
Esta formada pela composição de duas ou
mais infraestruturas de nuvens distintas.
9
10. 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)
10
11. 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.
11
12. SADE – Uma Arquitetura para a Implantação
Automática de Serviços em Infraestruturas de
Nuvem
12
13. 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.
13
20. 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.
20
21. Aqui são descritos os comportamentos do sistema desde a perspectiva do usuário final e
de outros envolvidos.
21
22.
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) .
22
23. É 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
23
34. 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.
34
36. 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.
36
37. Resultados – Configuração do ambiente
Média do tempo de instalação e configuração
37
38. 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%
38
39. 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)
39
40. Resultados – Implantação do serviço
Média do tempo de implantação de serviço
40
42. 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.
42
43. 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.
43
44. Contribuições
Proposta de uma arquitetura.
Desenvolvimento de uma ferramenta.
Atualização do ambiente e montagem da pilha de software.
Avaliação dos resultados.
44
45. 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).
45
46. 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.
46
47. 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.
47
48. Universidade Federal de Pernambuco
Centro de Informática
Recife - PE
Lenin e. Abadié Otero
Email: leao@cin.ufpe.br
Recife, 30 de Agosto de 2013