Cloud computing: O que é computação em nuvem?
Qualquer pessoa que não tenha condições ou não queira montar um centro de dados próprio pode recorrer à computação em nuvem (cloud computing). Essa tecnologia de computação atrai tanto usuários privados quanto empresas de todos os tamanhos, pelas vantagens que oferece. Entenda o que diferencia a computação em nuvem das demais tecnologias existentes, e conheça seus prós e contras.
O que é cloud computing?
Montar o próprio centro de dados (data center) é demorado e caro, pois você precisará contratar uma equipe especializada para configurá-lo e cuidar da manutenção dele. Além disso, centros de dados próprios não possuem a flexibilidade necessária para se expandirem juntamente com o aumento da demanda. Assim, geralmente há que se adquirir recursos adicionais, além dos necessários, para garantir o espaço de armazenamento de um momento futuro, o que não é o cenário mais barato e nem o mais eficiente.
A computação em nuvem não tem esses problemas, pois ela permite que seus usuários utilizem recursos da internet para armazenar dados, que passam a ser hospedados por um provedor — antes de ela surgir, todos eram obrigados a comprar, configurar e manter centros de dados próprios. Todos os usuários da computação em nuvem, tanto privados quanto corporativos, podem aproveitar os benefícios da economia de escala e da possibilidade de dimensionar capacidades dinamicamente, de forma fácil e imediata. Na maioria das vezes, contratos de terceirização de data centers adotam modelos de contrato de aluguel mensal ou anual.
Importante destacar que os serviços oferecidos pela computação em nuvem não se limitam ao armazenamento em nuvem — no armazenamento em nuvem, usuários alugam capacidades de armazenamento em servidores remotos, além de possuírem capacidades de armazenamento próprias em disco rígido. Serviços de cloud computing também oferecem infraestruturas em nuvem, para que empresas possam usufruir de centros de dados completos, simplesmente acessando-os pela internet.
De acordo com o National Institute of Standards and Technology (NIST), para que sejam considerados de computação em nuvem, serviços devem ter essas características:
- Self-service sob demanda: Serviços de cloud computing devem permitir que seus usuários solicitem os recursos de que precisam de forma direta, sem que seja necessário entrar em contato com um atendente a cada nova solicitação.
- Amplo acesso à rede: Usuários devem obter acesso aos serviços de computação em nuvem pela internet, sem que nenhum protocolo ou tecnologia adicional seja exigido. A padronização do acesso visa garantir que todos os usuários consigam acessar os serviços contratados sem contratempos.
- Agrupamento de recursos: Combinar várias instâncias de computação é praticamente obrigatório na computação em nuvem. Geralmente, instâncias são agrupadas em farms de servidores ou em pools, utilizados para disponibilizar poder de processamento e capacidade de armazenamento ao mesmo tempo e para todos os usuários. Na prática, esses usuários acessam recursos computacionais sem conhecer o dispositivo físico que está sendo utilizado, já que as capacidades são alocadas dinamicamente, sob demanda.
- Elasticidade rápida: Capacidades devem ser fornecidas com rapidez, logo que forem demandadas. Nos melhores cenários, mecanismos automáticos devem ativar e desativar recursos espontaneamente, sem que funcionários precisem intervir nos processos.
- Serviço medido: Uso e capacidade de armazenamento disponibilizados pelo serviço em nuvem contratado devem ser constantemente monitorados e exibidos de forma transparente, tanto para os usuários quanto para o próprio provedor.
Assim como uma usina de energia é o centro de uma rede elétrica, um grande centro de dados ou farm de servidores é o centro da computação em nuvem. Ela conecta computadores ou servidores entre si, agrupando seus recursos para alcançar um alto desempenho — princípio da computação em grade (grid computing). Combinadas a tecnologias de virtualização, instâncias virtuais individuais podem ser criadas separadamente para cada usuário de uma rede. Os usuários, por sua vez, nem precisam ficar sabendo em que dispositivo físico os seus arquivos estão de fato armazenados, uma vez que essa informação não afeta o acesso ao centro de dados.
Empresas de médio e grande porte optam pela nuvem da Alemanha. Serviços IaaS e PaaS são para campeões.
- Seguro
- Confiável
- Flexível
Tipos de computação em nuvem
Hoje em dia, o mercado oferece diferentes possibilidades de cloud computing. Para além de variações de preço e do nível de suporte especializado, as ofertas diferem, principalmente, nos modelos disponibilizados. O escopo desses modelos baseia-se em camadas, que variam de acordo com os recursos oferecidos.
Modelo de camadas
Em um modelo de camadas, cada camada corresponde a um nível de serviço oferecido. Assim, cada camada “como serviço” descreve o escopo de uma oferta, geralmente apresentado em formato piramidal. Enquanto o modelo Infraestrutura como Serviço oferece o maior escopo possível, o modelo Software como Serviço é bem mais específico.
- Infraestrutura como Serviço (IaaS): Na camada Infrastructure-as-a-Service, o provedor de cloud computing oferece soluções completas de hardware, que abrangem desempenho do processador, espaço de armazenamento e tecnologia de rede. Aqui, as instâncias utilizadas pelos usuários são totalmente virtuais e distribuídas pelo pool de recursos. A IaaS pode servir de base para outras camadas, mas também pode ser contratada como serviço único.
- Plataforma como Serviço (PaaS): Voltada principalmente para desenvolvedores de softwares, a camada Platform-as-a-Service avança um pouco mais por oferecer não somente o hardware, mas o ambiente de desenvolvimento completo em nuvem, em um hardware hospedado. Dessa forma, programadores não precisam se preocupar em configurar e manter o ambiente.
- Software como Serviço (SaaS): A camada Software-as-a-Service é considerada a mais alta delas, já que oferece um software completo em nuvem aos seus usuários. Por essa característica, o SaaS é voltado principalmente para usuários finais comuns, que não precisam se preocupar nem com a instalação e nem com a manutenção do software. De quebra, eles ainda têm a certeza de que o desempenho do hardware contratado sempre será suficiente para rodar o software com tranquilidade. Para obterem acesso a ele, usuários devem usar o navegador ou o programa específico do provedor dos serviços de cloud computing.
- Tudo como Serviço (XaaS): Além dessas três principais, outras camadas podem ser propagandeadas por provedores de serviços em nuvem. Entretanto, diferentes nomenclaturas não passam de jogadas de marketing. Everything-as-a-Service, por exemplo, pode sempre ser encaixado em outra camada ou, muitas vezes, nem tem a ver com computação em nuvem. Humans-as-a-Service (HuaaS), por exemplo, nada mais é que uma forma de crowdsourcing: fenômeno em que um grupo de pessoas se reúne pela internet, para desenvolver aplicações ou criar conteúdo.
Modelos de provisão
Um modelo de provisão descreve como os serviços de cloud computing serão fornecidos pelo provedor. Ele esclarece, por exemplo, se as instâncias disponibilizadas serão reservadas a um único usuário ou empresa, ou se o pool será compartilhado com outros usuários. São estes os principais modelos de provisão:
- Nuvem privada: Nesse modelo de provisão, servidores contratados são exclusivamente utilizados pelo usuário ou empresa contratante. Uma nuvem privada pode, mas não tem a obrigação de ser local (nuvem interna). Ao oferecer serviços de nuvem privada, provedores de hospedagem com farms de servidores também podem disponibilizar hardwares exclusivos aos usuários.
- Nuvem comunitária: Uma nuvem comunitária funciona de forma semelhante a uma nuvem privada. Contudo, nesse modelo de provisão, usuários compartilham uma mesma instância de hardware dedicado, por ser economicamente mais interessante do que contratar uma nuvem privada. A combinação de usuários não é feita de forma aleatória: geralmente, usuários do mesmo campo de negócios ou com interesses semelhantes são diretamente agrupados. Nuvens comunitárias também podem ser gerenciadas tanto localmente quanto externamente por uma empresa.
- Nuvem pública: Esse modelo de provisão corresponde à ideia original de cloud computing: disponibilizar uma rede de servidores compartilhados ao público em geral. Na nuvem pública, usuários não conseguem saber que hardware utilizam e nem os escolher.
- Nuvem híbrida: Trata-se de um modelo de provisão que oferece tanto recursos de nuvem privada quanto de nuvem pública. Ao contratar esse tipo de serviço, uma pessoa ou empresa pode decidir alocar parte de suas operações (por exemplo, aquelas relacionadas à segurança) à nuvem privada e utilizar a nuvem pública para operar outras partes.
Vantagens e desvantagens da computação em nuvem
Serviços de cloud computing oferecem interessantes benefícios, especialmente para empresas de pequeno e médio porte, já que montar a própria infraestrutura de TI é caro e trabalhoso: ela inclui tanto a compra de equipamentos, como de servidores, quanto a contratação de funcionários especializados para a execução das constantes manutenções. Além disso, idealmente um centro de dados deve ser capaz de se expandir juntamente com o aumento das demandas da empresa, o que não é possível na computação tradicional. Ao manter centros de dados físicos, empresas são obrigadas a investir em hardwares com capacidades de computação além das necessárias, para garantir que estes tenham a força necessária para assumir as demandas futuras.
Além de ser escalável, a computação em nuvem oferece outras vantagens. Farms de servidores profissionais, como os oferecidos por provedores de nuvem, costumam ser bem mais seguros que servidores gerenciados por empresas. Equipes de segurança protegem as instalações contra acessos físicos indesejados enquanto outros especialistas protegem os servidores contra ataques virtuais. Provedores possuem até brigadas de incêndio, preparadas para agir caso os servidores profissionais venham a correr algum risco físico que possa comprometer os dados armazenados.
A computação em nuvem, por outro lado, também tem desvantagens. Algumas empresas relutam em utilizar esse tipo de serviço para não se tornarem dependentes de terceiros, nesse caso, do provedor de cloud computing. Caso o provedor contratado decida eventualmente deixar o mercado, por exemplo, seus usuários terão de enfrentar essa situação delicada. Ainda, o acesso a servidores em nuvem requer uma conexão com a internet. Assim, para que possam trabalhar, todos os funcionários têm de estar conectados.
O que mais impede empresas de migrarem para a computação em nuvem é, contudo, preocupações quanto à proteção de dados. Embora provedores de cloud computing disponham de importantes recursos de segurança, transferências pela internet sempre correm algum tipo de risco. Outras empresas se preocupam com a localização física dos centros de dados, uma vez que estes são obrigados a obedecer somente as leis locais. Mesmo que contratados por usuários no Brasil, data centers localizados nos Estados Unidos, por exemplo, são regidos pelo Patriot Act. O decreto obriga provedores a repassar dados armazenados às autoridades competentes, caso sejam solicitados. Vulnerabilidades como essas justificam certa relutância.
Vantagens da computação em nuvem
- Não incorre em custos de aquisição.
- Não compromete o capital.
- Dimensionável de acordo com a demanda.
- Não exige a contratação de uma equipe própria especializada.
- Os centros de dados são mantidos em segurança.
Desvantagens da computação em nuvem
- Requer uma conexão estável e rápida com a internet.
- Levanta questões relativas à proteção de dados.
- Depende de um provedor (aprisionamento tecnológico).
- Transmissões de dados sempre têm um risco de segurança.
- Preços comparativamente baixos podem levar você a contratar mais serviços do que os necessários.
História da computação em nuvem
Conectar computadores em rede para oferecer maiores capacidades de computação e armazenamento aos usuários não é uma ideia nova. O primeiro passo em direção à computação em nuvem foi dado na década de 1950, com os mainframes. Naquela época, usuários podiam acessar o computador mainframe por meio de terminais dentro de uma organização (empresas ou universidades), para fazer uso de suas capacidades combinadas. No início, porém, o tempo de computação era compartilhado e tinha de ser reservado por cada usuário, para que pudesse obter o desempenho necessário do mainframe durante a realização de seus cálculos.
Nas décadas seguintes, processos de virtualização foram desenvolvidos, para que instâncias de computação pudessem ser recriadas de forma abstrata, puramente virtual. Com o advento da internet, ambientes virtualizados foram finalmente disponibilizados on-line, ao público em geral. A partir da década de 1990, modelos de cloud computing passaram a ser comercializados, para números cada vez maiores de usuários.
Naquela época, o termo nuvem começou a se popularizar. No entanto, foi somente na virada do milênio que empresas e indivíduos se interessaram mais por essa tecnologia. As primeiras ofertas de serviços de nuvem eram básicas e consistiam em espaços de armazenamento para o compartilhamento de arquivos ou documentos do Google, para que vários usuários pudessem trabalhar em um mesmo documento. Nesse mesmo período, a Amazon também passou a disponibilizar seus enormes farms de servidores para terceiros, pelo Amazon Web Services (AWS). Ele permite que outras empresas usem a infraestrutura da gigante do comércio eletrônico e executem nela seus próprios softwares.
Atualmente, a computação em nuvem é parte integrante da vida de grande parte das pessoas. A maioria dos smartphones e dispositivos com IoT (Internet das Coisas) está em constante contato com a nuvem: quando usuários tiram uma foto com a câmera do próprio celular, essa mesma imagem é automaticamente carregada na nuvem da Apple ou do Google, para que possa ser igualmente acessada por outros dispositivos.