7 Kjønnet i atferdsvansker
7.1 Gutter/maskulinitet
7.1.1 Kjønn og kjønnet atferd
O VM Centre é o componente responsável por realizar o acesso as plataformas de nuvem privadas e públicas possibilitando a consulta, criação, atualização e remo- ção de máquinas virtuais. Além disso, com o auxílio da ferramenta VM Monitor, tam- bém criada no contexto desse trabalho, o VM Centre provê o monitoramento dos re- cursos das máquinas virtuais, a fim de identificar e tratar a necessidade de elastici- dade das máquinas que executam as aplicações criadas e implantadas através do
Cloud Stratus. A Figura 18 apresenta a arquitetura conceitual do VM Centre dividida em quatro componentes: (i) VM Manager; (iii) Cloud Driver; (iii) Elasticity Manager, e; (iv) Cloud Monitor.
O VM Manager é o componente responsável por realmente fazer o acesso a di- ferentes plataformas de nuvem com o objetivo de controlar (criar, atualizar e excluir) suas máquinas virtuais. Para realizar o acesso unificado a diferentes plataformas, o
VM Manager possui drivers específicos para cada plataforma de nuvem pública ou privada. Os Cloud Drivers são componentes especializados que efetivamente realizam o acesso as plataformas de nuvem e implementam uma API unificada, apresentada na Tabela 1. Essa API define as operações necessárias para acessar e gerenciar uma plataforma de nuvem. Dessa forma, quando um método da API é requisitado para a plataforma de nuvem X, o VM Manager utiliza o driver X para realizar a comunicação com a plataforma. A estratégia de implementar a comunicação com cada plataforma em drivers facilita a extensão e manutenção da ferramenta. Desse modo, para que o
VM Centre dê suporte a uma nova plataforma, é necessário apenas desenvolver o driver para ela.
Tabela 1 - API do VM Centre
Método Descrição
getVM(String id) : VirtualMachine
Retorna uma instância de máqui- na virtual que está associada ao id passado como parâmetro.
getAllVM() : VirtualMachine[]
Retorna um vetor com todas as instâncias de máquinas virtuais existentes.
createVM : ResponseAPI Cria uma nova instância de má-
quina virtual.
updateVM(String id) : ResponseAPI
Atualiza uma máquina virtual associada ao id passado como parâmetro.
deleteVM(String id): ResponseAPI
Remove uma máquina virtual associada ao id passado como parâmetro.
startVM(String id) : ResponseAPI Inicia a máquina virtual associada
ao id passado como parâmetro.
stopVM(String id) : ResponseAPI Para a máquina virtual associada
ao id passado como parâmetro.
O componente Elasticity Manager é responsável por identificar e disparar as ações de elasticidade. Para isso, ele solicita ao Cloud Monitor o monitoramento das máquinas virtuais e recebe as notificações, do Cloud Monitor, quando os limiares (thresholds) de utilização dos recursos das máquinas virtuais, definidos pelo usuário, forem atingidos. Os limiares tratados pelo Cloud Monitor são: (i) consumo máximo de CPU (maxCPU); (ii) consumo mínimo de CPU (minCPU); (iii) consumo máximo de memória RAM (maxMemory); (iv) consumo mínimo de memória RAM (minMemory); (v) consumo máximo de armazenamento (maxStore); (vi) consumo mínimo de arma-
zenamento; (vii) número máximo de bytes enviados pela rede (maxSentBytes); (viii) número mínimo de bytes enviados pela rede (minSentBytes); (ix) número máximo de bytes recebidos pela rede (maxReceivedBytes), e; (x) número mínimo de bytes recebi- dos pela rede (minReceivedBytes).
No momento em que o Cloud Monitor dispara uma notificação, o Elasticity
Manager toma as seguintes decisões:
(1) Aumentar os recursos: Quando os recursos atuais estiverem sendo exaus- tivamente utilizados, por exemplo, quando a utilização de um recurso da máquina virtual ultrapassar 90% de sua capacidade, um upgrade poderá ser realizado para aumentar a capacidade da máquina;
(2) Liberar recursos: Quando os recursos alocados estiverem sendo subutili- zados, por exemplo, um recurso da máquina virtual estiver sendo ape- nas 30% utilizado, um downgrade pode ser realizado a fim de liberar parte dos recursos;
(3) Alocar nova máquina virtual: Uma nova máquina virtual é instanciada caso os recursos de uma máquina estejam sendo exaustivamente utili- zados e não seja mais possível realizar upgrade para aumentar a sua capacidade, seja por ter atingido o limite físico de hardware em que a máquina está alocada, seja por restrições da plataforma.
Depois que o Elasticity Manager toma uma decisão, ele faz uso do VM Manager para realizar as modificações nas máquinas virtuais. Todas as modificações possíveis são realizadas de forma automática e transparente para o usuário. Além disso, quan- do recebe um aviso do Cloud Monitor, o Elasticity Manager envia um email ao usuário, previamente cadastrado, informando sobre as mudanças realizadas na máquina vir- tual e os motivos que levaram à mudança.
Por fim, o Cloud Monitor é o componente responsável por monitorar constan- temente o uso de CPU, memória, HD e tráfego de rede nas máquinas virtuais e per- sistir essas informações para que o VM Manager e Elasticity Manager possam consultá- las e tomar suas decisões. Para que o Cloud Monitor possa recuperar informações das máquinas virtuais instanciadas pela ferramenta é instalado, em cada máquina virtu- al, uma ferramenta chamada VM Monitor.
O VM Monitor é a ferramenta responsável por monitorar constantemente e lo- calmente o uso de CPU, memória, armazenamento e tráfego de rede na máquina vir- tual no qual foi instalado. Essas informações são recuperadas do próprio sistema operacional da máquina. A ferramenta funciona com um serviço Web, oferecendo a API apresentada na Tabela 2 para que todas as métricas monitoradas sejam disponi- bilizadas para os clientes (nesse caso o Cloud Monitor) sem que exista uma dependên- cia explicita de tecnologias entre eles.
Tabela 2 - API do VM Monitor.
Método Descrição
getMetric(String metricName) : Me- trics
Retorna uma das métricas moni- toradas da máquina virtual em que o VM Monitor está instalado associada ao nome passado como parâmetro.
getAllMetrics() : Metrics[]
Retorna um vetor com todas as métricas monitoradas da máquina virtual em que o VM Monitor está instalado.
O Cloud Monitor, por sua vez, faz requisições periódicas ao VM Monitor insta- lado nas várias máquinas virtuais, para recuperar os metadados monitorados pelo mesmo. O Cloud Monitor armazena os dados monitorados para que eles sirvam de subsídio para as ações de elasticidade.