Casos de uso da nuvem

Concluído

Com a rápida evolução das tecnologias de nuvem, novos casos de uso surgem todos os dias. Nesta seção, vamos discutir alguns dos casos de uso mais comuns e atraentes para a nuvem e apresentar alguns exemplos reais.

Aplicativos Web e móveis

Um importante propulsor da computação em nuvem vem da hospedagem na Web. Sites e aplicativos Web normalmente são hospedados em um servidor com uma conexão de Internet dedicada. Os serviços de hospedagem na Web mais antigos forneciam servidores dedicados aos clientes ou forneciam uma fração de um sistema UNIX maior a vários clientes. Agora, com o surgimento da computação em nuvem, aplicativos Web e móveis podem ser criados com base nos serviços existentes de IaaS, PaaS e até mesmo SaaS.

  • Com base em SaaS: usando o modelo de SaaS, as organizações podem implantar aplicativos genéricos na Web. Exemplos comuns incluem Webmail, sites de redes sociais e sites de utilidade pública, como organizadores pessoais, calendários e planejadores.

  • Com base em PaaS: os desenvolvedores de aplicativos podem usar uma variedade de plataformas e ferramentas online para criar aplicativos móveis e PaaS. As plataformas como o Google App Engine, Parse e AppScale são plataformas populares nas quais aplicativos Web e móveis podem ser criados.

  • Com base em IaaS: os aplicativos que precisam de ainda mais personalização e flexibilidade podem adotar o modelo de IaaS alugando máquinas virtuais de provedores como EC2 e Rackspace e implantar uma pilha de software totalmente personalizada para executar o aplicativo Web.

Considere os seguintes cenários:

  • Animoto, um criador de apresentações de slides em vídeo online, decidiu implantar um aplicativo do Facebook. Houve aumento do tráfego para o serviço, o que fez a Animoto aumentar de 50 para 3.500 servidores em 3 dias. Essa escalabilidade elástica tornou-se possível por meio da computação em nuvem.

  • As lojas de varejo online que usam computação em nuvem, como Amazon e Target.com, foram capazes de dimensionar a infraestrutura para atividades de pico (como o dia seguinte ao de Ação de Graças). A Salesforce.com hospeda clientes que têm de 2 estações a mais de 20.000 estações, todas usando a mesma plataforma Web.

A Domino's Pizza conta com uma combinação de serviços fornecidos pelo Azure e pela AWS para que seus negócios funcionem. Por exemplo, ela usa o Serviço de Aplicativo do Azure e o Azure Cosmos DB – ambos serviços PaaS – para os pedidos online e o rastreamento de entrega, permitindo que ela escale verticalmente para cima e para baixo conforme a necessidade de atender à demanda. A Domino's também usa o Microsoft Dynamics ERP baseado em SaaS para atender às suas necessidades de planejamento de recursos corporativos1.

Análise de Big Data

Muitas organizações precisam lidar com grandes volumes de dados. Esses dados podem se originar em áreas como sensores, experimentos, dados transacionais e atividade de página da Web. O processamento de Big Data normalmente exige muitos recursos computacionais e de armazenamento, mas, dependendo das necessidades de uma organização, pode ser periódico ou sazonal. Por exemplo, a Amazon pode ter trabalhos de análise e business intelligence programados para o fim do dia, o que pode exigir algumas horas de algumas centenas de servidores. Nesses cenários, a computação em nuvem faz sentido porque esses recursos podem ser adquiridos sob demanda. Muitas empresas têm até mesmo pipelines de análise totalmente automatizados que coletam, analisam e armazenam dados automaticamente, com recursos sendo provisionados sob demanda. Os exemplos de cenários de Big Data incluem:

  • A Union Pacific Railroad monta termômetros infravermelhos, microfones e scanners de ultrassom ao longo de seus trilhos. Esses sensores examinam cada trem que passa pelos trilhos e envia leituras para os datacenters da ferrovia, na qual o software que faz a correspondência de padrões identifica o equipamento em risco de falha.

  • Os varejistas tradicionais, como o Walmart, estão seguindo os passos dos varejistas online, como a Amazon, analisando os hábitos de gasto do consumidor para produzir campanhas de marketing e ofertas personalizadas a clientes individuais.

  • Empresas como a Time Warner e a Comcast estão usando Big Data para acompanhar os hábitos de consumo de mídia de seus assinantes e fornecer informações de valor agregado aos anunciantes e clientes. O setor de videogame rastreia os hábitos de jogabilidade de milhões de proprietários de console. Empresas como a Riot Games analisam 500 GB de dados estruturados e mais de 4 TB de logs operacionais todos os dias.

A nuvem também tem um papel na análise oferecendo implementações gerenciadas de ferramentas populares, como Apache Hadoop e Apache Spark, que podem estar prontas para uso em questão de minutos e, subsequentemente, excluídas quando não são mais necessárias. Comprar, implantar e configurar um cluster Spark pode levar meses e requer grande experiência. Com a nuvem e com serviços como o Azure Databricks e Databricks no AWS, os clusters provisionados com a versão mais recente do Spark podem ser implantados com alguns cliques de botão.

Computação de alto desempenho sob demanda

A ciência moderna não é possível sem HPC (computação de alto desempenho). Além da experimentação física, a simulação baseada em computador se tornou popular em campos que vão da astrofísica e mecânica quântica à oceanografia e bioquímica. Essas cargas de trabalho são computacionalmente exigentes e normalmente são executadas em clusters dedicados ou em instalações de supercomputação.

Os cientistas estão cada vez mais em busca da nuvem para atender à necessidade de recursos HPC. Para uso de HPC, a AWS, o Azure e o GCP oferecem máquinas virtuais extremamente potentes com CPUs mais rápidas e GPUs de ponta. Para os cientistas, a disponibilidade de amplo poder computacional é atraente, especialmente para pequenos projetos ou análise com prazos apertados, como execuções experimentais antes do envio de prazos para trabalhos de pesquisa. Os exemplos de HPC na nuvem incluem:

  • Um cluster EC2 da instância 3.809 foi configurado pela Cycle Computing, Inc. para uma empresa farmacêutica para realização de trabalhos de modelagem molecular. O cluster tem um total de 30.472 núcleos, 26,7 TB de RAM e 2 PB de armazenamento em disco.

  • Empresas como a Pfizer, Unilever, Spiral Genetics, Integrated Proteomics Applications e Bioproximity executam cargas de trabalho bioinformáticas e genômicas nas instâncias do Amazon EC2.

  • A NASA JPL usa instâncias do Amazon EC2 de alto desempenho para processar imagens satélite de alta resolução.

Em 2015, a empresa de serviços financeiros e gerenciamento de riscos Willis Watson juntou-se à Microsoft para implantar um cluster HPC contendo 100.000 núcleos e o usou para calcular o custo de fornecer seguro a todas as pessoas no mundo2. Todo o processo, desde o provisionamento até o download dos resultados, levou menos de 12 horas. Em uma CPU de núcleo único, o mesmo trabalho levaria quase 20 anos para ser realizado.

Armazenamento e arquivamento online

Um dos importantes recursos que está disponível por meio da computação em nuvem é o armazenamento. De soluções de armazenamento pessoal, como o Dropbox, a sistemas de armazenamento na Internet em larga escala, como o Amazon S3, o armazenamento online é o principal caso de uso da computação em nuvem. As opções de armazenamento online incluem:

  • Armazenamento de objetos baseado na Web: serviços como o Amazon S3 e o Armazenamento do Microsoft Azure permitem que os usuários armazenem terabytes de dados como objetos simples que podem ser acessados por HTTP. Muitos sites usam o Amazon S3 e o Armazenamento do Microsoft Azure para armazenar conteúdo estático, como imagens.

  • Backup e recuperação: serviços como CrashPlan e Carbonite fornecem backup online de dados do cliente, que é uma ótima opção como uma solução de backup externa e segura.

  • Streaming de mídia e distribuição de conteúdo: serviços como o Amazon CloudFront e a CDN do Azure não só armazenam grandes quantidades de dados, mas auxiliam na distribuição de conteúdo. As solicitações para efetuar pull de dados do CloudFront são roteadas automaticamente para o servidor mais próximo, diminuindo assim a latência para mídia em que o tempo é essencial, como vídeos.

  • Armazenamento pessoal: serviços como Dropbox e Google Drive são populares entre os usuários para armazenar documentos pessoais online e acesso a qualquer momento, em qualquer lugar.

Método RAD e teste

Uma das principais vantagens da nuvem é a capacidade de implantar e testar aplicativos rapidamente. Um ambiente inteiro de computação pode ser implantado em questão de minutos e, em seguida, desligado e descartado assim que os testes forem concluídos. Para muitas empresas, o valor está em permitir que os desenvolvedores criem rapidamente aprimoramentos e recursos e os testem sem qualquer risco. O hardware e os servidores especializados não precisam ser solicitados e instalados. Em alguns minutos, um servidor virtual pode ser ativado no Amazon EC2, nas Máquinas Virtuais do Azure ou no Google Compute Engine. Os aplicativos também podem ser facilmente testados para estresse/carga. Os servidores existentes também podem ser clonados para executar estudos de escalabilidade.

A nuvem também está impulsionando investimentos em DevOps, aumentando a capacidade da organização de fornecer software em menos tempo, mas com maior qualidade. As organizações criam pipelines de DevOps que incluem servidores de compilação virtual acoplados aos repositórios de código-fonte baseados em nuvem. Os desenvolvedores verificam as alterações de código no repositório, o que dispara uma compilação automática em um processo conhecido como CI (integração contínua). Outro recurso do DevOps é a CD (entrega contínua), na qual as compilações atualizadas são testadas e distribuídas automaticamente para um ambiente de preparo ou de produção. Os produtos como AWS CodePipeline, AWS CodeBuild e Azure DevOps permitem esses tipos de cenários, e estão se tornando rapidamente o backbone do processo de desenvolvimento de software em grandes e pequenas empresas.

Machine Learning e Inteligência Artificial

O ML (Machine Learning) e o subconjunto de ML conhecido como IA (Inteligência Artificial) estão melhorando a vida de várias pessoas todos os dias. As empresas de cartão de crédito usam modelos de ML/IA para verificação de fraude em tempo real; os varejistas usam para atrair clientes com compras adicionais e na previsão de demanda; linguistas usam para interpretação em tempo real; os restaurantes usam para melhorar a qualidade dos alimentos3; e os pesquisadores usam para analisar os indicadores de câncer no genoma humano4.

O treinamento de modelos ML/IA frequentemente exige enormes quantidades de capacidade de processamento. Um exemplo é a CNN (rede neural convolucional), que se destaca em tarefas que envolvem a visão do computador, por exemplo, determinar se a foto contém uma imagem de um cão ou um gato. Esses modelos são normalmente treinados com lotes de imagens que incluem bilhões de pixels, e com frequência, contêm 100 ou mais camadas. Treinar uma CNN desse tamanho é impraticável em um único computador, mas é realizada de forma relativamente eficiente em um cluster HPC equipado com GPUs para facilitar o processamento paralelo.

Uma tendência recente na computação em nuvem tem provedores disponibilizando ML e IA como serviços SaaS. Por exemplo, com o Serviço de Visão Personalizada do Azure você pode treinar uma rede neural para discriminar entre as fotos de gatos e de cachorros em questão de minutos e praticamente sem custo. Veja alguns exemplos específicos de empresas que usam serviços de ML e IA baseados em nuvem para melhorar seus processos de negócios:

  • A Expedia usa serviços de machine learning alimentados pelo mecanismo de recomendações da AWS para simplificar o processo de reserva de hotéis5.

  • A BP (British Petroleum) usa o Azure Machine Learning para melhorar sua capacidade de prever fatores de recuperação, a porcentagem de hidrocarbonetos que podem ser extraídos de um depósito subterrâneo, para reservatórios potenciais de petróleo e gás6.

  • A iGenius combinou as APIs de aprendizado de máquina do Cloud AI do Google com o Google App Engine para criar o primeiro consultor de marketing digital do mundo7.

A explosão na pesquisa, investimento, avanços e aplicativos de ML e IA nos últimos anos é atribuível principalmente à computação em nuvem, que gera a grande quantidade de potência computacional necessária para treinar novos modelos e aprimorar os já existentes à disposição dos pesquisadores de grandes e pequenas instituições.

Referências

  1. Microsoft (2017). Azure's Platform as a Service is the pepperoni on the pizza for Domino's. https://news.microsoft.com/en-au/features/azures-platform-service-pepperoni-pizza-dominos/

  2. Microsoft (2016). What would you do with 100,000 cores? - Big compute at global scale. https://azure.microsoft.com/blog/what-would-you-do-with-100000-cores-big-compute-at-global-scale/

  3. Tom's Guide (2019). Domino's Now Using AI and Cameras to Make 'Perfect' Pizzas

  4. Computational and Structural Biotechnology Journal (2015). Machine learning applications in cancer prognosis and prediction. https://www.sciencedirect.com/science/article/pii/S2001037014000464

  5. PhocusWire (2019). How Expedia is using deep learning to improve the hotel booking process. https://www.phocuswire.com/Expedia-Partner-Solutions-machine-learning

  6. Microsoft (2019). BP explores Azure AI to boost safety, increase efficiency, and drive business success. https://customers.microsoft.com/story/bp-mining-oil-gas-azure-machine-learning

  7. Google. iGenius: Creating crystal, the first virtual digital marketing advisor. https://cloud.google.com/customers/igenius/

Verificar seu conhecimento

1.

Qual dos seguintes cenários NÃO se presta a uma solução de computação em nuvem?