O que é computação em nuvem? Uma visão geral da nuvem

Um guia para computação em nuvem e como ela beneficia a empresa moderna

Kev Zettler Kev Zettler

Resumo: A computação em nuvem é a entrega de recursos computacionais pela internet. Ele oferece economia de custos, escalabilidade, alto desempenho, economias de escala e muito mais. Para muitas empresas, uma migração na nuvem tem relação direta com a modernização de dados e de TI.

Quando a frase “a nuvem” começou a aparecer pela primeira vez no início dos anos 2000, ela tinha um quê de esotérico. A ideia de acessar recursos de computação a partir de outro lugar que não fosse uma infraestrutura de TI no local (o céu?) parecia ficção científica. A realidade era muito mais profunda e mudou para sempre a tecnologia e como conduzimos negócios.

O que é computação em nuvem?

A computação em nuvem é a entrega de recursos de computação — incluindo armazenamento, poder de processamento, bancos de dados, redes, análises, inteligência artificial e aplicativos de software — pela internet (nuvem). Ao terceirizar esses recursos, as empresas podem acessar os ativos computacionais de que precisam, quando precisarem, sem ter que comprar e manter uma infraestrutura de TI física no local. Assim você tem recursos flexíveis, inovação mais rápida e economias de escala. Para muitas empresas, uma migração na nuvem tem relação direta com a modernização de dados e de TI.

Características da computação em nuvem

Antes da computação em nuvem, as organizações compravam e mantinham uma infraestrutura de TI no local. Embora a economia de custos tenha gerado grande parte da mudança inicial para a nuvem, muitas organizações acham que a infraestrutura de nuvem pública, privada ou híbrida oferece uma série de benefícios.

Para equipes ágeis e de DevOps, a computação em nuvem oferece a capacidade de simplificar e acelerar o processo de desenvolvimento.

Veja a seguir uma lista de características que definem a computação em nuvem.

Autoatendimento sob demanda

Os provedores de computação em nuvem oferecem APIs que os usuários acessam para solicitar novos recursos ou escalam recursos existentes sempre que necessário. As equipes podem automatizar seu provisionamento de infraestrutura de forma simples, com as ferramentas de infraestrutura como código semelhantes ao Terraform e Ansible.

Amplo acesso à rede

A localização do hardware físico é uma preocupação significativa ao dar a experiência ideal para o usuário final. A computação em nuvem oferece uma enorme vantagem ao oferecer hardware físico de distribuição global, o que possibilita às organizações fazer o provisionamento estratégico hardware direcionado à localização.

Pooling de recursos

Os recursos de computação em uma plataforma de infraestrutura de nuvem são dinamicamente divididos e alocados sob demanda. Como as máquinas físicas de um host de nuvem são provisionadas dinamicamente e compartilhadas entre vários locatários, o hardware de nuvem é todo otimizado para o uso máximo.

Elasticidade rápida

O crescimento e a diminuição das infraestruturas de nuvem podem ser dinâmicos, permitindo que os usuários solicitem a escalabilidade automática dos seus recursos computacionais de acordo com as demandas de tráfego. A elasticidade pode acontecer baseada em cada máquina, onde uma alocação de recursos aumenta para maximizar os recursos disponíveis da máquina, ou com base em várias máquinas, em que um aplicativo é escalado automaticamente para máquinas de várias redes.

Serviço medido

Os provedores de infraestrutura de nuvem disponibilizam métricas de uso detalhadas que são usadas para comunicar os custos de uso. Por exemplo, o Amazon Web Services (AWS) oferece uso para cada categoria de serviço em itens de linha por hora ou por dia. Os provedores de serviços em nuvem em geral aceitam um modelo de faturamento pago conforme o uso de utilitário, que é medido e entregue, de modo que os clientes são cobrados pela quantidade exata de recursos de computação usados.

Tipos de implementações na nuvem

Existem três tipos principais de implementações na nuvem. Cada um tem benefícios únicos e as organizações muitas vezes se beneficiam com o uso de mais de um.

Nuvem pública

As nuvens públicas oferecem recursos de computação — servidores, armazenamento, aplicativos etc. — através da Internet a partir de um fornecedor de serviços na nuvem, como AWS e Microsoft Azure. Os provedores de nuvem são os proprietários e operadores de todo o hardware, software e outras infraestruturas de suporte.

Nuvem privada

Uma nuvem privada se trata de recursos de computação dedicados exclusivamente a uma organização. Ela pode estar fisicamente localizada no data center local de uma organização ou hospedada por um provedor de nuvem. Uma nuvem privada oferece um nível mais alto de segurança e privacidade do que as nuvens públicas, oferecendo recursos dedicados às empresas.

Os clientes de nuvem privada obtêm os principais benefícios de uma nuvem pública, incluindo autoatendimento, escalabilidade e elasticidade, mas com o benefício adicional de controle e personalização adicionais. Além disso, as nuvens privadas podem ter um nível mais alto de segurança e privacidade porque estão alojadas em redes privadas não acessíveis ao tráfego público.

Nuvem híbrida

As nuvens híbridas são uma combinação de nuvens privadas e públicas (por exemplo, IBM Hybrid Cloud, da plataforma Red Hat), conectadas com tecnologia que permite que dados e aplicativos funcionem juntos. Serviços e aplicativos confidenciais podem ser mantidos na nuvem privada segura, enquanto servidores web acessíveis ao público e pontos de extremidade voltados para o cliente podem ficar na nuvem pública. Os provedores de nuvem terceirizados mais populares oferecem um modelo de nuvem híbrida, permitindo que os usuários combinem nuvens privadas e públicas para satisfazer suas necessidades. Assim as empresas podem ter uma maior flexibilidade para implementar os requisitos de infraestrutura específicos de sua aplicação.

Serviços de computação em nuvem

IaaS, PaaS, Diagrama de SaaS

As propriedades dinâmicas da computação em nuvem estabelecem a base para novos serviços de nível superior. Esses serviços podem ajudar não apenas a complementar, mas muitas vezes oferecer os serviços necessários para equipes ágeis e de DevOps.

Infraestrutura como serviço

Infraestrutura como serviço (IaaS) é uma camada de serviço de nuvem fundamental que permite que as organizações aluguem infraestrutura de TI — servidores, armazenamento, redes, sistemas operacionais — de um provedor de nuvem. O IaaS permite que os usuários reservem e provisionem os recursos de que precisam dos armazéns de servidores físicos brutos. Além disso, o IaaS permite que os usuários reservem máquinas pré-configuradas para tarefas especializadas, como balanceadores de carga, bancos de dados, servidores de e-mail e filas distribuídas.

As equipes de DevOps podem usar o IaaS como uma plataforma subjacente a partir da qual criar uma cadeia de ferramentas de DevOps, que pode incluir o uso de várias ferramentas de terceiros.

Plataforma como serviço

A plataforma como serviço (PaaS) é uma infraestrutura de nuvem construída em IaaS que oferece recursos para criar ferramentas e aplicativos de nível de usuário. Ela disponibiliza a infraestrutura subjacente, incluindo recursos de computação, rede e armazenamento, bem como ferramentas de desenvolvimento, sistemas de gerenciamento de banco de dados e middleware.

A PaaS utiliza a IaaS para alocar automaticamente os recursos necessários para habilitar uma pilha de tecnologia baseada em linguagem. Pilhas de tecnologia de linguagem populares são as pilhas Ruby On Rails, Java Spring MVC, MEAN e JAM. Os clientes da PaaS podem então simplesmente carregar um artefato de seu código de aplicativo que é implementado automaticamente na infraestrutura da PaaS. Este é um fluxo de trabalho inovador e poderoso que permite que as equipes se concentrem completamente em seu código de aplicativo de negócios específico e não se preocupem com questões de hospedagem e infraestrutura. A PaaS lida automaticamente com a escalabilidade e o monitoramento da infraestrutura para aumentar ou reduzir recursos com cargas de tráfego observadas.

Software como serviço

O Software como serviço (SaaS) oferece aplicativos de software pela internet, sob demanda e normalmente por assinatura. Os provedores de nuvem hospedam e gerenciam o aplicativo, abordando upgrades de software e correções de segurança conforme necessário. Exemplos de SaaS são sistemas de CRM, aplicativos de webmail, ferramentas de produtividade como Jira e Confluence, ferramentas de análise, ferramentas de monitoramento, aplicativos de bate-papo e muito mais.

Função como serviço

A Função como serviço (FaaS) é um serviço de computação em nuvem que oferece uma plataforma onde os clientes podem desenvolver, executar e gerenciar aplicativos. Ela alivia a necessidade de os desenvolvedores criarem e manterem a infraestrutura necessária para desenvolver e lançar um aplicativo. Os provedores de nuvem oferecem recursos de nuvem, executam um bloco de código, retornam o resultado e destroem os recursos que foram usados.

Benefícios da computação em nuvem

As propriedades únicas das infraestruturas de nuvem proporcionam vários novos benefícios técnicos e comerciais. A seguir estão os principais benefícios da computação em nuvem para equipes ágeis.

Custo reduzido

As equipes que usam recursos de nuvem não precisam comprar seus próprios ativos de hardware. Além dos custos de hardware, os provedores de nuvem fazem o possível para maximizar e otimizar o uso de hardware. Assim os recursos de hardware e computação são transformados em mercadoria, e os provedores de nuvem competem para oferecer os resultados mais baixos.

Aumento da escalabilidade

Como a computação em nuvem é elástica por padrão, as organizações podem usar a escalabilidade dos recursos de acordo com a demanda. A computação em nuvem habilita os recursos de escalonamento automático para equipes. Os aplicativos na nuvem podem reduzir e aumentar automaticamente seus recursos de infraestrutura em resposta a picos de tráfego.

Melhor desempenho

A computação em nuvem oferece os melhores e mais recentes recursos computacionais. Os usuários podem acessar as máquinas mais recentes com CPUs extremas com vários núcleos projetadas para tarefas pesadas de processamento paralelo. Além disso, os principais provedores de nuvem oferecem máquinas de hardware de GPU e TPU de ponta para intensas tarefas gráficas, matriciais e de processamento de inteligência artificial. Esses provedores de nuvem se atualizam consistentemente com a mais recente tecnologia de processador.

Os principais provedores de computação em nuvem têm locais de hardware distribuídos globalmente que garantem conexões de alto desempenho, dependendo do local de conexão física. Além disso, os provedores de nuvem oferecem redes globais de entrega de conteúdo que armazenam em cache solicitações de usuários e conteúdo por local.

Velocidade de execução melhorada

As equipes que usam infraestruturas de nuvem podem executar e agregar valor a seus clientes com mais rapidez. As equipes de software ágil podem aproveitar uma infraestrutura de nuvem para criar rapidamente novas máquinas virtuais para experimentar e validar ideias exclusivas e automatizar as fases de teste e implementação do pipeline.

Maior segurança

A hospedagem em nuvem privada oferece infraestrutura isolada com firewall que melhora a segurança. Além disso, os provedores de nuvem oferecem muitos mecanismos e tecnologias de segurança para ajudar a criar aplicativos seguros. O controle de acesso do usuário é uma importante preocupação de segurança, e a maioria dos provedores de nuvem oferece ferramentas para limitar o acesso granular do usuário.

Entrega e integração contínuas

Integração contínua e entrega contínua (CI/CD) é uma prática fundamental para os profissionais de DevOps que ajuda a aumentar a velocidade da equipe e reduzir o tempo de colocação no mercado. O CI/CD baseado na nuvem, como o Bitbucket Pipelines, permite que as equipes criem, testem e implementem códigos automaticamente, sem se preocupar com o gerenciamento ou manutenção da infraestrutura de integração contínua. O Bitbucket Pipelines conta com contêineres do Docker para oferecer isolamento e reprodutibilidade do pipeline da versão. As equipes podem executar comandos semelhantes como em uma máquina local, mas com todas as vantagens de uma configuração nova e reprodutível para cada build.

Monitoramento abrangente e gerenciamento de incidentes

As implementações na nuvem permitem que as equipes conectem suas ferramentas de ponta a ponta, facilitando o monitoramento de todas as partes do pipeline. O monitoramento abrangente é outro recurso fundamental para as organizações que praticam DevOps, pois permite que elas resolvam problemas e incidentes mais rápido. Os provedores de nuvem compartilham métricas sobre a integridade do sistema, incluindo CPU de aplicativos e servidores, memória, taxa de solicitação, taxa de erro, tempo médio de resposta etc. Por exemplo, monitorar a carga em muitas máquinas virtuais permite que as equipes adicionem mais capacidade (VMs) se houver aumento na demanda, ou automatizem a escalabilidade (crescente/decrescente) com base nessas métricas para reduzir a intervenção humana e os custos. Leia mais sobre o monitoramento de DevOps.

Conclusão…

A computação em nuvem oferece recursos de computação avançados disponíveis sob demanda, que são dimensionados conforme necessário, com atualizações regulares e sem a necessidade de comprar e manter uma infraestrutura local. Com a computação em nuvem, as equipes ficam mais eficientes e reduzem o tempo de colocação no mercado à medida que podem adquirir e escalar serviços com rapidez, sem o esforço considerável que requer o gerenciamento de uma infraestrutura tradicional no local. Veja as ofertas de nuvem da Atlassian.