Postagens

Benefícios dos Modelos PaaS

Imagem
No modelo PaaS, o cliente se beneficia do provisionamento dinâmico de um ambiente completo para desenvolvimento, teste e implantação de aplicações em nuvem (SOUSA; MOREIRA; MACHADO, 2009). O provisionamento dinâmico significa que o provedor aloca os recursos computacionais necessários de forma automática. Nesse caso, o cliente não precisa se preocupar com criação e gerenciamento de máquinas virtuais. O ambiente provisionado já é uma plataforma completa para a implementação de aplicações, com sistema operacional, servidores de aplicação, sistemas de gerenciamento de banco de dados (SGBD), compiladores, entre outros. Além disso, a plataforma pode oferecer também ferramentas de colaboração e gerenciamento de projetos. Os grandes provedores no mercado oferecem plataformas customizadas para as principais tecnologias usadas no desenvolvimento de aplicações, como Java, NodeJS e Python. A customização da plataforma significa que o provedor é o responsável pela alocação da infraestrutura subjac...

Aplicações do modelo SaaS

Imagem
O modelo com maior nível de abstração é o SaaS, que consiste em sistemas de software com propósitos específicos, que estão disponíveis para usuários finais por meio de acesso remoto (Internet) (SOUSA; MOREIRA; MACHADO, 2009). Em geral, o provedor oferece o software na forma de uma aplicação Web. Exemplos típicos desse modelo são aplicações office, como o Google Docs e o Microsoft Office 365, e aplicações de gestão coorporativa, como o CRM (Customer Relationship Management) da Salesforce, que foi uma das soluções pioneiras em software como serviço levando a empresa a ser uma das líderes em soluções corporativas no mundo. No modelo SaaS, o cliente não tem controle sobre a infraestrutura ou a plataforma. Em geral, ele configura apenas as suas preferências e customiza a aplicação. A evolução das aplicações é transparente para os clientes, que não precisam se preocupar com instalar atualizações (pois o acesso é remoto), nem com espaço de armazenamento dos seus dados. A capacidade computacio...

Aula 23 - Modelos de Implantação: Nuvem Pública

Imagem
A nuvem pública representa o modelo de implantação mais difundido e acessível, onde os recursos computacionais são de propriedade de um provedor de serviços e compartilhados entre diversos clientes. Neste cenário, a infraestrutura é mantida, gerenciada e operada pelo provedor, que oferece acesso sob demanda ao público em geral ou a grandes grupos industriais através da internet. Para o cliente, a distinção entre ele e o provedor é nítida: o usuário aloca recursos sem a responsabilidade ou os custos associados à gestão física do hardware. Um dos maiores atrativos da nuvem pública é a percepção de escalabilidade ilimitada. Devido à larga escala de recursos disponíveis nos data centers dos provedores, os usuários podem expandir ou reduzir suas capacidades quase instantaneamente. Além disso, o modelo econômico de pagamento baseado no uso (pay-as-you-go) contribui significativamente para a redução de custos, transformando investimentos pesados em ativos (CapEx) em despesas operacionais vari...

Aula 22 - Ecossistema de Containers e Orquestração Teórica

Imagem
Com a explosão do uso de containers, surgiu a necessidade de ferramentas para gerenciar não apenas um, mas milhares deles espalhados por datacenters globais. O ecossistema de containers é liderado pelo Docker, que popularizou o formato de imagem e a facilidade de criação de containers. No entanto, em um ambiente de nuvem real, gerenciar containers manualmente é impossível. É aqui que entra a Orquestração, um conceito vital para garantir a alta disponibilidade e a escalabilidade automática das aplicações modernas. A orquestração teórica baseia-se em um "maestro" (o orquestrador) que decide em qual servidor físico cada container deve rodar, garantindo que o hardware não fique sobrecarregado. Se um servidor falha, o orquestrador detecta a queda e reinicia os containers em outro servidor saudável automaticamente. Esse mecanismo de auto-cura (self-healing) é o que permite que serviços como redes sociais e bancos online fiquem no ar 24 horas por dia, cumprindo rigorosos acordos de ...

Aula 21 - Introdução aos Containers: Conceitos e Diferenças das VMs

Imagem
A chegada dos Containers revolucionou a forma como as aplicações são empacotadas e distribuídas na nuvem, oferecendo uma alternativa muito mais leve que as Máquinas Virtuais tradicionais. Enquanto uma VM virtualiza o hardware físico (incluindo uma cópia inteira do sistema operacional para cada instância), os containers realizam a virtualização em nível de sistema operacional. Eles compartilham o mesmo núcleo (kernel) do hospedeiro, isolando apenas a aplicação e suas bibliotecas necessárias. Essa diferença arquitetural traz benefícios massivos de eficiência. Uma VM pode levar minutos para inicializar e consumir gigabytes de RAM apenas para carregar seu próprio kernel. Já um container inicializa em milissegundos e consome apenas alguns megabytes. Isso permite que um único servidor físico execute centenas ou até milhares de containers simultaneamente, algo impossível com máquinas virtuais pesadas. Essa densidade é o motor da agilidade para arquiteturas de microserviços e aplicações nativa...

Aula 20 - Gerenciamento de Ciclo de Vida de Máquinas Virtuais

Imagem
O gerenciamento do ciclo de vida de uma Máquina Virtual abrange todas as etapas da sua existência na nuvem, desde o provisionamento inicial até a sua exclusão definitiva. Diferente da infraestrutura convencional, onde o servidor físico ficava ligado por anos, na nuvem as VMs são efêmeras e dinâmicas. Esse ciclo inclui fases críticas como criação, configuração, monitoramento, escalabilidade, pausa, clonagem e, por fim, a limpeza dos recursos. A primeira fase é o provisionamento, onde o administrador define os parâmetros (CPU, RAM, Rede) e lança a instância. Graças à agilidade da nuvem, isso pode ser automatizado via scripts ou ferramentas de orquestração. Durante a fase de operação, entra em cena o monitoramento da saúde, onde ferramentas básicas verificam se a VM está performando conforme o pacto de nível de serviço (SLA). Se a carga aumentar, a escalabilidade horizontal permite que novas VMs sejam criadas automaticamente para dividir o trabalho. Um recurso vital no ciclo de vida é o S...

Aula 19 - Máquinas Virtuais (VMs): Estrutura e Funcionamento

Imagem
Uma Máquina Virtual (VM) é um computador definido por software que funciona como se fosse um hardware físico real, contendo sua própria CPU virtual (vCPU), memória virtual (vRAM), discos rígidos e interfaces de rede. Do ponto de vista do sistema operacional que nela reside, não há diferença perceptível entre rodar em uma placa-mãe física ou em uma camada de virtualização. Essa abstração é o que permite a flexibilidade da nuvem, onde uma VM pode ser criada, movida ou excluída em segundos. Estruturalmente, uma VM não é nada mais do que um conjunto de arquivos armazenados no servidor hospedeiro. Os dois arquivos mais importantes são: o arquivo de configuração (que descreve quanta memória e CPUs a VM possui) e o arquivo de disco virtual (que contém o sistema operacional, os aplicativos e os dados). Essa estrutura baseada em arquivos facilita imensamente o processo de backup e recuperação de desastres, pois mover uma máquina inteira torna-se tão simples quanto copiar um arquivo de um diretó...