prazer, computação em nuvem

48
Prazer, computação em nuvem! Diogo Tavares da Silva contato: [email protected]

Upload: faculdade-barretos

Post on 22-Jan-2018

321 views

Category:

Technology


1 download

TRANSCRIPT

Prazer, computação em nuvem!

Diogo Tavares da Silvacontato: [email protected]

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