Computação em nuvem - Cloud computing

Metáfora da computação em nuvem: o grupo de elementos em rede que fornecem serviços não precisa ser individualmente endereçado ou gerenciado pelos usuários; em vez disso, todo o conjunto de hardware e software gerenciado pelo provedor pode ser considerado uma nuvem amorfa.

A computação em nuvem é a disponibilidade sob demanda de recursos do sistema de computador , especialmente armazenamento de dados ( armazenamento em nuvem ) e poder de computação , sem gerenciamento ativo direto pelo usuário. Nuvens grandes geralmente têm funções distribuídas em vários locais, cada local sendo um data center. A computação em nuvem depende do compartilhamento de recursos para alcançar coerência e economias de escala , normalmente usando um modelo de "pagamento conforme o uso", que pode ajudar a reduzir despesas de capital, mas também pode levar a despesas operacionais inesperadas para usuários desavisados.

Proposta de valor

Os defensores das nuvens públicas e híbridas observam que a computação em nuvem permite que as empresas evitem ou minimizem os custos iniciais de infraestrutura de TI . Os proponentes também afirmam que a computação em nuvem permite que as empresas coloquem seus aplicativos em funcionamento mais rapidamente, com capacidade de gerenciamento aprimorada e menos manutenção, e que permite que as equipes de TI ajustem os recursos mais rapidamente para atender à demanda flutuante e imprevisível, fornecendo a capacidade de computação em explosão : alto poder de computação em certos períodos de pico de demanda.

História

As referências à frase "computação em nuvem" apareceram já em 1996, com a primeira menção conhecida em um documento interno da Compaq .

O símbolo da nuvem foi usado para representar redes de equipamentos de computação na ARPANET original já em 1977, e no CSNET em 1981 - ambos predecessores da própria Internet. A palavra nuvem foi usada como uma metáfora para a Internet e uma forma de nuvem padronizada foi usada para denotar uma rede em esquemas de telefonia . Com essa simplificação, a implicação é que as especificações de como os terminais de uma rede são conectados não são relevantes para a compreensão do diagrama.

O termo cloud foi usado para se referir a plataformas de computação distribuída tão cedo quanto 1993, quando a Apple spin-off General Magic e AT & T usou para descrever suas (emparelhados) Telescript tecnologias e PersonaLink. No artigo de abril de 1994 da Wired "Bill e Andy Excelente Aventura II", Andy Hertzfeld comentou sobre o Telescript, a linguagem de programação distribuída da General Magic:

"A beleza do Telescript ... é que agora, em vez de apenas ter um dispositivo para programar, agora temos toda a nuvem, onde um único programa pode ir e viajar para muitas fontes diferentes de informação e criar uma espécie de serviço virtual. Ninguém o tinha concebido antes. O exemplo que Jim White [o designer do Telescript, X.400 e ASN.1 ] usa agora é um serviço de organização de encontros em que um agente de software vai à loja de flores e encomenda flores e depois vai à bilheteria e pega os ingressos para o show, e tudo é comunicado a ambas as partes ”.

História antiga

Durante a década de 1960, os conceitos iniciais de compartilhamento de tempo se popularizaram via RJE ( Remote Job Entry ); essa terminologia foi associada principalmente a grandes fornecedores, como IBM e DEC . Soluções de compartilhamento em tempo integral estavam disponíveis no início dos anos 1970 em plataformas como Multics (em hardware GE), Cambridge CTSS e as primeiras portas UNIX (em hardware DEC). Ainda assim, o modelo de "data center" em que os usuários submetiam tarefas aos operadores para executá-las nos mainframes da IBM era predominantemente predominante.

Na década de 1990, as empresas de telecomunicações, que anteriormente ofereciam circuitos de dados ponto a ponto dedicados, começaram a oferecer serviços de rede privada virtual (VPN) com qualidade de serviço comparável, mas a um custo menor. Ao alternar o tráfego conforme considerassem adequado para equilibrar o uso do servidor, eles poderiam usar a largura de banda geral da rede com mais eficiência. Eles começaram a usar o símbolo da nuvem para denotar o ponto de demarcação entre o que o provedor era responsável e o que os usuários eram responsáveis. A computação em nuvem estendeu esse limite para cobrir todos os servidores, bem como a infraestrutura de rede . À medida que os computadores se tornaram mais difusos, cientistas e tecnólogos exploraram maneiras de tornar o poder da computação em grande escala disponível para mais usuários por meio do compartilhamento de tempo. Eles experimentaram algoritmos para otimizar a infraestrutura, plataforma e aplicativos para priorizar CPUs e aumentar a eficiência para os usuários finais.

O uso da metáfora da nuvem para serviços virtualizados data pelo menos do General Magic em 1994, onde foi usada para descrever o universo de "lugares" que os agentes móveis no ambiente Telescript podiam ir. Conforme descrito por Andy Hertzfeld :

"A beleza do Telescript ", diz Andy , "é que agora, em vez de apenas ter um dispositivo para programar, agora temos toda a nuvem, onde um único programa pode ir e viajar para muitas fontes diferentes de informação e criar um uma espécie de serviço virtual. "

O uso da metáfora da nuvem é creditado ao funcionário de comunicações da General Magic, David Hoffman , com base no uso de longa data em redes e telecomunicações. Além de ser usado pela própria General Magic, também foi usado para promover os serviços PersonaLink associados da AT&T .

Década de 2000

Em julho de 2002, a Amazon criou a subsidiária Amazon Web Services , com o objetivo de "permitir que os desenvolvedores criem aplicativos inovadores e empresariais por conta própria". Em março de 2006, a Amazon lançou seu Simple Storage Service (S3), seguido por Elastic Compute Cloud (EC2) em agosto do mesmo ano. Esses produtos foram os pioneiros no uso de virtualização de servidor para fornecer IaaS a um preço mais barato e sob demanda.

Em abril de 2008, o Google lançou a versão beta do Google App Engine . O App Engine era um PaaS (um dos primeiros de seu tipo) que fornecia infraestrutura totalmente mantida e uma plataforma de implantação para os usuários criarem aplicativos da web usando linguagens / tecnologias comuns, como Python , Node.js e PHP . O objetivo era eliminar a necessidade de algumas tarefas administrativas típicas de um modelo IaaS , ao mesmo tempo em que criava uma plataforma onde os usuários pudessem facilmente implantar esses aplicativos e dimensioná- los de acordo com a demanda.

No início de 2008, a nebulosa da NASA , aprimorada no projeto RESERVOIR financiado pela Comissão Europeia, tornou-se o primeiro software de código aberto para implantar nuvens privadas e híbridas e para a federação de nuvens.

Em meados de 2008, o Gartner viu uma oportunidade para a computação em nuvem "moldar a relação entre os consumidores de serviços de TI, aqueles que usam os serviços de TI e aqueles que os vendem" e observou que "as organizações estão mudando de ativos de hardware e software de propriedade da empresa para por uso de modelos baseados em serviço "para que a" mudança projetada para a computação ... resulte em um crescimento dramático em produtos de TI em algumas áreas e reduções significativas em outras ".

Em 2008, a US National Science Foundation deu início ao programa Cluster Exploratory para financiar pesquisas acadêmicas usando a tecnologia de cluster Google - IBM para analisar grandes quantidades de dados.

Em 2009, o governo da França anunciou o Projeto Andromède para criar uma "nuvem soberana" ou computação em nuvem nacional, com o governo gastando € 285 milhões. A iniciativa falhou gravemente e a Cloudwatt foi encerrada em 1 de fevereiro de 2020.

Década de 2010

Em fevereiro de 2010, a Microsoft lançou o Microsoft Azure , que foi anunciado em outubro de 2008.

Em julho de 2010, a Rackspace Hosting e a NASA lançaram em conjunto uma iniciativa de software em nuvem de código aberto conhecido como OpenStack . O projeto OpenStack pretende ajudar as organizações que oferecem serviços de computação em nuvem rodando em hardware padrão. O código inicial veio da plataforma Nebula da NASA, bem como da plataforma Cloud Files da Rackspace . Como uma oferta de código aberto e junto com outras soluções de código aberto, como CloudStack, Ganeti e OpenNebula, atraiu a atenção de várias comunidades importantes. Vários estudos têm como objetivo comparar essas ofertas de código aberto com base em um conjunto de critérios.

Em 1º de março de 2011, a IBM anunciou a estrutura IBM SmartCloud para oferecer suporte ao Smarter Planet . Entre os vários componentes da base de computação mais inteligente , a computação em nuvem é uma parte crítica. Em 7 de junho de 2012, a Oracle anunciou o Oracle Cloud . Esta oferta de nuvem está preparada para ser a primeira a fornecer aos usuários acesso a um conjunto integrado de soluções de TI, incluindo as camadas de Aplicativos ( SaaS ), Plataforma ( PaaS ) e Infraestrutura ( IaaS ).

Em maio de 2012, o Google Compute Engine foi lançado em versão prévia, antes de ser lançado em disponibilidade geral em dezembro de 2013.

Em 2019, o Linux era o sistema operacional mais comum usado no Microsoft Azure . Em dezembro de 2019, a Amazon anunciou o AWS Outposts, um serviço totalmente gerenciado que estende a infraestrutura da AWS, serviços da AWS, APIs e ferramentas para virtualmente qualquer datacenter do cliente, espaço de co-localização ou instalação local para uma experiência híbrida verdadeiramente consistente

Conceitos semelhantes

O objetivo da computação em nuvem é permitir que os usuários aproveitem todas essas tecnologias, sem a necessidade de profundo conhecimento ou especialização em cada uma delas. A nuvem tem como objetivo cortar custos e ajudar os usuários a se concentrarem em seus negócios principais, em vez de serem impedidos por obstáculos de TI. A principal tecnologia de capacitação para a computação em nuvem é a virtualização . O software de virtualização separa um dispositivo de computação físico em um ou mais dispositivos "virtuais", cada um dos quais pode ser facilmente usado e gerenciado para executar tarefas de computação. Com a virtualização no nível do sistema operacional essencialmente criando um sistema escalonável de vários dispositivos de computação independentes, os recursos de computação ociosos podem ser alocados e usados ​​com mais eficiência. A virtualização fornece a agilidade necessária para acelerar as operações de TI e reduz os custos, aumentando a utilização da infraestrutura . A computação autônoma automatiza o processo pelo qual o usuário pode provisionar recursos sob demanda . Ao minimizar o envolvimento do usuário, a automação acelera o processo, reduz os custos de mão de obra e reduz a possibilidade de erros humanos.

A computação em nuvem usa conceitos de computação utilitária para fornecer métricas para os serviços usados. A computação em nuvem tenta resolver os problemas de QoS (qualidade de serviço) e de confiabilidade de outros modelos de computação em grade .

A computação em nuvem compartilha características com:

  • Modelo cliente-servidor - computação cliente-servidor refere-se amplamente a qualquer aplicação distribuída que distingue entre prestadores de serviços (servidores) e solicitantes de serviços (clientes).
  • Escritório de informática - um bureau de serviços que fornece serviços de informática, principalmente dos anos 1960 a 1980.
  • Computação em grade - uma forma de computação distribuída e paralela, pela qual um 'supercomputador virtual' é composto de um cluster de computadores em rede, fracamente acoplados, agindo em conjunto para realizar tarefas muito grandes.
  • Fog Computação - Paradigma de computação distribuída que fornece dados, computação, armazenamento e serviços de aplicativos mais próximos do cliente ou de dispositivos periféricos próximos ao usuário, como roteadores de rede. Além disso, a computação em névoa lida com dados no nível da rede, em dispositivos inteligentes e no lado do cliente do usuário final (por exemplo, dispositivos móveis), em vez de enviar dados para um local remoto para processamento.
  • Computador mainframe - computadores poderosos usados ​​principalmente por grandes organizações para aplicativos críticos, normalmente processamento de dados em massa, como censo ; estatísticas da indústria e do consumidor; polícia e serviços de inteligência secreta; planejamento de recursos empresariais ; e processamento de transações financeiras .
  • Computação utilitária - o "pacote de recursos de computação , como computação e armazenamento, como um serviço medido semelhante a um serviço público tradicional, como eletricidade."
  • Ponto a ponto - uma arquitetura distribuída sem a necessidade de coordenação central. Os participantes são fornecedores e consumidores de recursos (em contraste com o modelo cliente-servidor tradicional).
  • Computação verde - estudo e prática de computação ou TI ambientalmente sustentável .
  • Cloud sandbox - um ambiente de computador isolado e ativo no qual um programa, código ou arquivo pode ser executado sem afetar o aplicativo em que é executado.

Características

A computação em nuvem apresenta as seguintes características principais:

  • A agilidade para as organizações pode ser melhorada, pois a computação em nuvem pode aumentar a flexibilidade dos usuários com reprovisionamento, adição ou expansão de recursos de infraestrutura tecnológica.
  • As reduções de custos são reivindicadas pelos provedores de nuvem. Um modelo de entrega de nuvem pública converte despesas de capital (por exemplo, compra de servidores) em despesas operacionais . Isso supostamente reduz as barreiras de entrada , uma vez que a infraestrutura é normalmente fornecida por um terceiro e não precisa ser adquirida para tarefas de computação intensivas ocasionais ou pouco frequentes. O preço com base na computação utilitária é "refinado", com opções de faturamento baseadas no uso. Além disso, menos habilidades internas de TI são necessárias para a implementação de projetos que usam computação em nuvem. O repositório de última geração do projeto e-FISCAL contém vários artigos que analisam os aspectos de custo com mais detalhes, a maioria deles concluindo que a economia de custos depende do tipo de atividades apoiadas e do tipo de infraestrutura disponível internamente.
  • A independência de dispositivo e localização permite que os usuários acessem sistemas usando um navegador da web, independentemente de sua localização ou do dispositivo que usam (por exemplo, PC, telefone celular). Como a infraestrutura é externa (normalmente fornecida por terceiros) e acessada pela Internet, os usuários podem se conectar a ela de qualquer lugar.
  • A manutenção do ambiente em nuvem é mais fácil porque os dados são hospedados em um servidor externo mantido por um provedor sem a necessidade de investir em hardware de data center. A manutenção de TI da computação em nuvem é gerenciada e atualizada pela equipe de manutenção de TI do provedor de nuvem, o que reduz os custos de computação em nuvem em comparação com os data centers locais.
  • A multilocação permite o compartilhamento de recursos e custos entre um grande grupo de usuários, permitindo:
    • centralização da infraestrutura em locais com custos mais baixos (como imóveis, energia elétrica, etc.)
    • aumentos de capacidade de carga de pico (os usuários não precisam projetar e pagar pelos recursos e equipamentos para atender aos níveis de carga mais altos possíveis)
    • melhorias de utilização e eficiência para sistemas que geralmente são utilizados apenas de 10 a 20%.
  • O desempenho é monitorado por especialistas de TI do provedor de serviços e arquiteturas consistentes e fracamente acopladas são construídas usando serviços da web como a interface do sistema.
  • A produtividade pode ser aumentada quando vários usuários podem trabalhar nos mesmos dados simultaneamente, em vez de esperar que sejam salvos e enviados por e-mail. Pode-se economizar tempo, pois as informações não precisam ser inseridas novamente quando os campos são correspondidos, nem os usuários precisam instalar atualizações de software de aplicativo em seus computadores.
  • A disponibilidade melhora com o uso de vários sites redundantes, o que torna a computação em nuvem bem projetada adequada para continuidade de negócios e recuperação de desastres .
  • Escalabilidade e elasticidade por meio de provisionamento dinâmico ("sob demanda") de recursos em uma base de autosserviço de granulação fina quase em tempo real (observe que o tempo de inicialização da VM varia de acordo com o tipo de VM, local, SO e provedores de nuvem), sem que os usuários tenham que projetar para cargas de pico. Isso permite aumentar a escala quando a necessidade de uso aumenta ou diminui se os recursos não estiverem sendo usados. O benefício de economia de tempo da escalabilidade da nuvem também significa um tempo mais rápido de lançamento no mercado, mais flexibilidade de negócios e adaptabilidade, já que adicionar novos recursos não leva tanto tempo quanto antes. Abordagens emergentes para gerenciar elasticidade incluem o uso de técnicas de aprendizado de máquina para propor modelos de elasticidade eficientes.
  • A segurança pode melhorar devido à centralização de dados, aumento de recursos focados na segurança, etc., mas podem persistir preocupações sobre a perda de controle sobre certos dados confidenciais e a falta de segurança para os kernels armazenados . A segurança é geralmente tão boa ou melhor do que outros sistemas tradicionais, em parte porque os provedores de serviços são capazes de dedicar recursos para resolver problemas de segurança que muitos clientes não podem resolver ou para os quais não têm as habilidades técnicas para resolver. No entanto, a complexidade da segurança aumenta muito quando os dados são distribuídos por uma área mais ampla ou por um número maior de dispositivos, bem como em sistemas multilocatários compartilhados por usuários não relacionados. Além disso, o acesso do usuário aos logs de auditoria de segurança pode ser difícil ou impossível. As instalações de nuvem privada são, em parte, motivadas pelo desejo dos usuários de manter o controle sobre a infraestrutura e evitar a perda do controle da segurança das informações.

A definição de computação em nuvem do Instituto Nacional de Padrões e Tecnologia identifica "cinco características essenciais":

Autoatendimento sob demanda. Um consumidor pode fornecer recursos de computação unilateralmente, como tempo de servidor e armazenamento de rede, conforme necessário automaticamente, sem a necessidade de interação humana com cada provedor de serviço.

Amplo acesso à rede. Os recursos estão disponíveis na rede e são acessados ​​por meio de mecanismos padrão que promovem o uso por plataformas heterogêneas de thin ou thick client (por exemplo, telefones celulares, tablets, laptops e estações de trabalho).

Pooling de recursos . Os recursos de computação do provedor são agrupados para atender a vários consumidores usando um modelo multilocatário, com diferentes recursos físicos e virtuais atribuídos e reatribuídos dinamicamente de acordo com a demanda do consumidor. 

Elasticidade rápida. As capacidades podem ser elasticamente provisionadas e liberadas, em alguns casos automaticamente, para escalar rapidamente para fora e para dentro de acordo com a demanda. Para o consumidor, os recursos disponíveis para provisionamento muitas vezes parecem ilimitados e podem ser apropriados em qualquer quantidade a qualquer momento.

Serviço medido. Os sistemas em nuvem controlam e otimizam automaticamente o uso de recursos, aproveitando uma capacidade de medição em algum nível de abstração apropriado para o tipo de serviço (por exemplo, armazenamento, processamento, largura de banda e contas de usuário ativas). O uso de recursos pode ser monitorado, controlado e relatado, proporcionando transparência tanto para o provedor quanto para o consumidor do serviço utilizado.

-  Instituto Nacional de Padrões e Tecnologia

Modelos de serviço

Modelos de serviço de computação em nuvem organizados como camadas em uma pilha

Embora a arquitetura orientada a serviços defenda "Tudo como um serviço" (com as siglas EaaS ou XaaS , ou simplesmente aas ), os provedores de computação em nuvem oferecem seus "serviços" de acordo com modelos diferentes, dos quais os três modelos padrão do NIST são Infraestrutura como um Serviço (IaaS), Plataforma como Serviço (PaaS) e Software como Serviço (SaaS). Esses modelos oferecem abstração crescente; eles são, portanto, frequentemente retratados como camadas em uma pilha : infraestrutura, plataforma e software como serviço, mas não precisam estar relacionados. Por exemplo, pode-se fornecer SaaS implementado em máquinas físicas (bare metal), sem usar camadas subjacentes de PaaS ou IaaS e, inversamente, pode-se executar um programa em IaaS e acessá-lo diretamente, sem envolvê-lo como SaaS.

Infraestrutura como serviço (IaaS)

"Infraestrutura como serviço" (IaaS) refere-se a serviços online que fornecem API de alto nível usada para abstrair vários detalhes de baixo nível da infraestrutura de rede subjacente, como recursos de computação física, localização, particionamento de dados, dimensionamento, segurança, backup, etc. A o hipervisor executa as máquinas virtuais como convidados. Pools de hipervisores dentro do sistema operacional em nuvem podem oferecer suporte a um grande número de máquinas virtuais e a capacidade de aumentar ou diminuir os serviços de acordo com os diversos requisitos dos clientes. Os contêineres do Linux são executados em partições isoladas de um único kernel Linux executado diretamente no hardware físico. Os cgroups e namespaces do Linux são as tecnologias subjacentes do kernel Linux usadas para isolar, proteger e gerenciar os contêineres. A conteinerização oferece melhor desempenho do que a virtualização porque não há sobrecarga de hipervisor. As nuvens IaaS geralmente oferecem recursos adicionais, como uma biblioteca de imagem de disco de máquina virtual , armazenamento de bloco bruto , armazenamento de arquivo ou objeto , firewalls, balanceadores de carga, endereços IP , redes locais virtuais (VLANs) e pacotes de software.

A definição do NIST de computação em nuvem descreve IaaS como "onde o consumidor é capaz de implantar e executar software arbitrário, que pode incluir sistemas operacionais e aplicativos. O consumidor não gerencia ou controla a infraestrutura de nuvem subjacente, mas tem controle sobre os sistemas operacionais, armazenamento e aplicativos implantados e, possivelmente, controle limitado de componentes de rede selecionados (por exemplo, firewalls de host). "

Os provedores de nuvem IaaS fornecem esses recursos sob demanda de seus grandes pools de equipamentos instalados em data centers . Para conectividade de área ampla , os clientes podem usar a Internet ou as nuvens da operadora ( redes virtuais privadas dedicadas ). Para implantar seus aplicativos, os usuários da nuvem instalam imagens do sistema operacional e seu software de aplicativo na infraestrutura da nuvem. Nesse modelo, o usuário da nuvem corrige e mantém os sistemas operacionais e o software do aplicativo. Os provedores de nuvem geralmente cobram os serviços de IaaS com base na computação utilitária: o custo reflete a quantidade de recursos alocados e consumidos.

Plataforma como serviço (PaaS)

A definição do NIST de computação em nuvem define Plataforma como Serviço como:

O recurso fornecido ao consumidor é implantar na infraestrutura de nuvem aplicativos criados ou adquiridos pelo consumidor, criados usando linguagens de programação, bibliotecas, serviços e ferramentas com suporte do provedor. O consumidor não gerencia ou controla a infraestrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais ou armazenamento, mas tem controle sobre os aplicativos implantados e possivelmente as definições de configuração do ambiente de hospedagem de aplicativos.

Os fornecedores de PaaS oferecem um ambiente de desenvolvimento para desenvolvedores de aplicativos. O provedor normalmente desenvolve kit de ferramentas e padrões para desenvolvimento e canais para distribuição e pagamento. Nos modelos de PaaS, os provedores de nuvem oferecem uma plataforma de computação , geralmente incluindo sistema operacional, ambiente de execução de linguagem de programação, banco de dados e servidor web. Os desenvolvedores de aplicativos desenvolvem e executam seu software em uma plataforma de nuvem em vez de comprar e gerenciar diretamente as camadas de hardware e software subjacentes. Com alguns PaaS, o computador subjacente e os recursos de armazenamento são dimensionados automaticamente para corresponder à demanda do aplicativo, de forma que o usuário da nuvem não precise alocar recursos manualmente.

Alguns provedores de integração e gerenciamento de dados também usam aplicativos especializados de PaaS como modelos de entrega de dados. Os exemplos incluem iPaaS (Plataforma de Integração como Serviço) e dPaaS (Plataforma de Dados como Serviço) . O iPaaS permite que os clientes desenvolvam, executem e controlem os fluxos de integração. No modelo de integração iPaaS, os clientes conduzem o desenvolvimento e implantação de integrações sem instalar ou gerenciar qualquer hardware ou middleware. O dPaaS oferece produtos de integração - e gerenciamento de dados - como um serviço totalmente gerenciado. No modelo dPaaS, o provedor de PaaS, e não o cliente, gerencia o desenvolvimento e a execução de programas criando aplicativos de dados para o cliente. Os usuários do dPaaS acessam dados por meio de ferramentas de visualização de dados.

Software como serviço (SaaS)

A definição do NIST de computação em nuvem define Software como um Serviço como:

O recurso fornecido ao consumidor é usar os aplicativos do provedor em execução em uma infraestrutura em nuvem . Os aplicativos podem ser acessados ​​de vários dispositivos clientes por meio de uma interface de cliente fino, como um navegador da web (por exemplo, e-mail baseado na web) ou de uma interface de programa. O consumidor não gerencia ou controla a infraestrutura de nuvem subjacente, incluindo rede, servidores, sistemas operacionais, armazenamento ou mesmo recursos de aplicativos individuais, com a possível exceção de configurações de aplicativos específicas do usuário limitadas.

No modelo de software como serviço (SaaS), os usuários obtêm acesso a softwares de aplicativos e bancos de dados . Os provedores de nuvem gerenciam a infraestrutura e as plataformas que executam os aplicativos. O SaaS às vezes é chamado de "software sob demanda" e geralmente tem o preço pago conforme o uso ou usando uma taxa de assinatura. No modelo SaaS, os provedores de nuvem instalam e operam o software do aplicativo na nuvem e os usuários da nuvem acessam o software de clientes na nuvem. Os usuários da nuvem não gerenciam a infraestrutura e plataforma da nuvem onde o aplicativo é executado. Isso elimina a necessidade de instalar e executar o aplicativo nos próprios computadores do usuário da nuvem, o que simplifica a manutenção e o suporte. Os aplicativos em nuvem diferem de outros aplicativos em sua escalabilidade - que pode ser obtida clonando tarefas em várias máquinas virtuais em tempo de execução para atender à demanda de trabalho em constante mudança. Os balanceadores de carga distribuem o trabalho pelo conjunto de máquinas virtuais. Este processo é transparente para o usuário da nuvem, que vê apenas um único ponto de acesso . Para acomodar um grande número de usuários da nuvem, os aplicativos da nuvem podem ser multilocatários , o que significa que qualquer máquina pode servir a mais de uma organização de usuários da nuvem.

O modelo de preços para aplicativos SaaS é normalmente uma taxa fixa mensal ou anual por usuário, portanto, os preços se tornam escaláveis ​​e ajustáveis ​​se os usuários forem adicionados ou removidos a qualquer momento. Também pode ser gratuito. Os proponentes afirmam que o SaaS dá a uma empresa o potencial de reduzir os custos operacionais de TI terceirizando a manutenção de hardware e software e suporte para o provedor de nuvem. Isso permite que a empresa realoque os custos de operações de TI dos gastos com hardware / software e das despesas com pessoal, para cumprir outras metas. Além disso, com os aplicativos hospedados centralmente, as atualizações podem ser lançadas sem a necessidade de os usuários instalarem novos softwares. Uma desvantagem do SaaS é armazenar os dados dos usuários no servidor do provedor de nuvem. Como resultado, pode haver acesso não autorizado aos dados. Exemplos de aplicativos oferecidos como SaaS são jogos e software de produtividade como Google Docs e Word Online. Os aplicativos SaaS podem ser integrados com armazenamento em nuvem ou serviços de hospedagem de arquivos , que é o caso do Google Docs sendo integrado ao Google Drive e o Word Online sendo integrado ao Onedrive.

"Back-end" móvel como serviço (MBaaS)

No modelo de "back-end" como serviço (m) móvel, também conhecido como back-end como serviço (BaaS) , aplicativos da web e desenvolvedores de aplicativos móveis são fornecidos com uma maneira de vincular seus aplicativos a armazenamento em nuvem e serviços de computação em nuvem com programação de aplicativo interfaces (APIs) expostas aos seus aplicativos e kits de desenvolvimento de software (SDKs) personalizados. Os serviços incluem gerenciamento de usuários, notificações push , integração com serviços de redes sociais e muito mais. Este é um modelo relativamente recente em computação em nuvem, com a maioria das startups de BaaS datando de 2011 ou mais tarde, mas as tendências indicam que esses serviços estão ganhando força significativa entre os consumidores corporativos.

Computação sem servidor ou Function-as-a-Service (FaaS)

A computação sem servidor é um modelo de execução de código de computação em nuvem no qual o provedor de nuvem gerencia totalmente iniciar e parar máquinas virtuais conforme necessário para atender às solicitações, e as solicitações são cobradas por uma medida abstrata dos recursos necessários para satisfazer a solicitação, em vez de por máquina virtual, por hora. Apesar do nome, na verdade não envolve a execução de código sem servidores. A computação sem servidor tem esse nome porque a empresa ou pessoa que possui o sistema não precisa comprar, alugar ou fornecer servidores ou máquinas virtuais para a execução do código de back-end .

Função como serviço (FaaS) é uma chamada de procedimento remoto hospedada em serviço que aproveita a computação sem servidor para permitir a implantação de funções individuais na nuvem que são executadas em resposta a eventos. FaaS é considerado por alguns como pertencente à computação sem servidor , enquanto outros usam os termos de maneira intercambiável.

Modelos de implantação

Tipos de computação em nuvem

Nuvem privada

Nuvem privada é uma infraestrutura em nuvem operada exclusivamente para uma única organização, gerenciada internamente ou por terceiros, e hospedada interna ou externamente. A realização de um projeto de nuvem privada requer um envolvimento significativo para virtualizar o ambiente de negócios e requer que a organização reavalie as decisões sobre os recursos existentes. Isso pode melhorar os negócios, mas cada etapa do projeto levanta problemas de segurança que devem ser resolvidos para evitar vulnerabilidades graves. Os centros de dados auto-administrados geralmente exigem muito capital. Eles têm uma pegada física significativa, exigindo alocações de espaço, hardware e controles ambientais. Esses ativos devem ser atualizados periodicamente, resultando em despesas de capital adicionais. Eles têm atraído críticas porque os usuários "ainda precisam comprar, construir e gerenciá-los" e, portanto, não se beneficiam de um gerenciamento menos prático, essencialmente "[sem] o modelo econômico que torna a computação em nuvem um conceito tão intrigante".

Nuvem pública

Os serviços em nuvem são considerados "públicos" quando são fornecidos pela Internet pública e podem ser oferecidos como uma assinatura paga ou gratuitamente. Em termos de arquitetura, existem poucas diferenças entre os serviços de nuvem pública e privada, mas as preocupações com a segurança aumentam substancialmente quando os serviços (aplicativos, armazenamento e outros recursos) são compartilhados por vários clientes. A maioria dos provedores de nuvem pública oferece serviços de conexão direta que permitem aos clientes vincular com segurança seus data centers legados a seus aplicativos residentes na nuvem.

Vários fatores, como a funcionalidade das soluções, custo , aspectos integracionais e organizacionais , bem como segurança e proteção, estão influenciando a decisão de empresas e organizações de escolher uma solução em nuvem pública ou local .

Nuvem híbrida

A nuvem híbrida é uma composição de uma nuvem pública e um ambiente privado, como uma nuvem privada ou recursos locais, que permanecem entidades distintas, mas estão unidos, oferecendo os benefícios de vários modelos de implantação. Nuvem híbrida também pode significar a capacidade de conectar serviços de colocação, gerenciados e / ou dedicados com recursos de nuvem. O Gartner define um serviço de nuvem híbrida como um serviço de computação em nuvem que é composto de alguma combinação de serviços de nuvem privada, pública e comunitária, de diferentes provedores de serviços. Um serviço de nuvem híbrida atravessa os limites do isolamento e do provedor para que não possa ser simplesmente colocado em uma categoria de serviço de nuvem privado, público ou comunitário. Permite estender a capacidade ou a capacidade de um serviço em nuvem, por agregação, integração ou customização com outro serviço em nuvem.

Existem diversos casos de uso para composição de nuvem híbrida. Por exemplo, uma organização pode armazenar dados confidenciais do cliente internamente em um aplicativo de nuvem privada, mas interconectar esse aplicativo a um aplicativo de inteligência de negócios fornecido em uma nuvem pública como um serviço de software. Este exemplo de nuvem híbrida estende os recursos da empresa para fornecer um serviço de negócios específico por meio da adição de serviços de nuvem pública disponíveis externamente. A adoção da nuvem híbrida depende de vários fatores, como segurança de dados e requisitos de conformidade, nível de controle necessário sobre os dados e os aplicativos que uma organização usa.

Outro exemplo de nuvem híbrida é aquele em que as organizações de TI usam recursos de computação em nuvem pública para atender às necessidades de capacidade temporárias que não podem ser atendidas pela nuvem privada. Esse recurso permite que as nuvens híbridas empreguem o bursting de nuvem para escalar entre as nuvens. O bursting de nuvem é um modelo de implantação de aplicativo no qual um aplicativo é executado em uma nuvem privada ou datacenter e "explode" para uma nuvem pública quando a demanda por capacidade de computação aumenta. A principal vantagem do bursting de nuvem e de um modelo de nuvem híbrida é que uma organização paga por recursos de computação extras apenas quando eles são necessários. O bursting de nuvem permite que os data centers criem uma infraestrutura de TI interna que suporte cargas de trabalho médias e usem recursos de nuvem de nuvens públicas ou privadas durante picos nas demandas de processamento. O modelo especializado de nuvem híbrida, que é construído sobre hardware heterogêneo, é chamado de "Nuvem Híbrida de plataforma cruzada". Uma nuvem híbrida de plataforma cruzada geralmente é alimentada por diferentes arquiteturas de CPU, por exemplo, x86-64 e ARM, por baixo. Os usuários podem implantar e dimensionar aplicativos de forma transparente sem conhecimento da diversidade de hardware da nuvem. Esse tipo de nuvem surge com o surgimento do sistema em chip baseado em ARM para computação de classe de servidor.

A infraestrutura de nuvem híbrida serve essencialmente para eliminar as limitações inerentes às características de retransmissão multiacesso da rede de nuvem privada. As vantagens incluem flexibilidade de tempo de execução aprimorada e processamento de memória adaptável exclusivo para modelos de interface virtualizada.

Outros

Nuvem da comunidade

A nuvem comunitária compartilha infraestrutura entre várias organizações de uma comunidade específica com preocupações comuns (segurança, conformidade, jurisdição, etc.), seja gerenciada internamente ou por terceiros, e hospedada interna ou externamente. Os custos são distribuídos entre menos usuários do que uma nuvem pública (mas mais do que uma nuvem privada), portanto, apenas parte do potencial de economia de custos da computação em nuvem é realizada.

Nuvem distribuída

Uma plataforma de computação em nuvem pode ser montada a partir de um conjunto distribuído de máquinas em diferentes locais, conectadas a uma única rede ou serviço de hub. É possível distinguir entre dois tipos de nuvens distribuídas: computação de recursos públicos e nuvem voluntária.

  • Computação de recursos públicos - esse tipo de nuvem distribuída resulta de uma definição ampla de computação em nuvem, porque são mais semelhantes à computação distribuída do que à computação em nuvem. No entanto, é considerado uma subclasse da computação em nuvem.
  • Nuvem voluntária - A computação em nuvem voluntária é caracterizada como a interseção de computação de recursos públicos e computação em nuvem, onde uma infraestrutura de computação em nuvem é construída usando recursos voluntários. Muitos desafios surgem com esse tipo de infraestrutura, devido à volatilidade dos recursos usados ​​para construí-la e ao ambiente dinâmico em que opera. Também pode ser chamada de nuvens ponto a ponto ou nuvens ad-hoc. Um esforço interessante nesse sentido é o Cloud @ Home, que visa implementar uma infraestrutura de computação em nuvem utilizando recursos voluntários proporcionando um modelo de negócio para incentivar contribuições por meio de restituições financeiras.

Multi nuvem

Multi nuvem é o uso de vários serviços de computação em nuvem em uma única arquitetura heterogênea para reduzir a dependência de fornecedores únicos, aumentar a flexibilidade por meio da escolha, mitigar desastres, etc. É diferente da nuvem híbrida porque se refere a vários serviços de nuvem, em vez de vários modos de implantação (público, privado, legado).

Nuvem poli

A nuvem Poly se refere ao uso de várias nuvens públicas com o objetivo de alavancar serviços específicos que cada provedor oferece. Ele difere da nuvem múltipla porque não foi projetado para aumentar a flexibilidade ou mitigar falhas, mas é usado para permitir que uma organização alcance mais do que poderia ser feito com um único provedor.

Nuvem de big data

Os problemas de transferência de grandes quantidades de dados para a nuvem, bem como a segurança dos dados, uma vez que os dados estão na nuvem, inicialmente dificultaram a adoção da nuvem para big data , mas agora que muitos dados se originam na nuvem e com o advento de servidores bare-metal , a nuvem se tornou uma solução para casos de uso, incluindo análise de negócios e análise geoespacial .

Nuvem HPC

Nuvem HPC refere-se ao uso de serviços e infraestrutura de computação em nuvem para executar aplicativos de computação de alto desempenho (HPC). Esses aplicativos consomem uma quantidade considerável de capacidade de computação e memória e são tradicionalmente executados em clusters de computadores. Em 2016, um punhado de empresas, incluindo R-HPC, Amazon Web Services , Univa , Silicon Graphics International , Sabalcore, Gomput e Penguin Computing ofereceu uma nuvem de computação de alto desempenho. A nuvem Penguin On Demand (POD) foi um dos primeiros serviços HPC remotos não virtualizados oferecidos com pagamento conforme o uso . A Penguin Computing lançou sua nuvem HPC em 2016 como alternativa ao EC2 Elastic Compute Cloud da Amazon, que usa nós de computação virtualizados.

Arquitetura

Arquitetura de amostra de computação em nuvem

Arquitetura de nuvem , a arquitetura de sistemas dos sistemas de software envolvidos na entrega de computação em nuvem, normalmente envolve vários componentes de nuvem que se comunicam entre si por meio de um mecanismo de acoplamento fraco, como uma fila de mensagens. A provisão elástica implica inteligência no uso de acoplamento forte ou frouxo aplicado a mecanismos como esses e outros.

Engenharia de nuvem

A engenharia em nuvem é a aplicação dasdisciplinas de engenharia da computação em nuvem. Traz uma abordagem sistemática para as preocupações de alto nível de comercialização, padronização e governança na concepção, desenvolvimento, operação e manutenção de sistemas de computação em nuvem. É um método multidisciplinar que engloba contribuições de diversas áreas como sistemas , software , web , performance , engenharia de tecnologia da informação , segurança , plataforma , risco eengenharia da qualidade .

Segurança e privacidade

A computação em nuvem apresenta preocupações de privacidade porque o provedor de serviços pode acessar os dados que estão na nuvem a qualquer momento. Ele pode acidental ou deliberadamente alterar ou excluir informações. Muitos provedores de nuvem podem compartilhar informações com terceiros, se necessário para fins de lei e ordem, sem um mandado. Isso é permitido em suas políticas de privacidade, com as quais os usuários devem concordar antes de começarem a usar os serviços em nuvem. As soluções de privacidade incluem política e legislação, bem como as escolhas dos usuários finais sobre como os dados são armazenados. Os usuários podem criptografar dados que são processados ​​ou armazenados na nuvem para evitar o acesso não autorizado. Os sistemas de gerenciamento de identidade também podem fornecer soluções práticas para questões de privacidade na computação em nuvem. Esses sistemas distinguem entre usuários autorizados e não autorizados e determinam a quantidade de dados que é acessível a cada entidade. Os sistemas funcionam criando e descrevendo identidades, registrando atividades e eliminando identidades não utilizadas.

De acordo com a Cloud Security Alliance, as três principais ameaças na nuvem são Interfaces e APIs inseguras , Perda e vazamento de dados e Falha de hardware - responsáveis ​​por 29%, 25% e 10% de todas as interrupções de segurança na nuvem, respectivamente. Juntos, eles formam vulnerabilidades de tecnologia compartilhadas. Em uma plataforma de provedor de nuvem compartilhada por diferentes usuários, pode haver a possibilidade de que informações pertencentes a diferentes clientes residam no mesmo servidor de dados. Além disso, Eugene Schultz , diretor de tecnologia da Emagined Security, disse que os hackers estão gastando muito tempo e esforço procurando maneiras de penetrar na nuvem. "Existem alguns calcanhares de Aquiles reais na infraestrutura da nuvem que estão abrindo grandes buracos para os bandidos entrarem". Como os dados de centenas ou milhares de empresas podem ser armazenados em grandes servidores em nuvem, os hackers podem, teoricamente, obter controle de enormes armazenamentos de informações por meio de um único ataque - um processo que ele chamou de "hyperjacking". Alguns exemplos disso incluem a violação de segurança do Dropbox e o vazamento do iCloud 2014. O Dropbox foi violado em outubro de 2014, tendo mais de 7 milhões de senhas de usuários roubadas por hackers em um esforço para obter valor monetário dele por Bitcoins (BTC). Por ter essas senhas, eles podem ler dados privados , bem como fazer com que esses dados sejam indexados por mecanismos de busca (tornando as informações públicas).

Existe o problema da propriedade legal dos dados (se um usuário armazena alguns dados na nuvem, o provedor de nuvem pode lucrar com isso?). Muitos acordos de Termos de Serviço não falam sobre a questão de propriedade. O controle físico do equipamento de informática (nuvem privada) é mais seguro do que ter o equipamento fora do local e sob o controle de outra pessoa (nuvem pública). Isso oferece um grande incentivo aos provedores de serviços de computação em nuvem pública para priorizar a construção e manutenção de um gerenciamento sólido de serviços seguros. Algumas pequenas empresas que não têm experiência em segurança de TI podem achar que é mais seguro usar uma nuvem pública. Existe o risco de que os usuários finais não entendam os problemas envolvidos ao assinar um serviço em nuvem (as pessoas às vezes não leem as muitas páginas do contrato de termos de serviço e apenas clicam em "Aceitar" sem ler). Isso é importante agora que a computação em nuvem está se tornando popular e necessária para que alguns serviços funcionem, por exemplo, para um assistente pessoal inteligente ( Siri da Apple ou Google Now ). Fundamentalmente, a nuvem privada é vista como mais segura com níveis mais altos de controle para o proprietário; no entanto, a nuvem pública é vista como mais flexível e requer menos investimento de tempo e dinheiro do usuário.

Limitações e desvantagens

De acordo com Bruce Schneier , "A desvantagem é que você terá opções de personalização limitadas. A computação em nuvem é mais barata por causa da economia de escala e - como qualquer tarefa terceirizada - você tende a conseguir o que deseja. Um restaurante com um menu limitado é mais barato do que um chef pessoal que pode cozinhar o que você quiser. Menos opções a um preço muito mais barato: é um recurso, não um bug. " Ele também sugere que "o provedor de nuvem pode não atender às suas necessidades legais" e que as empresas precisam pesar os benefícios da computação em nuvem e os riscos. Na computação em nuvem, o controle da infraestrutura de back-end é limitado apenas ao fornecedor da nuvem. Os provedores de nuvem geralmente decidem sobre as políticas de gerenciamento, que moderam o que os usuários da nuvem são capazes de fazer com sua implantação. Os usuários da nuvem também estão limitados ao controle e gerenciamento de seus aplicativos, dados e serviços. Isso inclui limites de dados , que são colocados nos usuários da nuvem pelo fornecedor da nuvem, alocando uma certa quantidade de largura de banda para cada cliente e muitas vezes são compartilhados entre outros usuários da nuvem.

Privacidade e confidencialidade são grandes preocupações em algumas atividades. Por exemplo, tradutores juramentados que trabalham sob as estipulações de um NDA podem enfrentar problemas relacionados a dados confidenciais que não são criptografados . Devido ao uso da internet, informações confidenciais, como dados de funcionários e dados do usuário, podem ser facilmente disponibilizadas para organizações terceirizadas e pessoas em Cloud Computing.

A computação em nuvem é benéfica para muitas empresas; ele reduz os custos e permite que eles se concentrem na competência em vez de em questões de TI e infraestrutura. No entanto, a computação em nuvem provou ter algumas limitações e desvantagens, especialmente para operações de negócios menores, principalmente em relação à segurança e tempo de inatividade. As interrupções técnicas são inevitáveis ​​e ocorrem às vezes quando os provedores de serviços em nuvem (CSPs) ficam sobrecarregados no processo de servir seus clientes. Isso pode resultar na suspensão temporária dos negócios. Como os sistemas dessa tecnologia dependem da Internet, um indivíduo não pode acessar seus aplicativos, servidor ou dados da nuvem durante uma interrupção.

Tendências emergentes

A computação em nuvem ainda é um assunto de pesquisa. Um fator determinante na evolução da computação em nuvem tem sido os diretores de tecnologia que buscam minimizar o risco de interrupções internas e mitigar a complexidade da rede de hospedagem e do hardware de computação interno. Eles também procuram compartilhar informações com funcionários localizados em diversas áreas em tempo quase real e em tempo real, para permitir que as equipes trabalhem sem problemas, independentemente de onde estejam. Desde a pandemia global de 2020, afirma-se que a popularidade da tecnologia em nuvem aumentou devido ao nível de segurança dos dados e à flexibilidade das opções de trabalho para todos os funcionários, principalmente os remotos. Por exemplo, o Zoom cresceu mais de 160% somente em 2020.

Análise forense digital na nuvem

A questão de realizar investigações onde os dispositivos de armazenamento em nuvem não podem ser fisicamente acessados ​​gerou uma série de mudanças na forma como as evidências digitais são localizadas e coletadas. Novos modelos de processo foram desenvolvidos para formalizar a coleta.

Em alguns cenários, as ferramentas forenses digitais existentes podem ser empregadas para acessar o armazenamento em nuvem como unidades de rede (embora este seja um processo lento que gera uma grande quantidade de tráfego da Internet).

Uma abordagem alternativa é implantar uma ferramenta que processa na própria nuvem.

Para organizações que usam o Office 365 com uma assinatura 'E5', há a opção de usar os recursos de e-discovery integrados da Microsoft, embora eles não forneçam todas as funcionalidades normalmente necessárias para um processo forense.

Veja também

Referências

Leitura adicional

links externos