Please enable JavaScript.
Coggle requires JavaScript to display documents.
Serviços de computação do Azure, Instancia de computação: é uma estação de…
Serviços de computação do Azure
Visão Geral
A
computação do Azure
é um serviço de computação sob demanda para execução de aplicativos baseados em nuvem. Ela fornece recursos de computação, como discos, processadores, memória, rede e sistemas operacionais.
Os recursos estão disponíveis sob demanda e normalmente podem ser disponibilizados em minutos ou até mesmo segundos, e você só paga pelos recursos utilizados e apenas pelo tempo que os utiliza.
Alguns dos serviços mais proeminentes são:
Máquinas Virtuais
São emulações de software de computadores físicos. Elas incluem um processador virtual, memória, armazenamento e recursos de rede. Elas hospedam um sistema operacional, e você pode instalar e executar o software como se fosse um computador físico.
Quando você precisa ter controle total sobre um sistema operacional e ambiente, as VMs são a opção ideal. Como em um computador físico, você pode personalizar todos os programas de software em execução na VM. Essa capacidade é útil quando você executa configurações personalizadas de software ou de hospedagem.
Conjuntos de dimensionamento de máquinas virtuais
São um recurso de computação que você pode usar para implantar e gerenciar um conjunto de VMs idênticas.
Nenhum provisionamento prévio das VMs é necessário, por esse motivo, é mais fácil criar serviços de grande escala direcionados a grandes cargas de trabalho de computação. :!:
Provisionamento:
se refere às etapas necessárias para gerenciar o acesso aos dados e recursos e para disponibilizá-los a usuários e sistemas.
Conforme a demanda aumenta, mais instâncias de VM podem ser adicionadas. Conforme a demanda diminui, instâncias de VM podem ser removidas.
Contêineres e Kubernetes
São recursos de computação que você pode usar para implantar e gerenciar contêineres.
Contêineres são ambientes de aplicativos leves e virtualizados. Eles foram projetados para serem criados rapidamente, escalados horizontalmente e interrompidos dinamicamente.
Você pode executar várias instâncias de um aplicativo em contêineres em um computador host.
Serviço de Aplicativo
O Serviço de Aplicativo é uma oferta de PaaS (plataforma como serviço), onde você pode criar, implantar e dimensionar rapidamente aplicativos Web, móveis e de API de nível empresarial executados em qualquer plataforma.
Você pode atender a requisitos rigorosos de desempenho, escalabilidade, segurança e conformidade ao usar uma plataforma totalmente gerenciada para executar a manutenção de infraestrutura.
Funções
São ideais quando você está preocupado apenas com o código que executa o serviço, e não com a plataforma ou a infraestrutura subjacente.
Elas costumam ser usadas quando você precisa executar um trabalho em resposta a um evento.
Quando usar Máquinas Virtuais do Azure?
São uma opção ideal quando você precisa de:
Controle total sobre o SO (sistema operacional).
Capacidade para executar um software personalizado.
Usar configurações personalizadas de hospedagem.
Uma VM do Azure oferece a flexibilidade da virtualização sem a necessidade de comprar e manter o hardware físico que a executa.
Exemplos de quando usar VMs
Ao executar aplicativos na nuvem.
Um aplicativo pode precisar lidar com flutuações na demanda. Desligar VMs quando elas não são necessárias ou iniciá-las rapidamente para atender a um aumento repentino na demanda significa que você paga apenas pelos recursos que usa.
Ao estender seu datacenter para a nuvem.
Criando uma rede virtual no Azure e adicionando VMs a ela. Aplicativos podem ser executados em uma maquina virtual em vez de localmente. É mais fácil ou menos caro implantar dessa forma do que em um ambiente local.
Durante o teste e o desenvolvimento.
As VMs fornecem uma maneira rápida e fácil de criar diferentes configurações de sistema operacional e de aplicativo. A equipe de teste e desenvolvimento pode excluir facilmente as VMs quando não precisarem mais delas.
Durante a recuperação de desastre.
Se um datacenter primário falhar, você poderá criar VMs em execução no Azure para executar seus aplicativos críticos e desligá-los quando o datacenter primário ficar operacional novamente.
As VMs também são uma excelente opção quando você migra de um servidor físico para a nuvem (também conhecido como lift-and-shift). Você pode criar uma imagem do servidor físico e hospedá-la em uma VM com poucas ou nenhuma alteração.
Dimensionar VMs no Azure
Conjuntos de escala de máquina virtual
Permitem que você gerencie, configure e atualize centralmente um grande número de VMs em minutos para fornecer aplicativos de alta disponibilidade. O número de instâncias de VM pode aumentar ou diminuir automaticamente em resposta à demanda ou a um agendamento definido.
Lote do Azure
O Lote do Azure cria e gerencia um pool de nós de computação (máquinas virtuais), instala os aplicativos que você deseja executar e agenda trabalhos para execução nos nós.
Quando você estiver pronto para executar um trabalho, o lote fará o seguinte:
Iniciar um pool de VMs de computação para você.
Instalar aplicativos e dados de preparo.
Executar trabalhos com todas as tarefas que você tiver.
Identificar falhas.
Colocar o trabalho em filas.
Reduzir verticalmente o pool conforme o trabalho for concluído.
Quando usar o Serviço de Aplicativo do Azure?
Permite que você crie e hospede aplicativos Web, trabalhos em segundo plano, back-ends de dispositivos móveis e APIs RESTful na linguagem de programação de sua escolha sem gerenciar a infraestrutura. Ele oferece dimensionamento automático e alta disponibilidade.
Esse ambiente de PaaS (plataforma como serviço) permite que você se concentre no site e na lógica da API, enquanto o Azure manipula a infraestrutura para executar e dimensionar seus aplicativos Web.
Custos do Serviço de Aplicativo
Você paga pelos recursos de Computação do Azure que o seu aplicativo usa ao processar solicitações com base no plano do Serviço de Aplicativo que você escolher.
O plano determina a quantidade de hardware dedicada ao host, se ele tem hardware dedicado ou compartilhado, e a quantidade de memória reservada para ele.
Tipos de Serviços de Aplicativos
Aplicativos Web
Aplicativos de API
WebJobs
Aplicativos móveis
Quando usar as Instâncias de Contêiner do Azure ou o Serviço de Kubernetes do Azure?
O que são contêineres?
Container
é o agrupamento de uma aplicação junto com suas dependências, compartilhando o kernel do sistema operacional host. Nos contêineres você não tem o sistema operacional inteiro e o hardware virtualizado rodando junto da aplicação. Sua aplicação roda diretamente utilizando os recursos da infraestrutura do host.
Contêineres x Maquinas Virtuais
Contêineres contém somente o necessário para o funcionamento da aplicação. São menores e utilizam menos recursos que uma VM, sendo assim, mais baratos.
A maquina virtual emula um novo sistema operacional dentro do sistema operacional do host, enquanto o contêiner emula somente as aplicações e suas dependências, sendo assim, mais leves.
Por compartilhar o mesmo kernel, se o kernel tem problemas o container também terá.
Tem menos flexibilidade. Se seu SO é Linux, você só poderá usar imagens linux. Enquanto em uma VM podemos ter uma maquina com Windows mais ter uma virtualização de um Linux.
O que é o Kubernetes?
Como funciona?
O Kubernetes funciona gerenciando um cluster de instâncias de computação e programando contêineres para execução no cluster de acordo com os recursos computacionais disponíveis e os requisitos de recursos de cada contêiner. Os contêineres são executados em agrupamentos lógicos denominados pods. Você pode executar e escalar um ou vários contêineres ao mesmo tempo como um pod.
O software do plano de controle do Kubernetes decide quando e onde executar os pods, gerencia o roteamento do tráfego e escala os pods de acordo com a utilização ou outras métricas definidas. O Kubernetes inicia automaticamente os pods no cluster de acordo com seus requisitos de recursos. Além disso, reinicia automaticamente os pods em caso de falha neles ou nas instâncias em que são executados.
É um software de código aberto que permite implantar e gerenciar aplicativos conteinerizados em grande escala. O Kubernetes gerencia clusters de instâncias de computação e executa nessas instâncias contêineres com processos de implantação, manutenção e escalabilidade.
Por que usar?
O que são microsserviços?
São uma arquitetura e uma abordagem para escrever programas de software. Com eles, as aplicações são desmembradas em componentes mínimos e independentes.
Diferenças entre as arquiteturas monolítica e de microsserviços
Diferentemente da abordagem tradicional monolítica em que toda a aplicação é criada como um único bloco, os microsserviços são componentes separados que trabalham juntos para realizar as mesmas tarefas.
Em um abordagem tradicional, se um processo do aplicativo apresenta um pico de demanda, toda a arquitetura deverá ser escalada. E aprimorar ou adicionar recursos de aplicativos monolíticos se torna mais complexo a medida que a base de código cresce. As arquiteturas monolíticas aumentam o risco de disponibilidade de aplicativos, pois muitos processos dependentes e altamente acoplados aumentam o impacto da falha de um único processo.
Com uma arquitetura de microsserviços, um aplicativo é criado como componentes independentes que executam cada processo do aplicativo como um serviço, que realiza uma única função. Esses serviços se comunicam por meio de uma interface bem definida usando APIs leves. Como são executados de forma independente, cada serviço pode ser atualizado, implantado e escalado para atender a demanda de funções específicas de um aplicativo.
Características
Autônomos
Cada serviço do componente de uma arquitetura de microsserviços pode ser desenvolvido, implantado, operado e escalado sem afetar o funcionamento de outros serviços
Especializados
Cada serviço é projetado para ter um conjunto de recursos e é dedicado à solução de um problema específico.
Benefícios
Agilidade
As equipes atuam dentro de um contexto pequeno e claramente compreendido e têm autonomia para trabalhar de forma mais independente e rápida.
Escalabilidade flexível
Cada serviço pode ser escalado de forma independente para atender à demanda do recurso de aplicativo oferecido por esse serviço.
Fácil implantação
Permitem a integração e entregas contínuas, o que facilita o teste de novas ideias e sua reversão caso algo não funcione corretamente.
Liberdade tecnológica
As equipes são livres para escolher a melhor ferramenta para resolver problemas específicos.
Código reutilizável
Permite que as equipes usem funções para várias finalidades
Resiliência
A independência do serviço aumenta a resistência a falhas do aplicativo.
O Azure tem duas implementações de computação sem servidor:
Azure Functions
Pode executar o código praticamente em qualquer linguagem de programação moderna.
É ideal para você caso esteja preocupado apenas com o código do serviço, não com a plataforma nem com a infraestrutura subjacente. As funções costumam ser usadas quando você precisa executar um trabalho em resposta a um evento e quando esse trabalho pode ser concluído dentro de segundos. As funções são dimensionadas automaticamente com base na demanda; assim sendo, trata-se de uma boa opção quando a demanda é variável.
Podem ser sem estado ou com estado.
Quando são sem estado (o padrão), elas se comportam como se fossem reiniciadas sempre que respondem a um evento.
Quando são com estado (chamadas de Durable Functions), um contexto é passado pela função para acompanhar a atividade anterior.
Aplicativos Lógicos do Azure
Podem executar a lógica disparada pelos serviços do Azure sem escrever nenhum código.
São semelhantes às funções, porém, enquanto as funções executam código, os aplicativos lógicos executam fluxos de trabalho criados para automatizar cenários de negócios com base em blocos de lógica predefinida.
Cada fluxo de trabalho de aplicativo lógico do Azure começa com um gatilho, que é acionado quando um evento específico ocorre ou quando novos dados disponíveis atendem a critérios específicos. Cada vez que o gatilho é acionado, o mecanismo de Aplicativos Lógicos cria uma instância de aplicativo lógico que executa as ações no fluxo de trabalho.
Functions vs. Aplicativos Lógicos
Quando usar a Área de Trabalho Virtual do Windows
Por que você deve usar?
Fornecer a melhor experiência do usuário
Entrada do usuário é rápida porque os perfis de usuário são colocados em contêineres usando o FSLogix, que são anexados dinamicamente ao ambiente de computação, ficando imediatamente disponíveis.
Os usuários têm a liberdade de se conectar à Área de Trabalho Virtual do Windows com qualquer dispositivo pela Internet.
VMs do host de sessão executadas perto de aplicativos e serviços conectados ao seu datacenter ou nuvem. Assim, os usuários não encontram tempos de carregamento longos.
Aprimorar a segurança
Os dados e aplicativos são separados do hardware local. Assim, o risco de dados confidenciais serem deixados em um dispositivo pessoal é reduzido.
Autenticação multifator para proteger as entradas do usuário.
Usa a tecnologia de conexão reversa, não abrindo portas para as VMs do host de sessão.
É um serviço de virtualização de área de trabalho e aplicativo que é executado na nuvem. Ele permite que os usuários usem uma versão do Windows hospedada na nuvem em qualquer localização.
Instancia de computação:
é uma estação de trabalho baseada em nuvem.
Cluster:
é um agrupamento de instâncias de contêiner.