introduction to cloud computing

43
Eduardo de Lucena Falcão A solução vem da nuvem!

Upload: eduardo-de-lucena-falcao

Post on 17-Dec-2014

216 views

Category:

Documents


0 download

DESCRIPTION

Uma breve introdução ao Cloud Computing e principais serviços fornecidos pela AWS. Palestra para o Expo Empreender.

TRANSCRIPT

Page 1: Introduction to Cloud Computing

Eduardo de Lucena Falcão

A solução vem da nuvem!

Page 2: Introduction to Cloud Computing

Computação em Nuvem

Page 3: Introduction to Cloud Computing

Computação em Nuvem

● A ideia é que serviços básicos e essenciais são todos entregues de uma forma transparente

● Paradigmas:– Ideia antiga: Software como um Serviço (SaaS);

● Entrega de aplicações através da Internet.

– Recentemente: “[Hardware, Infraestrutura, Plataforma] como um serviço”

● “X como um serviço”

Page 4: Introduction to Cloud Computing

Computação em Nuvem

● “Accessibility as a Service”

Page 5: Introduction to Cloud Computing

Computação em Nuvem

● Nuvem [Buyya et al. 2009]– É uma metáfora para a Internet ou infraestrutura de

comunicação entre os componentes arquiteturais, baseada em uma abstração que oculta a complexidade de infraestrutura.

Page 6: Introduction to Cloud Computing

Computação em Nuvem

● Evolução dos serviços e produtos de TI sob demanda:

– Utility Computing.

● Objetivo da Utility Computing:

– Fornecer os componentes básicos como:

● Armazenamento, CPUs e largura de banda de uma rede como uma mercadoria através de provedores especializados com um baixo custo unitário (sob demanda).

Page 7: Introduction to Cloud Computing

Utility Computing

● Os usuários não precisam se preocupar:– Escalabilidade:

● A capacidade fornecida é praticamente infinita.

– Disponibilidade:● Acesso a qualquer momento.

– Desempenho:● Tempos de resposta são quase constantes;

– Backups:● Responsabilidade do provedor.

Page 8: Introduction to Cloud Computing

Computação em Nuvem

● Definição [NIST 2009]– Computação em nuvem é um modelo que possibilita acesso, de

modo conveniente e sob demanda, a um conjunto de recursos computacionais configuráveis que podem ser rapidamente adquiridos e liberados com mínimo esforço gerencial ou interação com o provedor de serviços.

● Modelo de nuvem do NIST é composto:– Cinco características essenciais;

– Três modelos de serviço;

– Quatro modelos de implantação.

Page 9: Introduction to Cloud Computing

Modelos de Serviços

Page 10: Introduction to Cloud Computing

Software as a Service

● Software com propósito específico que está disponível por meio da Internet;

● Acesso:

– Interface thin client: navegador web;● Transparência na disponibilidade do serviço;

● Exemplo de SaaS:

– Google Drive.

Page 11: Introduction to Cloud Computing

Platform as a Service

● Infraestrutura de alto nível para implementar e testar aplicações na nuvem;

● PaaS fornece:– SO, ambientes de desenvolvimento, suporte à bibliotecas e

linguagens de programação, rede, etc.;

● PaaS disponibiliza ambientes escaláveis (transparente)● Exemplos de PaaS:

– Google App Engine;

– Microsoft Azure.

Page 12: Introduction to Cloud Computing

Insfrastructure as a Service

● Objetivo:– Tornar mais fácil e acessível a disponibilização de recursos:

● Servidores, rede, armazenamento.

● Virtualização– Uso eficiente de recursos;

● Exemplos de IaaS:– O Amazon EC2 (Elastic Cloud Computing);

– Eucalyptus;

– OpenNebula.

Page 13: Introduction to Cloud Computing

Modelos de Implantação

Page 14: Introduction to Cloud Computing

Papéis na Nuvem

Page 15: Introduction to Cloud Computing

Motivação: Infraestrutura é Cara e Complexa

Page 16: Introduction to Cloud Computing

Virtualização

Page 17: Introduction to Cloud Computing

Benefícios da Computação em Nuvem

Page 18: Introduction to Cloud Computing

Sem despesas de capital antecipada

Page 19: Introduction to Cloud Computing

Custo baixo

Page 20: Introduction to Cloud Computing

Pague apenas pelo que usa

Page 21: Introduction to Cloud Computing

Infraestrutura Self-Service

Page 22: Introduction to Cloud Computing

Escalabilidade simples e automática

'

Page 23: Introduction to Cloud Computing

Agilidade & Time to Market

Page 24: Introduction to Cloud Computing

Resumo

● Alto investimento inicial

● Alto custo de manutenção

● Quant. fixa de recursos

● Dificuldade de escalabilidade

● Dificuldade para se recuperar de falhas

● Pagamento pelo uso● Menor custo de manutenção● Quant. irrestrita de recursos● Escalabilidade linear● Tolerância a falhas● Sob demanda

Page 25: Introduction to Cloud Computing
Page 26: Introduction to Cloud Computing

Como surgiu a AWS?

● Como surgiu a AWS?– O tamanho do website da Amazon estava grande

demais para utilizar técnicas de desenvolvimento de uma aplicação (web) convencional;

– Em 2004 a equipe da AWS começou a trabalhar fortemente nesse objetivo;

– O problema de tamanho foi resolvido, e a Amazon foi gradualmente se transformando de um “simples” site de compras em uma infraestrutura de cloud.

Page 27: Introduction to Cloud Computing

Como começar?

● Criar uma conta Amazon =)

– Não custa muito pra começar a usufruir de seus serviços. Por exemplo, não será preciso comprar um servidor físico e instalar na sua empresa.

– Amazon Free Usage Tier: 1 ano grátis em alguns serviços da Amazon

● http://aws.amazon.com/pt/free/

– Startup ou grande empresas: vale a pena!

Page 28: Introduction to Cloud Computing

Alguns Clientes

Page 29: Introduction to Cloud Computing

Principais Componentes AWS

● SQS e SNS● S3● RDS, SimpleDB, DynamoDB● EC2, ELB, Auto Scaling, CloudWatch

Page 30: Introduction to Cloud Computing

Simple Queue Service - SQS

● Importante para a comunicação entre os componentes de um Sistema Distribuído: desacoplamento.

● QoS (Quality of Service)

● Pode ser utilizada como buffer, e de forma elástica.

– Quando nosso sistema tiver grandes picos, uma opção seria processá-las a medida em que nosso sistema pudesse (sem escalonamento). Seria possível que seu componente de processamento pudesse trabalhar nas requisições o dia inteiro.

– 0,50 USD por cada 1 milhão de solicitações do Amazon SQS

Page 31: Introduction to Cloud Computing

Simple Storage Service - S3

● “Designed to provide 99.999999999% durability and 99.99% availability of objects over a given year.”

– De acordo com o Evangelista Amazon Jeff Barr, esses vários 9's querem dizer que, “If you store 10,000 objects with us, on average we may lose one of them every 10 million years or so.”

● Alguns valores:

– 1 TB / mês is $0.095 por GB;

– 500 TB / mês is $0.065 por GB;

– Transferência de dados até 10 TB / mês é $0.120 por GB.

Page 32: Introduction to Cloud Computing

Simple Storage Service - S3

Page 33: Introduction to Cloud Computing

Use Case - S3

● Ex.: Resolução de Vídeos

Page 34: Introduction to Cloud Computing

Use Case - S3

● Ex.: Resolução de Vídeos

Page 35: Introduction to Cloud Computing

S3 ~ Armazenamento Infinito

● Continhas de padaria:

– AVI = ~700 MB

– MKV (720p) = 6.1 GB

– MKV (1080p) = 10.1 GB

– MKV (4K) = 40.4 GB

– MKV (8K) = 80.8 GB

– 1.000.000 filmes AVI = 700PB

– 1.000.000 filme 8K = 80EB

Page 36: Introduction to Cloud Computing

Elastic Cloud Computing - EC2

● Nova categoria de cloud: IaaS;– Apesar de virtualização de servidores já existir por um

tempo, não existia a ideia de se comprar uma hora de poder de computação em servidores Linux/Windows.

● Infraestrutura elástica para suas aplicações;– Websites dirigidos a eventos podem ampliar (scaling out)

sua capacidade momentos antes do evento, e rodar em baixa capacidade no resto do tempo;

● Alguns valores:– Instâncias On-Demand Micro - $0.020 por hora.

Page 37: Introduction to Cloud Computing

Regiões e Zonas de Disponibilidade

Zonas de Disponibilização (Availability Zone)Projetadas para serem independentes. Separadas fisicamente. Porém com conectividade rápida dentro da mesma região.

RegiõesUm conjunto isolado de Data Centers em determinada Geografia.

Page 38: Introduction to Cloud Computing

Elastic Load Balancing - ELB

● Todo o hardware tem o seu limite, e muitas vezes o mesmo serviço tem que ser repartido por várias máquinas, sob pena de se tornar congestionado.

● Balancear a carga é uma técnica para distribuir carga de trabalho uniformemente para dois ou mais computadores, links de rede, CPUs, discos rígidos, ou outros recursos, com o intuito de obter utilização otimizada de seus recursos, maximizando vazão e minimizando tempo de resposta, para evitar sobrecarga.

● Pode também aumentar confiabilidade através de redundância.

Page 39: Introduction to Cloud Computing

Elastic Load Balancing - ELB

● Elastic Load Balancing distribui automaticamente o tráfego web de entrada para as múltiplas instâncias EC2.

● Com o ELB é possível adicionar e remover instâncias EC2 de forma transparente, pois não há necessidade de remodelar qualquer componente.

● Se uma instância falha, o ELB automaticamente encaminha as requisições para servidores em pleno funcionamento.

Page 40: Introduction to Cloud Computing

Auto Scaling

● O Auto Scaling permite escalar a capacidade de seu Amazon EC2 para cima ou para baixo, automaticamente, de acordo com as condições que você definir. Com a confiabilidade do Auto Scaling, o número de instâncias de Amazon EC2 que está usando aumenta facilmente durante picos de demanda para manter o desempenho e diminui automaticamente durante quedas de demanda para minimizar custos. O Auto Scaling é especialmente útil para aplicativos que experimentam variabilidade de uso por hora, dia ou semana. O Auto Scaling é ativado pelo Amazon CloudWatch e é disponibilizado sem custo adicional além das taxas do Amazon CloudWatch.

Page 41: Introduction to Cloud Computing
Page 42: Introduction to Cloud Computing

Referências

● Cloud Computing. NIST - National Institute of Standards and Technology. http://www.nist.gov/itl/cloud/index.cfm (Acessado em: abril/2013)

● Slides do Professor Flávio R. C. Sousa. “Introdução a Cloud Computing”. Sistemas Distribuídos. Universidade Federal do Ceará.

● Baseado nos slides de José Papo. “AWS – Introdução”

Page 43: Introduction to Cloud Computing

Perguntas?

Eduardo de Lucena Falcã[email protected]

@dudufalcao