Beruflich Dokumente
Kultur Dokumente
computao em nuvem!
Diogo Tavares da Silva
contato: tavareko@gmail.com
Agenda
Introduo
Origem do termo e do conceito
Caractersticas
Tecnologias que permitiram a computao em
nuvem
Virtualizao
Modelos de Desenvolvimento
Classes de servio
Exemplos de servios de nuvem
Mo na massa (Se Murphy permitir!)
Introduo
Computao em nuvem (cloud computing)
Modelo de computao distribuida que oferece
recursos
computacionais
(processamento,
aplicaes, armazenamento) atravs da internet.
Modelo utilitrio
Paga-se pelo tempo/quantidade de recursos
utilizados
gua, energia eltrica, telefone, etc.
Introduo
Datacenters so projetados para suportar picos
tericos
Ficam ociosos na maior parte do tempo
amadurecimento de vrias tcnologias
permitiram se aproveitar desses recursos
subutilizados
Introduo
Vantajoso para usurios
Reduo dos gastos com infraestrutura fsica de
T.I
Vantajoso para provedores de servio
Infraestrutura permite atender ampla gama de
usurios com necessidades distintas
Introduo
Evoluo natural dos sistemas de computao
Sculo XX
Fbricas deixaram de ter estaes de energia
prprias para utilizar o sistema de rede
eltrica recm criado
Hoje
Empresas reduzem investimentos em recursos
computacionais prprios para utilizar servios
de computao em nuvem
Objetivos
Apresentar conceitos fundamentais sobre
computao em nuvem, para que ao fim desta
palestra, se possa ter uma viso abrangente sobre
esta tecnologia
Apresentar algumas ferramentas relacionadas a
esta tecnologia
Definio de Computao
em nuvem
NIST (National Institute of Standards and Technology)
... um modelo de negcio pay-per-use que permite,
Origem do conceito
Atribudo John McCarthy (1961)
A computao em tempo compartilhado pode
gerar no futuro um modelo de negcio em que
poder computacional e o uso de algumas
aplicaes sero comercializados de forma
utilitria, como ocorre com a gua ou a energia
eltrica, por exemplo.
Caractersticas
Autoatendimento
Soma de Esforos
Virtualizao de hardware
Conceito chave de computao em nuvem
Executar mltiplos S.O.s com pilhas de software
arbitrrias em uma mesma infraestrutura fsica.
Mquinas virtuais (VMs)
Virtualizao de hardware
Como funciona?
Camada de virtualizao entre o hardware e os
sistemas virtualizados
Virtual Machine Monitor (VMM) ou hypervisor
Controla o acesso das VMs aos recursos fsicos do
sistema
gerencia o acesso a dispositivos
controla o volume de recursos disponvel para
cada VM
Virtualizao de hardware
Virtualizao de hardware
Exemplos de VMMs
Oracle VirtualBox
vmware ESXi
Xen Project
KVM
...
Caractersticas da virtualizao
3 caractersticas da virtualizao tornaram essa
tecnologia atraente para seu uso em computao
em nuvem
Isolamento
Consolidao
Migrao
Virtualizao de hardware
Virtualizao de datacenters
Pacotes de software gerenciam o acesso de sistemas
virtualizados aos recursos (discos, processamento,
rede) dos elementos fsicos distribudos no sistema
Virtualizao de hardware
Exemplos de VIMs
vmware vSphere e vCloud
Eucaliptus
OpenStack
OpenNebula
Apache VLC
Ferramentas amplamente utilizadas para
implementao de nuvens privadas e pblicas.
Modelos de desenvolvimento
Modo como uma infraestrutura de nuvem pode ser
implementada.
esta classificao se refere aos seguintes atores:
Quem sero os usurios da nuvem?
Quem sero os provedores de servio?
Modelos de desenvolvimento
Nuvem pblica
Oferecer servios de computao em nuvem de
modo que qualquer indivduo ou organizao
possa utilizar
Paga-se pelo tempo/volume de recursos se
houver custos associados
Modelos de desenvolvimento
Servios de nuvem pblicas:
Google Cloud Platform
Amazon Web Services
Microsoft Azure Service Platform
...
Modelos de desenvolvimento
Nuvem privada
Consiste em prover uma infraestrutura de nuvem
para uma nica organizao, que agrupa um
conjunto de usurios
O provedor pode ser esta organizao ou um
terceiro
Modelos de desenvolvimento
Nuvem Comunitria
A infraestrutura de nuvem oferecida um
conjunto de organizaes, que podem possuir
interesses e metas em comum
O provedor pode ser uma das organizaes, um
consrcio entre elas ou um terceiro
Modelos de desenvolvimento
Nuvem hbrida
A infraestrutura de nuvem implementada
atravs da juno de dois ou mais modelos
anteriores
Comunicao realizada por padronizao
protocolos e formatos de dados
Balanceamento de carga
Implementa o conceio de intercloud (federao
de nuvens)
Nuvem de nuvens
Classes de servio
Os servios oferecidos pela computao em nuvem
so divididos tradicionalmente em trs classes de
servios:
IaaS (Infrastructure-as-a-Service)
PaaS (Platform-as-a-Service)
SaaS (Software-as-a-Service)
Infrastructure-as-a-Service
Busca oferecer toda infraestrutura de hardware
(processamento, armazenamento, rede, etc) para se
hospedar uma infraestrutura de software arbitrria
Configurao semelhante servidores fsicos
Configura-se um conjunto de intncias de VMs, e
instala-se a pilha de software desejada
Configuram-se as redes virtuais e critrios de
acesso
Infrastructure-as-a-Service
Exemplos de servios de IaaS
Google Compute Engine
Amazon Elastic Computing
Platform-as-a-Service
Esta classe de servio oferece plataformas de
desenvolvimento e hospedagem de aplicaes
A idia principal oferecer um ambiente onde o
programador no necessita preocupar-se com a
demanda de recursos utilizados pela sua aplicao
Padronizao de linguagens, protocolos,
ferramentas
Platform-as-a-Service
Exemplos
Google AppEngine
Java, Python, PHP, Go
Windows Azure Web Apps
.NET, Python, Java, Node.js, PHP
Software-as-a-Service
Esta classe de servio busca oferecer software de
uso rotineiro atravs de uma interface web
acessvel.
Vantajoso por reduzir a necessidade de manter
softwares instalados nos recursos fsicos
Classe de servio muito popular
Software-as-a-Service
Exemplos
Google Web Apps
Drive
Docs
Gmail
Hangouts
Microsoft Office 365
Aplicativos mobile
Software-as-a-Service
Conteinerizao
Alternativa mais leve e portvel que a virtualizao
completa
uso de contineres
aplicaes so empacotadas juntamente com
suas dependncias.
Portabilidade
A virtualizao ocorre no nvel de processos
Continer utiliza o kernel do sistema
hospedeiro
Conteinerizao
Exemplos de softwares de conteinerizao
LXC
Docker
Mo na massa
Executando
Computing
instncias
da
Amazon
Elastic