Prazer,
computaçãoemnuvem!
Diogo Tavares da Silva
contato: tavareko@gmail.com
Um pouco sobre mim…
● Bacharel em Ciência da Computação (2012)
○ UNESP-IBILCE
○ Bolsista IC CNPq
■ 2010-2011 e 2011-2012
● Mestre em Ciência da Computação (2015)
○ PPGCC da UNESP
○ Bolsista CNPq
■ 2013-2015
● Membro do GSPD desde 2009
● Grupo de Sistemas Paralelos e Distribuídos
○ Linhas de pesquisa
■ Sistemas Distribuídos
● Flexa (SAD)
■ Simulação de Sistemas
● RTsim ( Tempo real)
● YASC ( gerador de simuladores)
● iSPD ( grid e cloud computing)
● Introdução
● Origem do termo e do conceito
● Características
● Tecnologias que permitiram a computação em
nuvem
○ Virtualização
● Modelos de Desenvolvimento
● Classes de serviço
● Exemplos de serviços de nuvem
● Mão na massa (Se Murphy permitir!)
Agenda
● Computação em nuvem (cloud computing)
● Modelo de computação distribuida que oferece
recursos computacionais (processamento,
aplicações, armazenamento) sob demanda através
da internet.
○ Modelo utilitário
■ Paga-se pelo tempo/quantidade de recursos
utilizados
■ água, energia elétrica, telefone, etc.
Introdução
● Datacenters são projetados para suportar picos
teóricos
○ Ficam ociosos na maior parte do tempo
■ amadurecimento de várias técnologias
permitiram se aproveitar desses recursos
subutilizados
Introdução
● Vantajoso para usuários
○ Redução dos gastos com infraestrutura física de
T.I
● Vantajoso para provedores de serviço
○ Infraestrutura permite atender ampla gama de
usuários com necessidades distintas
Introdução
● Evolução natural dos sistemas de computação
○ Século XX
■ Fábricas deixaram de ter estações de energia
próprias para utilizar o sistema de rede
elétrica recém criado
○ Hoje
■ Empresas reduzem investimentos em recursos
computacionais próprios para utilizar serviços
de computação em nuvem
Introdução
● Apresentar conceitos fundamentais sobre
computação em nuvem, para que ao fim desta
palestra, se possa ter uma visão abrangente sobre
esta tecnologia
● Apresentar algumas ferramentas relacionadas a
esta tecnologia
Objetivos
● Metáfora para internet
Origem do termo “nuvem”
● Relatório de negócios da empresa Compaq (1996)
○ Discutia o oferecimento de serviços de software
através da internet
Origem do termo “computação
em nuvem”
● Atribuído à John McCarthy (1961)
○ A computação em tempo compartilhado pode
gerar no futuro um modelo de negócio em que
poder computacional e o uso de algumas
aplicações serão comercializados de forma
utilitária, como ocorre com a água ou a energia
elétrica, por exemplo.
Origem do conceito
● NIST (National Institute of Standards and Technology)
○ “... um modelo de negócio pay-per-use que permite,
convenientemente, o acesso, por meio de rede, sob
demanda, a um arranjo compartilhado de recursos
computacionais configuráveis (rede, servidores,
armazenamento, aplicações, serviços) que podem
ser rapidamente providos e liberados com o mínimo
esforço de gerenciamento ou interação do provedor
de serviço”
Definição de “Computação
em nuvem”
● Autoatendimento
● Medição e pagamento por utilização
● Elasticidade
● Estrutura configurável
● amplo acesso
Características
● Conceito exposto em 1961
○ Tecnologias existentes incapazes de
implementar esse modelo “futurista”
● Anos 2000
○ Avanços de diversas tecnologias permitiram o
surgimento da computação em nuvem
Computação em nuvem: Soma
de esforços
Soma de Esforços
● Conceito chave de computação em nuvem
● Executar múltiplos S.O.s com pilhas de software
arbitrárias em uma mesma infraestrutura física.
○ Máquinas virtuais (VMs)
Virtualização de hardware
● Como funciona?
○ Camada de virtualização entre o hardware e os
sistemas virtualizados
○ Virtual Machine Monitor (VMM) ou hypervisor
■ Controla o acesso das VMs aos recursos físicos do
sistema
● gerencia o acesso a dispositivos
● controla o volume de recursos disponível para
cada VM
Virtualização de hardware
Virtualização de hardware
● Exemplos de VMMs
○ Oracle VirtualBox
○ vmware ESXi
○ Xen Project
○ KVM
○ ...
Virtualização de hardware
● Exemplos de VMMs
○ Oracle VirtualBox
○ vmware ESXi
○ Xen Project
○ KVM
○ ...
Virtualização de hardware
● Alternativa mais leve e portável que a virtualização
completa
● uso de contêineres
○ aplicações são empacotadas juntamente com
suas dependências.
■ Portabilidade
○ A virtualização ocorre no nível de processos
■ Contêiner utiliza o kernel do sistema
hospedeiro
Virtualização x “Conteinerização”
● Exemplos de softwares de conteinerização
○ LXC
○ Docker
Virtualização x “Conteinerização”
● 3 características da virtualização tornaram essa
tecnologia atraente para seu uso em computação
em nuvem
○ Isolamento
○ Consolidação
○ Migração
Características da virtualização
● Pacotes de software gerenciam o acesso de sistemas
virtualizados aos recursos (discos, processamento,
rede) dos elementos físicos distribuídos no sistema
■ Virtual Infrastructure Manager (VIM)
● Controla os VMMs individuais
● Cria VMs, dimensiona e seleciona onde
serão alocadas em quais recursos físicos
● balanceamento de carga, etc.
Virtualização de datacenters
● Exemplos de VIMs
○ vmware vSphere e vCloud
○ Eucaliptus
○ OpenStack
○ OpenNebula
○ Apache VLC
● Ferramentas amplamente utilizadas para a
implementação de nuvens privadas e públicas.
Virtualização de hardware
● Modo como uma infraestrutura de nuvem pode ser
implementada.
● esta classificação se refere aos seguintes atores:
○ Quem serão os usuários da nuvem?
○ Quem serão os provedores de serviço?
Modelos de desenvolvimento
● Nuvem pública
○ Oferecer serviços de computação em nuvem de
modo que qualquer indivíduo ou organização
possa utilizar
■ Paga-se pelo tempo/volume de recursos se
houver custos associados
Modelos de desenvolvimento
● Serviços de nuvem públicas:
○ 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 organização, que agrupa um
conjunto de usuários
○ O provedor pode ser esta organização ou um
terceiro
Modelos de desenvolvimento
● Nuvem Comunitária
○ A infraestrutura de nuvem é oferecida à um
conjunto de organizações, que podem possuir
interesses e metas em comum
○ O provedor pode ser uma das organizações, um
consórcio entre elas ou um terceiro
Modelos de desenvolvimento
● Nuvem híbrida
○ A infraestrutura de nuvem é implementada
através da junção de dois ou mais modelos
anteriores
○ Comunicação realizada por padronização
protocolos e formatos de dados
○ Balanceamento de carga
○ Implementa o conceio de “intercloud” (federação
de nuvens)
■ Nuvem de nuvens
Modelos de desenvolvimento
● Os serviços oferecidos pela computação em nuvem
são divididos tradicionalmente em três classes de
serviços:
○ IaaS (Infrastructure-as-a-Service)
○ PaaS (Platform-as-a-Service)
○ SaaS (Software-as-a-Service)
Classes de serviço
● Busca oferecer toda infraestrutura de hardware
(processamento, armazenamento, rede, etc) para se
hospedar uma infraestrutura de software arbitrária
● Configuração semelhante à servidores físicos
● Configura-se um conjunto de intâncias de VMs, e
instala-se a pilha de software desejada
○ Configuram-se as redes virtuais e critérios de
acesso
Infrastructure-as-a-Service
● Exemplos de serviços de IaaS
○ Google Compute Engine
○ Amazon Elastic Computing
Infrastructure-as-a-Service
● Esta classe de serviço oferece plataformas de
desenvolvimento e hospedagem de aplicações
● A idéia principal é oferecer um ambiente onde o
programador não necessita preocupar-se com a
demanda de recursos utilizados pela sua aplicação
○ Padronização 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
Platform-as-a-Service
● Esta classe de serviço busca oferecer software de
uso rotineiro através de uma interface web
acessível.
● Vantajoso por reduzir a necessidade de manter
softwares instalados nos recursos físicos
● Classe de serviço muito popular
Software-as-a-Service
● Exemplos
○ Google Web Apps
■ Drive
■ Docs
■ Gmail
■ Hangouts
○ Microsoft Office 365
○ Aplicativos mobile
Software-as-a-Service
Software-as-a-Service
● A grande maioria dos provedores de nuvem são
pagos :(
● Mas praticamente todos oferecem versões de teste
gratuítas :)
○ Alguns exemplos a seguir...
Gostei! Quero brincar disso!
Gostei! Quero brincar disso!
● Google Cloud Platform
Gostei! Quero brincar disso!
● Amazon Web Services
Gostei! Quero brincar disso!
● Windows Azure
● Outros…
○ Joyent
○ GoGrid
○ HP Public Cloud
○ CloudSigma
○ Dimension Data
○ ...
Gostei! Quero brincar disso!
● Executando instâncias da Amazon Elastic
Computing
Mão na massa

Prazer, computação em nuvem

  • 1.
    Prazer, computaçãoemnuvem! Diogo Tavares daSilva contato: tavareko@gmail.com
  • 2.
    Um pouco sobremim… ● Bacharel em Ciência da Computação (2012) ○ UNESP-IBILCE ○ Bolsista IC CNPq ■ 2010-2011 e 2011-2012 ● Mestre em Ciência da Computação (2015) ○ PPGCC da UNESP ○ Bolsista CNPq ■ 2013-2015
  • 3.
    ● Membro doGSPD desde 2009 ● Grupo de Sistemas Paralelos e Distribuídos ○ Linhas de pesquisa ■ Sistemas Distribuídos ● Flexa (SAD) ■ Simulação de Sistemas ● RTsim ( Tempo real) ● YASC ( gerador de simuladores) ● iSPD ( grid e cloud computing)
  • 4.
    ● Introdução ● Origemdo termo e do conceito ● Características ● Tecnologias que permitiram a computação em nuvem ○ Virtualização ● Modelos de Desenvolvimento ● Classes de serviço ● Exemplos de serviços de nuvem ● Mão na massa (Se Murphy permitir!) Agenda
  • 5.
    ● Computação emnuvem (cloud computing) ● Modelo de computação distribuida que oferece recursos computacionais (processamento, aplicações, armazenamento) sob demanda através da internet. ○ Modelo utilitário ■ Paga-se pelo tempo/quantidade de recursos utilizados ■ água, energia elétrica, telefone, etc. Introdução
  • 6.
    ● Datacenters sãoprojetados para suportar picos teóricos ○ Ficam ociosos na maior parte do tempo ■ amadurecimento de várias técnologias permitiram se aproveitar desses recursos subutilizados Introdução
  • 7.
    ● Vantajoso parausuários ○ Redução dos gastos com infraestrutura física de T.I ● Vantajoso para provedores de serviço ○ Infraestrutura permite atender ampla gama de usuários com necessidades distintas Introdução
  • 8.
    ● Evolução naturaldos sistemas de computação ○ Século XX ■ Fábricas deixaram de ter estações de energia próprias para utilizar o sistema de rede elétrica recém criado ○ Hoje ■ Empresas reduzem investimentos em recursos computacionais próprios para utilizar serviços de computação em nuvem Introdução
  • 9.
    ● Apresentar conceitosfundamentais sobre computação em nuvem, para que ao fim desta palestra, se possa ter uma visão abrangente sobre esta tecnologia ● Apresentar algumas ferramentas relacionadas a esta tecnologia Objetivos
  • 10.
    ● Metáfora parainternet Origem do termo “nuvem”
  • 11.
    ● Relatório denegócios da empresa Compaq (1996) ○ Discutia o oferecimento de serviços de software através da internet Origem do termo “computação em nuvem”
  • 13.
    ● Atribuído àJohn McCarthy (1961) ○ A computação em tempo compartilhado pode gerar no futuro um modelo de negócio em que poder computacional e o uso de algumas aplicações serão comercializados de forma utilitária, como ocorre com a água ou a energia elétrica, por exemplo. Origem do conceito
  • 14.
    ● NIST (NationalInstitute of Standards and Technology) ○ “... um modelo de negócio pay-per-use que permite, convenientemente, o acesso, por meio de rede, sob demanda, a um arranjo compartilhado de recursos computacionais configuráveis (rede, servidores, armazenamento, aplicações, serviços) que podem ser rapidamente providos e liberados com o mínimo esforço de gerenciamento ou interação do provedor de serviço” Definição de “Computação em nuvem”
  • 15.
    ● Autoatendimento ● Mediçãoe pagamento por utilização ● Elasticidade ● Estrutura configurável ● amplo acesso Características
  • 16.
    ● Conceito expostoem 1961 ○ Tecnologias existentes incapazes de implementar esse modelo “futurista” ● Anos 2000 ○ Avanços de diversas tecnologias permitiram o surgimento da computação em nuvem Computação em nuvem: Soma de esforços
  • 18.
  • 19.
    ● Conceito chavede computação em nuvem ● Executar múltiplos S.O.s com pilhas de software arbitrárias em uma mesma infraestrutura física. ○ Máquinas virtuais (VMs) Virtualização de hardware
  • 20.
    ● Como funciona? ○Camada de virtualização entre o hardware e os sistemas virtualizados ○ Virtual Machine Monitor (VMM) ou hypervisor ■ Controla o acesso das VMs aos recursos físicos do sistema ● gerencia o acesso a dispositivos ● controla o volume de recursos disponível para cada VM Virtualização de hardware
  • 21.
  • 22.
    ● Exemplos deVMMs ○ Oracle VirtualBox ○ vmware ESXi ○ Xen Project ○ KVM ○ ... Virtualização de hardware
  • 23.
    ● Exemplos deVMMs ○ Oracle VirtualBox ○ vmware ESXi ○ Xen Project ○ KVM ○ ... Virtualização de hardware
  • 24.
    ● Alternativa maisleve e portável que a virtualização completa ● uso de contêineres ○ aplicações são empacotadas juntamente com suas dependências. ■ Portabilidade ○ A virtualização ocorre no nível de processos ■ Contêiner utiliza o kernel do sistema hospedeiro Virtualização x “Conteinerização”
  • 25.
    ● Exemplos desoftwares de conteinerização ○ LXC ○ Docker Virtualização x “Conteinerização”
  • 26.
    ● 3 característicasda virtualização tornaram essa tecnologia atraente para seu uso em computação em nuvem ○ Isolamento ○ Consolidação ○ Migração Características da virtualização
  • 27.
    ● Pacotes desoftware gerenciam o acesso de sistemas virtualizados aos recursos (discos, processamento, rede) dos elementos físicos distribuídos no sistema ■ Virtual Infrastructure Manager (VIM) ● Controla os VMMs individuais ● Cria VMs, dimensiona e seleciona onde serão alocadas em quais recursos físicos ● balanceamento de carga, etc. Virtualização de datacenters
  • 28.
    ● Exemplos deVIMs ○ vmware vSphere e vCloud ○ Eucaliptus ○ OpenStack ○ OpenNebula ○ Apache VLC ● Ferramentas amplamente utilizadas para a implementação de nuvens privadas e públicas. Virtualização de hardware
  • 29.
    ● Modo comouma infraestrutura de nuvem pode ser implementada. ● esta classificação se refere aos seguintes atores: ○ Quem serão os usuários da nuvem? ○ Quem serão os provedores de serviço? Modelos de desenvolvimento
  • 30.
    ● Nuvem pública ○Oferecer serviços de computação em nuvem de modo que qualquer indivíduo ou organização possa utilizar ■ Paga-se pelo tempo/volume de recursos se houver custos associados Modelos de desenvolvimento
  • 31.
    ● Serviços denuvem públicas: ○ Google Cloud Platform ○ Amazon Web Services ○ Microsoft Azure Service Platform ○ ... Modelos de desenvolvimento
  • 32.
    ● Nuvem privada ○Consiste em prover uma infraestrutura de nuvem para uma única organização, que agrupa um conjunto de usuários ○ O provedor pode ser esta organização ou um terceiro Modelos de desenvolvimento
  • 33.
    ● Nuvem Comunitária ○A infraestrutura de nuvem é oferecida à um conjunto de organizações, que podem possuir interesses e metas em comum ○ O provedor pode ser uma das organizações, um consórcio entre elas ou um terceiro Modelos de desenvolvimento
  • 34.
    ● Nuvem híbrida ○A infraestrutura de nuvem é implementada através da junção de dois ou mais modelos anteriores ○ Comunicação realizada por padronização protocolos e formatos de dados ○ Balanceamento de carga ○ Implementa o conceio de “intercloud” (federação de nuvens) ■ Nuvem de nuvens Modelos de desenvolvimento
  • 35.
    ● Os serviçosoferecidos pela computação em nuvem são divididos tradicionalmente em três classes de serviços: ○ IaaS (Infrastructure-as-a-Service) ○ PaaS (Platform-as-a-Service) ○ SaaS (Software-as-a-Service) Classes de serviço
  • 36.
    ● Busca oferecertoda infraestrutura de hardware (processamento, armazenamento, rede, etc) para se hospedar uma infraestrutura de software arbitrária ● Configuração semelhante à servidores físicos ● Configura-se um conjunto de intâncias de VMs, e instala-se a pilha de software desejada ○ Configuram-se as redes virtuais e critérios de acesso Infrastructure-as-a-Service
  • 37.
    ● Exemplos deserviços de IaaS ○ Google Compute Engine ○ Amazon Elastic Computing Infrastructure-as-a-Service
  • 38.
    ● Esta classede serviço oferece plataformas de desenvolvimento e hospedagem de aplicações ● A idéia principal é oferecer um ambiente onde o programador não necessita preocupar-se com a demanda de recursos utilizados pela sua aplicação ○ Padronização de linguagens, protocolos, ferramentas Platform-as-a-Service
  • 39.
    ● Exemplos ○ GoogleAppEngine ■ Java, Python, PHP, Go ○ Windows Azure Web Apps ■ .NET, Python, Java, Node.js, PHP Platform-as-a-Service
  • 40.
    ● Esta classede serviço busca oferecer software de uso rotineiro através de uma interface web acessível. ● Vantajoso por reduzir a necessidade de manter softwares instalados nos recursos físicos ● Classe de serviço muito popular Software-as-a-Service
  • 41.
    ● Exemplos ○ GoogleWeb Apps ■ Drive ■ Docs ■ Gmail ■ Hangouts ○ Microsoft Office 365 ○ Aplicativos mobile Software-as-a-Service
  • 42.
  • 43.
    ● A grandemaioria dos provedores de nuvem são pagos :( ● Mas praticamente todos oferecem versões de teste gratuítas :) ○ Alguns exemplos a seguir... Gostei! Quero brincar disso!
  • 44.
    Gostei! Quero brincardisso! ● Google Cloud Platform
  • 45.
    Gostei! Quero brincardisso! ● Amazon Web Services
  • 46.
    Gostei! Quero brincardisso! ● Windows Azure
  • 47.
    ● Outros… ○ Joyent ○GoGrid ○ HP Public Cloud ○ CloudSigma ○ Dimension Data ○ ... Gostei! Quero brincar disso!
  • 48.
    ● Executando instânciasda Amazon Elastic Computing Mão na massa