#02 Microsoft Azure – Conceitos Fundamentais do Azure (AZ-900)

Baseado no roteiro de aprendizagem – Discutir conceitos fundamentais do Azure

Neste artigo você poderá:

  • Identificar os benefícios e as considerações do uso dos serviços de nuvem.
  • Descrever as diferenças entre as categorias de serviços de nuvem.
  • Descrever as diferenças entre os tipos de computação em nuvem.

Modelos de Cloud

É importantíssimo você entender os três modelos de nuvem.

  • Public CloudNuvem pública
  • Private CloudNuvem privada
  • Hybrid CloudNuvem híbrida

Há 3 modelos de implantação para a computação em nuvem (Cloud computing). Cada modelo tem aspectos diferentes que você deve considerar ao migrar para a nuvem:

Modelo de implantaçãoDescrição
Public CloudOs serviços são oferecidos pela Internet pública e ficam disponíveis para qualquer pessoa que deseje comprá-los. Os recursos de nuvem, como servidores e armazenamento, são de propriedade e operados por um provedor de serviços de nuvem de terceiros e entregues pela Internet.
Private CloudUma nuvem privada consiste em recursos de computação usados exclusivamente por usuários de uma empresa ou organização. Uma nuvem privada pode estar localizada fisicamente no datacenter (local) da organização ou ser hospedada por um provedor de serviços de terceiros.
Hybrid CloudUma nuvem híbrida é um ambiente de computação que combina uma nuvem pública e uma nuvem privada, permitindo que dados e aplicativos sejam compartilhados entre elas.

Assista o vídeo no intervalo destacado abaixo e depois leia com calma cada tópico listado abaixo para fixar os conceitos.

Começa em 21:42 vai até 37:30

O Azure é uma nuvem pública.

Você pode criar uma conta e comprar/alugar recursos do provedor de nuvem como a Microsoft Azure, AWS, Google Cloud, Oracle e etc. Abaixo vou descrever um pouco mais sobre cada modelo.

Comparação de modelos de nuvem

Nuvem pública

A nuvem pública não quer dizer que qualquer pessoa terá acesso aos seus dados, claro que não! É uma nuvem publica por estar disponível para qualquer pessoa alugar e consumir um recurso, mas você é quem gerencia esse recurso, ou seja, define quem pode acessar, como acessar, etc.

  • Nenhuma despesa de capital para escalar verticalmente.
  • Os aplicativos podem ser provisionados e desprovisionados rapidamente.
  • As organizações pagam apenas pelo que utilizam.

Nuvem privada

A nuvem privada, basicamente você é proprietário daquele recurso. Para ser considerado uma nuvem é necessário que os recursos sejam de “auto atendimento”, ou seja, você não precisa pedir para uma pessoa do departamento de TI criar uma VM, por exemplo… apenas você define o recurso e ele é provisionado automaticamente.

  • O hardware deve ser comprado para inicialização e manutenção.
  • As organizações têm controle total sobre os recursos e a segurança.
  • As organizações são responsáveis pela manutenção e pelas atualizações de hardware.

Nuvem híbrida

A nuvem híbrida é basicamente o seu datacenter conectado com uma nuvem pública. Isso permite que você compartilha dados e aplicativos entre os ambientes, on-premise e cloud (Rede local e Nuvem).

  • Fornece a maior flexibilidade.
  • As organizações determinam onde executar seus aplicativos.
  • As organizações controlam a segurança, a conformidade ou os requisitos legais.

fonte: Discutir diferentes tipos de modelos de nuvem – Learn | Microsoft Docs

Benefícios de Cloud

Um ambiente de nuvem tem várias vantagens em relação a um ambiente físico. Abaixo veremos os conceitos de cada um deles:

  • High availabilityAlta disponibilidade
  • Fault toleranceTolerância a falhas
  • Global reachAlcance global
  • Elasticity Elasticidade
  • Scalability Escalabilidade
  • Security Segurança
  • Agility Agilidade
  • Disaster recoveryRecuperação de desastre
  • Predictive cost considerations – Considerações de custo preditivo
  • Customer latency capabilitiesCapacidade de latência do cliente

Assista o vídeo no intervalo destacado abaixo e depois leia com calma cada tópico listado abaixo para fixar os conceitos.

Começa em 00:37:30 vai até 01:01:00

High availability


Alta disponibilidade é a capacidade de manter um aplicativo ou serviço ativo, sem tempo de inatividade mesmo que algum recurso falhe. Imagine que você tenha um servidor web com uma aplicação WordPress e você tem apenas um servidor web… se ocorrer alguma falha você terá uma indisponibilidade.

Para obter uma alta disponibilidade nesse cenário você poderia ter mais de um servidor com essa mesma aplicação Wordpres. Imagina que você tem 2 servidores para essa aplicação, caso um falhe outro estará executando deixando assim sua aplicação disponível. Então dependendo do SLA (contrato de nível de serviço) que você escolher com a Microsoft poderão oferecer uma experiência contínua, ou seja, sem nenhuma inatividade aparente, pois em background o mecanismo estará funcionando para a aplicação se manter ativa. Com isso você obtém os SLAs 99,9% disponível, SLA 99,99%… quanto mais 9 maior sua disponibilidade.

Importante dizer que configurar uma alta disponibilidade é ter o objetivo de manter a aplicação o máximo de tempo disponível, mas ainda pode ocorrer falhas e ficar inacessível.

Fault tolerance


Ser tolerante a falha é quando eu tenho uma cópia de todos os itens da minha aplicação. Um bom exemplo é você ter uma aplicação com 5 servidores de front-end e apenas um servidor de banco de dados. Se um servidor do front-end falhar você ainda tem mais 4 servidores, mas se um servidor de banco de dados falhar toda sua aplicação ficará indisponível.

Então a tolerância falha é você ter uma cópia de todos os itens da sua aplicação para caso ocorra algum problema em um dos itens da sua aplicação você tem uma cópia para ser tolerante a falha. A alta disponibilidade é você tentar manter sua aplicação ativa por maior tempo possível.

Elasticity


O conceito de elasticidade é a flexibilidade, é a capacidade de dimensionamento automático, de modo que seja consumido apenas o necessário. Ou seja, um exemplo prático é a black Friday. No primeiro dia uma máquina X está atendendo a demanda, mas no segundo dia é necessário dobrar o poder desse recurso. Então você tem a elasticidade/flexibilidade de dobrar esse recurso e após a demanda voltar ao normal e o seu recursos ser reduzido. Isso é elasticidade.

Scalability


Você pode escalar o recurso facilmente na nuvem. Se você provisionou 1 VM, você pode escalar ela para 2 VMs facilmente (dimensionando horizontalmente). Ou seja, você escalou sua aplicação.
Os aplicativos na nuvem podem ser dimensionados de duas formas:

  • Verticalmente
    Dimensione verticalmente para aumentar a capacidade de computação adicionando RAM ou CPUs a uma máquina virtual. Aqui você mantém o número de máquinas e aumentar seu poder computacional.
  • Horizontalmente
    Dimensionar horizontalmente aumenta a capacidade de computação adicionando instâncias de recursos, por exemplo, adicionando VMs à configuração. Simplificando, você aumenta o número de máquinas assim crescendo horizontalmente.

Diferente do on-premise você fica limitado ao seu hardware. Então, você pode crescer de acordo com seu hardware atual ou adquirir mais para alcançar o objetivo. Escalar é o quanto você pode crescer, aumentar seu poder computacional. Que é diferente de elasticidade que é crescer e diminuir de acordo com a necessidade.

Agility


É a capacidade de configurar rapidamente os recursos a medida que os requisitos mudam.

Global reach


É o conceito de você poder construir recursos em qualquer parte do mundo, ancance global. a Microsoft tem data centers espalhados por diversos países e você pode criar recursos em diversos datacenters para para implantar aplicativos e serviços nas regiões mais próximas de seus clientes obtendo o melhor desempenho em sua região.

Disaster recovery


“Ao aproveitar os serviços de backup baseados em nuvem, a replicação de dados e a distribuição geográfica, você pode implantar os aplicativos com a confiança de saber que seus dados estarão seguros em caso de desastre.”

Documentação Microsoft

Diferente dos outros conceitos é uma cópia dos itens da aplicação totalmente fora do ambiente principal. Exemplo, você tem um datacenter no Rio de Janeiro e uma cópia das aplicações em Minas Gerais, se você tiver um desastre no data center no RJ você tem uma estrutura totalmente a parte em Minas Gerais e você pode recuperar os serviços a partir desse backup. Você terá um tempo de indisponibilidade pois estará “subindo” a estrutura de backup.

Security


Na nuvem também é seguro, inclusive até mais seguro pois o provedor de nuvem tem diversas certificações, selos de conformidade de alto gabarito e padrões de políticas próprios. No contrato de politica de privacidade você pode encontrar quando e quem pode acessar seu dado.

Predictive cost considerations


Na nuvem você pode ter uma ideia de custos com a calculadora da Azure Microsoft, por exemplo. Você pode ter uma ideia de estimativa de quanto vai gastar com o provisionamento dos recursos. Lembrando que é uma estimativa, e é importante sempre se atentar aos detalhes e avaliar todos os gastos possíveis.

Customer latency capabilities


Se os clientes estão experimentando lentidão com um serviço de nuvem específico, eles estão experimentando alguma latência. Mesmo que a fibra óptica moderna seja rápida, ainda pode levar algum tempo para os serviços reagirem às ações do cliente se o serviço não for local para o cliente. Os serviços em nuvem têm a capacidade de implantar recursos em datacenters em todo o mundo, resolvendo assim os problemas de latência do cliente. Ou seja, você pode implantar um recurso mais próximo possível de seu cliente para não ter uma alta latência.

Despesas de capital versus despesas operacionais

Há dois tipos diferentes de despesas que você deve considerar:

  • CapEx (despesas de capital) são os gastos antecipados de dinheiro com a infraestrutura física e a posterior dedução dessas despesas antecipadas ao longo do tempo. O custo inicial de CapEx tem um valor que é reduzido ao longo do tempo.
  • OpEx (despesas operacionais) são gastos atuais com serviços ou produtos, que são cobrados no ato. Você pode deduzir essas despesas no mesmo ano em que gasta. Não há nenhum custo antecipado, pois você paga por um serviço ou produto conforme o usa.

Esse assunto fica melhor sendo explicado em vídeo, então resolvi deixar abaixo o link de um vídeo com uma explicação e exemplos bem legais.

Começa em 01:01:50 vai até 01:07:20

A computação em nuvem é um modelo baseado em consumo

Os provedores de serviço de nuvem operam em um modelo baseado em consumo, o que significa que os usuários finais só pagam pelos recursos que usam. O que for usado é o que eles pagam.

Um modelo baseado em consumo tem muitos benefícios, incluindo:

  • Sem custos prévios.
  • Não há necessidade de comprar e gerenciar infraestrutura cara que seus usuários podem não usar ao máximo.
  • A capacidade de pagar para obter recursos adicionais quando necessário.
  • A capacidade de parar de pagar por recursos que não são mais necessários.

Descrever diferentes serviços de nuvem

Neste tópito você vai conhecer os acrônimos mais importantes sobre computação em nuvem. Isso vai cair na prova? SIM!

Esses modelos definem os diferentes níveis de responsabilidade compartilhada pelo provedor e pelo locatário (Você).

  • IaaS
  • PaaS
  • SaaS

IaaS – Infraestrutura como Serviço

A infraestrutura como é serviço é o modelo mais próximo do gerenciamento de servidores físicos. O provedor de cloud computing vai manter todo o hardware e estrutura física atualizada e você cuidará do sistema operacional dessa máquina, configurações das aplicações que rodam nela e da configuração de rede. Então você não precisa contratar um servidor pois ele já está disponível no datacenter e você apenas vai escolher o sistema operacional e suas características para gerenciar essa Virtual Machine (Máquina Virtual).

A IaaS é a categoria mais flexível de serviços de nuvem. Ela tem como objetivo oferecer total controle sobre o hardware que executa seu aplicativo. Com a IaaS, você aluga o hardware em vez de comprá-lo.

Documentação Microsoft
Vantagens

Nesse modelo não há CapEx, ou seja, não há custos antecipados comprando servidores.

Você obtém agilidade, pois é muito mais rápido você apenas configurar uma VM do que adquirir um equipamento que pode levar um mês pra chegar e somente depois configurar.

O modelo de responsabilidade compartilhada se aplica aqui, pois você vai gerenciar e manter os serviços que provisionou e o provedor de nuvem vai gerenciar e manter a infraestrutura, toda a parte física.

Modelo baseado em consumo. As empresas vão pagar somente pelo o que usam e operam em um modelo de OpEx (Despesas operacionais).

Flexibilidade. O IaaS é o serviço de nuvem mais flexível, pois você tem controle para configurar e gerenciar o hardware que executa seu aplicativo.

Desvantagens

Você tem um esforço maior para manter e gerenciar os serviços. Precisa manter o sistema operacional atualizado, as aplicações e o gerenciamento de rede da VM.

PaaS – Plataforma como Serviço

A PaaS oferece os mesmos benefícios e considerações que a IaaS, mas há alguns benefícios adicionais a ter em mente.

Vantagens

Não há CapEx. Os usuários não têm custos antecipados.

Agilidade. A PaaS é mais ágil do que a IaaS, e os usuários não precisam configurar servidores para a execução de aplicativos.

Modelo baseado em consumo. Os usuários pagam apenas pelo que usam e operam segundo um modelo OpEx.

Produtividade. Os usuários podem se concentrar apenas no desenvolvimento de aplicativos, pois o provedor de nuvem cuida de todo o gerenciamento da plataforma.

Desvantagens

Limitações da plataforma. Pode haver algumas limitações para uma plataforma de nuvem que podem afetar a execução de um aplicativo. Quando estiver avaliando qual plataforma de PaaS é mais adequada para uma carga de trabalho, considere as limitações nessa área.

SaaS – Software como Serviço

SaaS é um software que é hospedado e gerenciado de maneira centralizada para você e seus usuários ou clientes. Geralmente, uma versão do aplicativo é usada para todos os clientes e é licenciada por meio de uma assinatura mensal ou anual.

O SaaS oferece os mesmos benefícios que a IaaS, mas, novamente, há alguns benefícios adicionais a ter em mente.

Vantagens

Não há CapEx. Os usuários não têm custos antecipados.

Agilidade. Os usuários podem fornecer acesso ao software mais recente à equipe de maneira rápida e fácil.

Modelo de preço pago conforme o uso. Os usuários pagam pelo software que usam em um modelo de assinatura, normalmente mensal ou anual, independentemente de quanto eles usam o software.

Habilidades. Não são necessárias habilidades técnicas refinadas para implantar, usar e obter os benefícios do SaaS.

Flexibilidade. Os usuários podem acessar os mesmos dados de aplicativo de qualquer lugar.

Desvantagens

Limitações de software. Pode haver algumas limitações para um aplicativo de software que podem afetar o trabalho dos usuários. Por estar usando um software no estado em que se encontra, você não tem controle direto dos recursos. Quando estiver avaliando qual plataforma de SaaS é mais adequada para uma carga de trabalho, considere todas as necessidades de negócios e as limitações de software.

Comparação de modelos de serviço de nuvem

Ilustração mostrando o modelo de responsabilidade de nuvem.
  • Iaas – O serviço de nuvem mais flexível.
    • Você configura e gerencia o hardware para seu aplicativo/serviço.
  • PaaS – Focado no desenvolvimento de aplicativos.
    • O gerenciamento é realizado pelo provedor de nuvem.
  • SaaS – Modelo de preço pago conforme o uso.
    • Os usuários pagam pelo software que utilizam em um modelo de assinatura.

O que é a computação sem servidor?

Assim como a PaaS, a computação sem servidor permite que os desenvolvedores criem aplicativos mais rapidamente, eliminando a necessidade de gerenciar a infraestrutura. Com aplicativos sem servidor, o provedor de serviços de nuvem provisiona, escala e gerencia automaticamente a infraestrutura necessária para executar o código. As arquiteturas sem servidor são altamente escalonáveis e orientadas a eventos, usando recursos apenas quando há uma função ou um gatilho específico.

É importante observar que os servidores ainda estão executando o código. O nome “sem servidor” é proveniente do fato de que as tarefas associadas ao provisionamento e ao gerenciamento de infraestrutura são invisíveis para o desenvolvedor. Essa abordagem permite que os desenvolvedores aumentem seu foco na lógica de negócios e ofereçam mais valor ao núcleo dos negócios. A computação sem servidor ajuda as equipes a aumentar a produtividade e colocar produtos no mercado mais rapidamente, além de permitir que as organizações otimizem melhor os recursos e fiquem concentradas na inovação.

Documentação Microsoft

Microsoft Azure

Conceitos básicos do Azure (AZ-900). Artigo baseado na documentação da microsoft.

Artigo: 02 Microsoft Azure – Conceitos Fundamentais do Azure (AZ-900)
Autor: Marcos Vinicius
GitHub: @marcosviniciusid@devprocommunity
ContribuiçãoVocê pode comentar para contribuir com este artigo. Sempre que for pertinente o artigo será atualizado.

Marcos Vinicius
Marcos Vinicius
Artigos: 13

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *