Papéis na Nuvem
A definição de responsabilidades, acesso e perfil de cada usuário envolvido em uma solução de nuvens computacionais é fundamental. [Marinos, 2009] classificou os atores de acordo com o papel que desempenham e esta classificação pode ser vista na figura 2.7 que exibe a interação entre cada parte.
O diagrama da figura 2.8 retrata uma perspectiva de funcionamento do ambiente de nuvem onde os consumidores de serviços utilizam os serviços disponíveis através da nuvem; os provedores de serviço, por sua vez gerenciam a infra-estrutura da nuvem e os desenvolvedores de serviço são responsáveis por criar e disponibilizar os serviços.
O consumidor de serviços pode ser o usuário final ou uma organização que utiliza o serviço, seja ele software, plataforma ou infra-estrutura. Dependendo do serviço e de suas regras, estarão disponíveis diferentes interfaces de usuário e de programação.
Existem também interfaces especificas para as funções administrativas, tais como iniciar ou parar máquinas virtuais e controlar o armazenamento na nuvem.
O usuário não precisa ter conhecimentos sobre computação em nuvem para utilizar uma aplicação hospedada na nuvem, porém a expectativa do consumidor e a reputação do provedor são importantes no momento das negociações sobre os detalhes dos serviços e seus requisitos.
O provedor disponibiliza os serviços para os consumidores. No caso do serviço ser uma IaaS o provedor é responsável por manter o armazenamento, as filas de mensagens, base de dados, outros middlewares e ainda hospedar o ambiente para as máquinas virtuais. O cliente utiliza um serviço como se fosse um disco rígido, uma base de dados ou uma máquina, todos locais, embora não tenha acesso a infra-estrutura física de suporte.
Quando o serviço for uma PaaS, o provedor gerencia a infra-estrutura da nuvem para uma plataforma que normalmente é um framework para um tipo particular de aplicação, sendo que o cliente não possui acesso a infra-estrutura por baixo da plataforma.
E na ocasião que o serviço for um SaaS, o provedor instala, gerencia e mantêm o software, sendo que não necessariamente o provedor é o proprietário da infra-estrutura na qual o software está sendo executado. O cliente não possui acesso a infra-estrutura e pode acessar exclusivamente sua aplicação.
A camada inferior do diagrama do provedor de serviços exibe o firmware e o hardware que são base para todas as outras coisas na estrutura da nuvem. Acima disso está o kernel de software, tanto o sistema operacional quanto o gerenciador da máquina virtual que hospeda a infra-estrutura da nuvem.
Os recursos e imagens virtuais incluem os serviços básicos da computação em nuvem. As imagens virtuais que são controladas pelo gerenciador de máquinas virtuais, incluem tanto as próprias imagens quanto os metadados necessários para gerenciá-las.
A camada de gerenciamento é muito importante para os provedores de serviço, sendo necessários mecanismos de medições para determinar quem usou e quanto usou dos serviços, além de formas de provisão para determinar como os recursos serão alocados para os consumidores. O monitoramento é importante para acompanhar o status do sistema e dos recursos.
No nível mais alto do gerenciamento, estão a cobrança que utiliza os resultados da medição e o planejamento que deve garantir que a demanda seja suprida. A gerência de SLA serve para monitorar se os acordos estão sendo cumpridos e ainda devem ser produzidos relatórios para a análise pelos administradores.
A segurança deve ser aplicada em todos os aspectos das operações dos provedores de serviços e ainda podem ser necessários vários níveis de segurança. O uso de padrões abertos simplifica as operações dentro do provedor e a interoperabilidade com outros provedores.
Os desenvolvedores de serviços, criam, publicam e monitoram os serviços na nuvem. Na maior parte dos casos são entregues aplicações via SaaS, embora existam desenvolvedores para middlewares (IaaS) e plataformas(PaaS).
O ambiente de desenvolvimento é muito variado, quando um desenvolvedor está criando uma aplicação SaaS, ele escreve código para um ambiente hospedado na nuvem sendo que a publicação e implantação é feita na infra-estrutura do provedor. Após a publicação, análises permitem que os desenvolvedores monitorem o desempenho do seu serviço e façam as alterações necessárias.

