Nesta unidade teremos um apanhado de temas que nos ajudarão a compreender melhor a infraestrutura dos serviços em rede começando com os maiores problemas de segurança. Em seguida trataremos de definir os conceitos sobre a infraestrutura em nuvem e detalhes como seus nós físicos. Trataremos de tema delicado: a necessidade de ampliação dos recursos de alta disponibilidade e o aumento na demanda por soluções cloud e por fim como podemos compreender a estrutura de hardware dos serviços em nuvem.

Introdução a aspectos de segurança para web

Se você, estudante, refletir sobre o fato de que um percentual muito grande das empresas espalhadas pelo mundo tem seus negócios na internet ou ao menos usam aplicações na internet não fica estranho pensar que isso pode dar margem a toda uma série de problemas de segurança. Da mesma forma que soluções foram sendo desenvolvidas para facilitar a vida dos gestores, outras foram surgindo para lhe roubar informações e de forma mais direta, recursos financeiros. De acordo com Rojas (2016: 24) a necessidade de segurança pode ser definida:

[…] nos modelos de serviço e implantação, bem como a responsabilidade atribuída aos atores do processo, ou seja, os consumidores e os provedores de serviços. A Figura 1 [a seguir] ilustra a responsabilidade compartilhada em relação à segurança dos serviços executados na nuvem com base nos modelos de serviços propostos pelo NIST (MELL; GRANCE, 2011).

Com esta imagem que mostra a representação de uma solução de servidor local comparadas a uma solução em nuvem, fica fácil perceber que a posição do gestor que se faz valer de recursos em nuvem é muito mais delicada, uma vez que o gestor que ainda utiliza servidores e soluções locais necessita de um número muito menor de soluções de segurança. A seguir listamos os maiores problemas de segurança que o mundo corporativo enfrenta quando entra na rede mundial de computadores:

Segurança de rede: Problemas de segurança associados à rede de comunicação de dados, elementos de processamento e armazenamento da nuvem. Como exemplos de problemas desta categoria, podem-se mencionar: transferência de dados, firewalls e configurações de segurança para o ambiente;
Interface: Problemas relacionados às interfaces oferecidas pelos serviços para interação com a nuvem por parte dos usuários, administradores e elementos programáveis. Como exemplos de problemas desta categoria, podem-se citar: API (Application Program Interface), administração do ambiente de nuvem, acesso do usuário final e mecanismos de autenticação e autorização para acesso à nuvem;
Segurança de dados: Problemas de proteção dos dados no ambiente em nuvem com relação à confidencialidade, integridade e disponibilidade (CIA). Estes serviços são considerados fundamentais no contexto da segurança da informação (BISHOP, 2002). Como exemplos de problemas desta categoria, podem-se citar: criptografia de dados, redundância de recursos e atenção especial ao processo de descarte dos dados. O processo de descarte visa garantir que os dados não possam ser recuperados após seu uso;
Virtualização: Problemas relacionados com técnicas de virtualização empregadas pela nuvem para poder compartilhar e administrar os recursos físicos da infraestrutura. Como exemplos de problemas desta categoria, podem-se mencionar: Isolamento de recursos, vulnerabilidades do hypervisor, vazamento de dados do ambiente compartilhado, autenticação e autorização entre máquina virtuais do ambiente e ataques entre máquinas virtuais;
Governança: Problemas relacionados à perda do controle administrativo e de segurança causados pela utilização das soluções baseadas em nuvem. Como exemplos de problemas desta categoria, podem-se relacionar: controle dos dados em ambiente de nuvem, controle dos níveis de segurança em ambiente de nuvem e dependência em relação aos serviços de nuvem (lock-in);
Conformidade: Requisitos de conformidade a serem atendidos pelos serviços, bem como disponibilidade, transparência e auditoria. Como exemplos de problemas desta categoria, podem-se citar: acordo de nível de serviço, disponibilidade do ambiente e serviço de nuvem, possibilitar auditoria de segurança e conformidade de serviços e usuários;
Questões legais: Aspectos relacionados a requisitos legais a serem considerados pela nuvem. Como exemplos de problemas desta categoria, podem-se mencionar: aspectos relacionados à localização geográfica dos dados, possibilidade de análise forense mantendo confidencialidade, privilégios de administrador do provedor da nuvem e legislações.

Quadro: Principais problemas de segurança na nuvem

Fonte: Adaptado de Rojas (2016: 26)

Mas precisamos considerar um fator importante: o portador de solução local se encarrega de sua segurança enquanto o usuário de serviço em nuvem tem sua segurança servida pelo seu provedor cloud. A diferença entre a solução de segurança local e da em nuvem dependerá dos recursos da empresa. Uma empresa pequena pode não ter recursos para uma solução de segurança online robusta o suficiente para proteger seus dados enquanto que um provedor de serviços web tem tais soluções por padrão para oferecer aos seus clientes, primeiro pois seu negócio depende disso e segundo pois como empresa precisa assegurar suas informações assim como as de seus clientes.

Principais componentes da infraestrutura cloud

Podemos dizer que são poucos os elementos que você vê de um serviço em nuvem: um portal, tela de login de usuário e senha e um ambiente onde executa seus serviços. Podemos dizer mais ainda ao afirmar que a computação em nuvem mudou de lugar os servidores físicos das empresas e fez algo interessante: elas não precisam mais comprar tais servidores, apenas pagar pelo aluguel do uso, do quanto precisam e do que precisam usar. Muito peculiar esta computação em nuvem, não é? Agora, Sousa, Moreira e Machado (2009: 3) conceituam a infraestrutura que antes se situava na empresa e que agora se concentra no provedor como:

A infraestrutura do ambiente de computação em nuvem normalmente é composta por um grande número, centenas ou milhares de máquinas físicas ou nós físicos de baixo custo, conectadas por meio de uma rede como ilustra a Figura 7.2. Cada máquina física tem as mesmas configurações de software, mas pode ter variação na capacidade de hardware em termos de CPU, memória e armazenamento em disco [Soror et al. 2010]. Dentro de cada máquina física existe um número variável de máquinas virtuais (VM) ou nós virtuais em execução, de acordo com a capacidade do hardware disponível na máquina física.

O custo de aquisição de um servidor, dependendo da aplicação e do tamanho da empresa, pode ser de milhões de dólares para uma empresa, algo que é proibitivo na maioria das vezes. Mas o elevado custo, embora desestimule a compra não elimina a necessidade e em um mundo tão competitivo, força as empresas a demandarem tais serviços em outros formatos. Esta necessidade de novas formas de acesso a poder computacional foi e sempre será a mola propulsora das aplicações em nuvem. Os principais componentes da computação em nuvem que a tornam tão atrativas as empresas são:

Hipervisor Hypervisor é um programa de firmware ou de baixo nível que atua como um Virtual Machine Manager. Ele, no entanto, permite compartilhar a instância física única de recursos de nuvem entre vários inquilinos.
Software de implantação Isso ajuda a implantar e integrar a aplicação na nuvem para iniciar um gerenciamento mais eficaz.
Software de gerenciamento O software de gerenciamento, como alguns componentes da computação em nuvem, ajuda a manter e configurar a infraestrutura de suas aplicações em nuvem. E além disso, ajuda qualquer outro projeto relacionado no Servidor.
Rede Este é o principal componente da infraestrutura da nuvem. A rede permite conectar serviços da nuvem pela Internet. Do mesmo modo, também é possível entregar a rede como um utilitário pela Internet. O que significa que o cliente pode personalizar a rota e o protocolo da rede.
Servidor O servidor ajuda a calcular o compartilhamento de recursos e oferece outros serviços, como alocação de recursos e desalocação, monitorando os recursos, fornecendo segurança etc.
Armazenamento A Nuvem mantém múltiplas réplicas de armazenamento. Se um dos recursos de armazenamento falhar, ele pode ser extraído de outro, o que torna a computação em nuvem mais confiável.

Quadro: Componentes cloud

Fonte: Adaptado de Icloud (2020: online)

A alguns anos atuei em uma instituição de ensino que fez a façanha de comprar um servidor. A ideia era de agilizar processos existentes e implementar novos processos. A instituição estava mergulhando de cabeça no BI (Business Inteligence) e com isso necessitava de uma solução poderosa e local, com isso adquiriu da HP (Hewlett-Packard) um servidor de R$ 12 milhões.

Embora a situação da instituição não seja única, muitas outras passam pelo mesmo momento, pois estão no mesmo mercado, o fato é que são poucas as que possuem recursos para tamanha aquisição de servidor, o que as joga nos braços das provedoras de soluções em nuvem com seus servidores dedicados e serviços customizados. De acordo com Sousa, Moreira e Machado (2009: 3) existem 3 principais benefícios da computação em nuvem:

O modelo de computação em nuvem foi desenvolvido com o objetivo de fornecer serviços de fácil acesso, baixo custo e com garantias de disponibilidade e escalabilidade. Este modelo visa fornecer, basicamente, três benefícios. O primeiro benefício é reduzir o custo na aquisição e composição de toda infraestrutura requerida para atender as necessidades das empresas, podendo essa infraestrutura ser composta sob demanda e com recursos heterogêneos e de menor custo. O segundo é a flexibilidade que esse modelo oferece no que diz respeito à adição e substituição de recursos computacionais, podendo escalar tanto em nível de recursos de hardware quanto software para atender as necessidades das empresas e usuários. O último benefício é prover uma abstração e facilidade de acesso aos usuários destes serviços. Neste sentido, os usuários dos serviços não precisam conhecer aspectos de localização física e de entrega dos resultados destes serviços.