Você está na página 1de 47

Prazer,

computao em nuvem!
Diogo Tavares da Silva
contato: tavareko@gmail.com

Um pouco sobre mim

Bacharel em Cincia da Computao (2012)


UNESP-IBILCE
Bolsista IC CNPq
2010-2011 e 2011-2012
Mestre em Cincia da Computao (2015)
PPGCC da UNESP
Bolsista CNPq
2013-2015

Membro do GSPD desde 2009


Grupo de Sistemas Paralelos e Distribudos
Linhas de pesquisa
Sistemas Distribudos
Flexa (SAD)
Simulao de Sistemas
RTsim ( Tempo real)
YASC ( gerador de simuladores)
iSPD ( grid e cloud computing)

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,

convenientemente, o acesso, por meio de rede, sob


demanda, a um arranjo compartilhado de recursos
computacionais configurveis (rede, servidores,
armazenamento, aplicaes, servios) que podem
ser rapidamente providos e liberados com o mnimo
esforo de gerenciamento ou interao do provedor
de servio

Origem do termo nuvem


Metfora para internet

Origem do termo computao


em nuvem
Relatrio de negcios da empresa Compaq (1996)
Discutia o oferecimento de servios de software
atravs da internet

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

Medio e pagamento por utilizao


Elasticidade
Estrutura configurvel
amplo acesso

Computao em nuvem: Soma


de esforos
Conceito exposto em 1961
Tecnologias existentes incapazes de
implementar esse modelo futurista
Anos 2000
Avanos de diversas tecnologias permitiram o
surgimento da computao em nuvem

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

Virtual Infrastructure Manager (VIM)


Controla os VMMs individuais
Cria VMs, dimensiona e seleciona onde
sero alocadas em quais recursos fsicos
balanceamento de carga, etc.

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

Gostei! Quero brincar disso!


A grande maioria dos provedores de nuvem so
pagos :(
Mas praticamente todos oferecem verses de teste
gratutas :)
Alguns exemplos a seguir...

Gostei! Quero brincar disso!


Google Cloud Platform

Gostei! Quero brincar disso!


Amazon Web Services

Gostei! Quero brincar disso!


Windows Azure

Gostei! Quero brincar disso!


Outros
Joyent
GoGrid
HP Public Cloud
CloudSigma
Dimension Data
...

Mo na massa
Executando
Computing

instncias

da

Amazon

Elastic