Abaixo, tentarei explicar for forma resumida, alguns conceitos e termos importantes para entender o Azure Stack.
Pessoas (Personas)
- Service Administrator (Administrador de Serviços): Pode configurar e gerenciar provedores de recursos, ofertas disponíveis para o cliente (Tenant Offers), Planos, Serviços, cotas e preços.
- Cliente (Tenant): Um cliente, ou tenant, pode adquirir serviços que o Administrador de Serviços oferece. O cliente pode provisionar, monitorar e gerenciar serviços que ele adquiriu, tais como Web Apps, Storage e Máquinas Virtuais.
Portal
O método primário de interação com o Azure Stack é o portal. Ele é idêntico ao portal do Azure (Cloud Pública), é através dele que tanto o cliente (tenant) quanto o administrador (Service Administrator) pode realizar as operações que lhe são permitidas (RBAC).
Serviços, planos, ofertas e assinaturas
Os serviços são disponibilizados aos clientes através de assinaturas, ofertas e planos. Clientes podem assinar múltiplas ofertas, ofertas podem ter um ou mais planos e planos podem ter um ou mais serviços.
Serviços
Com Azure Stack é possível ofertar uma grande variedade de serviços e aplicações, tais como Máquinas Virtuais, Bancos de Dados SQL, SharePoint, Exchange e etc.
Planos
De maneira resumida, planos são agrupamentos de um ou mais serviços. Você pode criar planos para ofertar a seus clientes e eles podem assinar esses planos para usufruir dos serviços oferecidos.
Cada serviço adicionado em um plano, pode ser configurado com cotas que respeitem a capacidade de sua infraestrutura de cloud. Cotas podem incluir restrições tais como quantidade de máquinas virtuais e limites de CPU e RAM, estas cotas são aplicadas nas assinaturas que cada cliente faz nos diversos planos.
Cotas podem ser diferenciadas por localização, por exemplo: Um plano que possui serviços de computação, na região A, pode ter cota de 4GB RAM e 10 núcleos de processador (CPU cores).
O Administrador de Serviços também pode criar planos complementares (Add-on plans), quem podem ser adquiridos quando uma assinatura atingir uma ou mais de suas cotas.
Ofertas
Ofertas são grupos de um ou mais planos que um cliente pode comprar. Por exemplo: A oferta ABC contém o Plano 1 (da região sul, que possui um conjunto de serviços de computação) e também contém o Plano 2 (da região sudeste, que possui serviços de rede e storage).
Assinaturas
É a maneira pela qual os clientes compram/adquirem suas ofertas. Uma assinatura é a combinação de um cliente com uma oferta. Um cliente pode possuir assinaturas para várias ofertas, cada assinatura aplica-se a apenas uma oferta.
As assinaturas de um cliente, determinam quais planos e serviços que ele pode acessar.
Azure Resource Manager
Com o Azure Resource Manager, você pode trabalhar com uma visão centralizada e consolidada de todos os seus recursos de infra-estrutura, em vez de individualmente.
Grupos de Recursos
Grupo de recursos são coleções de recursos, serviços e aplicações, cada recurso pode ser de um tipo, tais como Máquina Virtual, Rede Virtual, IPs Públicos, Storage e Websites.
Cada recurso deve estar em um grupo de recursos o que lhe ajuda a mantê-los organizados. Como cliente, é a utilização destes recursos que você de fato é cobrado.
Coisas importantes que devem ser consideradas ao definir um grupo de recursos:
- Cada recurso pode existir em apenas um Grupo de Recursos
- Você pode provisionar, atualizar e deletar itens de um Grupo de Recursos de maneira integrada (itens juntos). Se um recurso, como um servidor de banco de dados, precisa existir em um ciclo de provisionamento diferente, ele precisa estar em outro grupo de recursos.
- Você pode adicionar ou remover recursos de um grupo de recursos a qualquer momento.
- Você pode mover recursos de grupo para outro.
- Um grupo pode conter recursos de regiões diferentes.
- Um grupo pode ser usado para definir permissões de acesso (RBAC)
- Um recurso pode ser associado (linkado) com ouro recurso que está em outro grupo de recursos, quando eles estão relacionados entre sim mas não compartilham o mesmo ciclo de vida. Por exemplo: Múltiplos APPs deve estar conectados ao banco de dados, mas o banco de dados não dever ser alterado, atualizado ou apagado no mesmo ritmo de desenvolvimento dos APPs.
- Planos e ofertas também são gerenciados em grupos de recursos.
Povedores de Recursos (Resouce Providers – RPs) – Network RP, Compute RP, Storage RP
Provedores de Recursos (Resouce Providers – RPs) são web services que formam a base para todos os serviços do Azure baseados em IaaS e PaaS. São eles: Network, Storage, and Compute, cada um destes RPs ajuda você a configurar e controlar seus respectivos recursos. Os administradores também podem adicionar novos provedores de recurso customizados.
Compute RP
O Compute RP permite os clientes a criarem suas próprias máquinas virtuais. Também prover ao administrador, funcionalidades que permitem instar e configurar recursos de computação para os clientes.
Inclui a habilidade de criar máquinas virtuais, bem como extensões de máquina Virtual. O serviço de extensão de máquina Virtual ajuda a fornecer recursos de IaaS para máquinas virtuais Windows e Linux.
O Network RP oferece características de SDN – Sofware Definied Network e NFV – Network Function Virtualization para sua infraestrutura de cloud privada.
Estas características são consistentes com o Azure (cloud pública) para que possam ser escritos uma vez e implantados tanto no Azure cloud pública ou local no Azure Stack,.
O Network RP lhe dá controle mais granular de rede, tags de metadados, configuração mais rápida, personalização rápida e repetível e múltiplas interfaces de controle (incluindo PowerShell SDK .NET, Node. js SDK, API baseada em REST). Você também pode criar grupos de segurança de rede, loadbalances, IPs públicos, redes virtuais, entre outros.
O Storage RP oferece três serviços que também são encontrados no Azure (Cloud Pública): blob, table, e account management. Também oferece um serviço de administração baseada em cloud, que é consistente com o Azure (Cloud Pública) o que facilita o gerenciamento de sua infraestrurua.
Blog storage armazena qualquer conjunto de dados. Um blob pode ser qualquer tipo de texto ou dados binários, como um documento, arquivo de mídia ou instalador de aplicativo.
Table storage armazena conjunto de dados estruturados, é um repositório de dados de atributo-chave de NoSQL, que permite o desenvolvimento rápido e rápido acesso a grandes quantidades de dados.
Queue Storage fornece sistema de mensagens confiável para o processamento de fluxo de trabalho e para a comunicação entre os componentes dos serviços de nuvem.
Cada blob é colocado em um container. Containers também fornecem uma maneira útil para atribuir diretivas de segurança para grupos de objetos.
Uma conta de armazenamento pode conter qualquer número de container, e um container pode conter qualquer número de blobs, até o limite de capacidade de 500 TB de cada conta de armazenamento.
Blob storage oferece três tipos de blobs, Block blobs,Append blobs e Page Blobs (discos).
Block blobs são otimizados para streaming e armazenamento de objetos na nuvem e são uma boa escolha para armazenar documentos, arquivos de mídia, backups etc.
Append blobs são semelhantes a block bobs, mas são otimizados para operações do tipo append, um Append blob pode ser atualizado apenas adicionando um novo bloco para o final.
Append blobs são uma boa escolha para cenários como o registro, onde novos dados precisam ser escrito apenas para o fim do blob.
Page blobs são otimizados para IaaS, para uso de discos com perfil de escrita aleatória e podem chegar até 1 TB de tamanho. Uma máquina virtual no Azure (IaaS) possui um VHD armazenado como um Page Blob.
Table storage é o armazenamento do tipo NoSQL key/atribute. Tem um design sem esquemas, tornando–o diferente de bancos de dados relacionais tradicionais. Portanto, é fácil adaptar seus dados conforme as necessidades de evolução do seu aplicativo. Table storage é uma loja de atributo-chave, significando que cada valor em uma tabela é armazenado com um nome de propriedade.
O nome da propriedade pode ser usado para filtragem e especificando os critérios de seleção. Uma coleção de propriedades e seus valores compõem uma entidade. Duas entidades na mesma tabela podem conter diferentes conjuntos de propriedades, e essas propriedades podem ser de diferentes tipos.
Você pode usar o Table storage para armazenar conjuntos de dados flexíveis, tais como dados do usuário para aplicativos da web, livros de endereço, informações do dispositivo e qualquer outro tipo de metadados que necessita de seu serviço.
Você pode armazenar qualquer número de entidades em uma tabela, e uma conta de armazenamento pode conter qualquer número de tabelas, até o limite de capacidade da conta de armazenamento.
Role Based Access Control (RBAC)
Você pode usar o RBAC para conceder acesso de sistema para usuários autorizados, grupos e serviços, atribuindo–lhes papéis em uma assinatura, grupo de recursos ou nível individual de recurso. Cada função define o nível de acesso que um usuário, grupo ou serviço tem sobre os recursos do Azure Stack.
Há três papéis básicos que se aplicam a todos os tipos de recursos: proprietário, colaborador e leitor.
O dono tem acesso completo a todos os recursos, incluindo o direito de delegar acesso aos outros.
Colaborador pode criar e gerenciar todos os tipos de recursos Azure, mas não pode conceder acesso a outros.
Leitor só pode exibir recursos existentes do Azure.
O resto das funções RBAC no Azure permitiem a gestão de recursos específicos do Azure. Por exemplo, a função de colaborador de máquina Virtual permite a criação e gerenciamento de máquinas virtuais, mas não permite a gestão de rede virtual ou da sub-rede que a máquina virtual se conecta.
Dados de uso
O Azure Stack coleta e agrega dados de uso em todos os provedores de recursos para fornecer um relatório conciso por usuário. Dados podem ser tão simples como a contagem de recurso consumido, ou tão complexo como contadores individuais de desempenho e escala. Os dados estão disponíveis via API REST, portanto estes dados podem ser usados para integrar-se com uma ferramenta externa ou o serviço de faturamento ou chargeback.