INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Computação em Nuvem –
Contextualização e Definições
ROTEIRO
• O que é Computação em Nuvem?
• História
• Componentes
• Modelos de Serviços
• Implantação de Serviços na Nuvem
• Aplicações
O que é computação em nuvem
• Computação distribuída sobre a Internet ou entrega de serviços
computacionais sobre a Internet
• Exemplo: Gmail, Yahoo, Hotmail
• Ao invés de executar um serviço de e-mail local (em seu
computador)
● Você loga em uma conta de e-mail via Web
● O software que gerencia os seus e-mails não reside localmente
na sua máquina, mas é disponibilizado como serviço
● Você envia e-mail, apaga e-mail, restaura e-mail, etc.
O que é computação em nuvem
• É uma tecnologia de computação que utiliza a Internet e servidores
remotos interligados via uma estrutura de comunicação para
armazenar dados e hospedar aplicações que podem ser
acessíveis, utilizando protocolos e padrão da WWW (World Wide
Web)
História
• As primeiras iniciativas a respeito do escopo de computação como
serviços é oriunda do que se chamava na época de RJE
● RJE → Remote Job Entry Process
• Em 2006, a Amazon disponibilizou a primeira nuvem pública para
processar jobs (aplicações) para o público em geral
● Mediante pagamento do uso de recursos computacionais (rede,
disco, memória, CPU) como serviços
Evolução das tecnologias
• Computação em Grade
● Resolução de problemas complexos com processamento paralelo
• Computação Utilitária
● Oferecimento de recursos computacionais como serviços medidos
• Computação como Serviço
● Assinaturas baseadas em rede para aplicativos
Componentes da Computação em Nuvem
• Clientes
● Dispositivos que são usados pelos usuários para interagir com os
servidores presentes do Data Center
● Tipos: Thin Client / Móveis
• Servidores Distribuídos
● São os hardwares (compostos de CPU, Memória, Discos) que em geral
estão geograficamente distribuídos para permitir escalar aplicações para
diferentes clientes e países.
• Data Centers
● Coleção de servidores distribuídos, em que a aplicação é armazenada
e pode ser acessada por meio de protocolos padronizados da WWW
Modelos de Serviços
• SaaS
● De uma forma transparente, o software/aplicação que o usuário
utiliza ou deseja implantar, faz uso dos sistemas operacionais
virtualizados e de toda a infraestrutura de comunicação e de
processamento
• PaaS
● Middlewares e sistemas operacionais, em conjunto com a
infraestrutura de comunicação
• IaaS
● Provisão em geral de rede de comunicação e hardware para
processamento e armazenamento de dados
Implantação de Serviços na Nuvem
• Nuvem Pública
● Permite que os sistemas e os serviços sejam acessados pelo
público em geral, o que tende a deixá-la menos segura por conta
da abertura ao público
• Nuvem Privada
● Permite que os sistemas e os serviços sejam acessados dentro de
uma organização, o que faz dela, a princípio, um ambiente mais
seguro para executar e acessar os serviços
Implantação de Serviços na Nuvem
• Nuvem Comunitária
● Permite que os sistemas e os serviços sejam acessados por um
grupo de organizações
• Nuvem Híbrida
● É um misto de nuvem pública e privada. No entanto, as atividades
críticas são feitas utilizando a nuvem privada enquanto as não
críticas são realizadas utilizando a nuvem pública
Características Importantes
• Faz uso de APIs (Application Programming Interfaces)
• Independente de localização e de dispositivos
• Faz uso de tecnologias de virtualização
• Confiabilidade
• Manutenção
• Segurança
• Desempenho
• Agilidade para propor novas soluções
• Serviço sob demanda
• Pagamento pelo serviço utilizado (recursos alocados)
Fatores que reforçam a Computação em Nuvem
• Aumento da capacidade de processamento dos processadores
modernos
• Tecnologia de virtualização
• Armazenamento distribuído de dados
• Gerenciamento automatizado de aplicações e da infraestrutura
• Acesso mais barato à conexão de Internet
• Servidores mais baratos e acessíveis para serem utilizados para
executar aplicações
Aplicações na Nuvem
• Por que o conceito de Nuvem Computacional é tão utilizado e
popular atualmente?
● Reduz a complexidade da rede de comunicação
● Reduz a compra de licenças de software
● Possibilidade de customização de hardware
● Aumenta a escalabilidade, confiabilidade
● Diminui as chances de se ter dados perdidos/corrompidos, pois
eles são armazenados em grandes conglomerados que focam na
segurança do armazenamento, na replicação dos dados, no
armazenamento eficiente e em políticas eficientes de backup
Aplicações na Nuvem
• SaaS
● Office365, Dropbox, Google Drive, OneDrive, etc
• PaaS
● Google App Engine
● Amazon EC2
● Microsoft Azure
• IaaS
● Rackspace
● Amazon EC2
Computação em Nuvem – Visão do Usuário
• SaaS
● Aplicação
● Vantagens:Utilizar um software específico sem se preocupar com
manutenção de servidores e custos de desenvolvimento
• PaaS
● Sistemas operacionais, linguagens de programação, ambientes de
execução, bancos de dados, servidores Web.
● Vantagens: Utilizar uma plataforma de nuvem segura e executar
sua aplicação sem o custo e a complexidade de comprar e
gerenciar hardware e software
Computação em Nuvem – Visão do Usuário
• IaaS
● Hardware, máquinas virtuais, storages e rede
● Vantagens: Utilizar uma infraestrutura segura por um período de
tempo. Sem custo de manutenção de hardware. Possibilidade de
escalar o hardware para mais ou menos recursos desejáveis.
Computação em Nuvem – Visão do Desenvolvedor
• É uma extensão de modelos distribuídos de desenvolvimento
de software
● O software é composto de componentes de terceiros, que se ligam
por meio de APIs
● A execução do software ocorre de maneira distribuída em diversos
hosts/computadores/servidores
● A propriedade é distribuída entre diversas organizações
● Geralmente, o código fonte não está disponível para componentes
de terceiros
REFERÊNCIAS
∙ https://www.nist.gov/programs-projects/nist-cloud-computing-
program-nccp
∙ https://www.oracle.com/us/dm/powering-generation-278787.pdf
∙ https://www.vmware.com/pdf/virtualization.pdf
INFRAESTRUTURA PARA
SISTEMAS DE SOFTWARE
Computação em Nuvem –
Contextualização e Definições