SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Introdução a Sistemas Distribuídos
Introdução a AWS
Eduardo de Lucena Falcão
Histórico
● 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.
As 2 Principais Vantagens da AWS
1.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 casa.
2.Mesmo escalonando ainda se mantém a um baixo custo.
Por exemplo, você irá escalonar de maneira elástica e
pagar apenas pelo que você precisa.
Histórico
Biggest Problem First
● Se nosso sistema fica muito grande, a maneira mais
fácil (e talvez a única) de solucionar este problema é
quebrando-o em partes menores que tenha a menor
quantidade de dependências possível.
(Desacoplamento);
● Primeiros problemas reais: aplicações para grande
corporações como bancos e linhas aéreas;
● Solução: ferramentas como CORBA e o conceito de
Engenharia de Software baseada em Componentes.
Comunicação entre os Componentes
● A grande maioria dos sistemas baseados em
componentes precisam se comunicar para as mais
diversas tarefas, e muitas das vezes a ordem com que
as mensagens são transmitidas é importante;
● A maneira mais simples de organizar um sistema de
passagem de mensagens é por meio de uma fila.
● E esse foi exatamente o primeiro serviço fornecido pela
Amazon em 2004: Simple Queue Service or SQS.
SQS
● Desenvolvedores podem simplesmente mover dados entre componentes
distribuídos que executam diferentes tarefas sem perder mensagens ou precisar
obrigatoriamente que todos os componentes estejam disponíveis;
– Exatamente o que a Amazon precisava pra começar a poder desacoplar seu sistema
“monolítico”.
● É possível trabalhar com ela como se ela fosse um 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
Armazenamento Infinito
● A medida em que a tecnologia evolui, nós cada vez mais
continuamos a ultrapassar o limite de nosso hardware.
– Para armazenamento não é diferente;
– Se por um lado os cientistas da computação estão cada
vez mais engajados com tecnologia verde e a necessidade
de compressão de dados, etc.
– Por outro lado existem vertentes acadêmicas nas quais é
muito difícil diminuir o uso de armazenamento.
Armazenamento Infinito
● Ex.: Resolução de Vídeo.
Armazenamento Infinito
● Ex.: Resolução de Vídeo.
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
– 100.000 filmes AVI = 70TB
– 100.000 filme 8K = 8000TB
Amazon S3
● Para esse problema a Amazon criou (2006) o Amazon 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.
Amazon S3
Computing per Hour
● O serviço mais importante/impactante criado pela Amazon
(2006): Amazon 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.
● O EC2 era a principal peça do quebra-cabeça que faltava.
Com o EC2 torna-se possível segmentar o desenvolvimento de
software, ou seja, pequenas equipes de desenvolvedores pode
não apenas desenvolver seus componentes, mas testá-los.
– “You build it, you run it.”
Amazon EC2
●
Desta forma a AWS acaba de oferecer infraestrutura elástica para o
desenvolvedor de aplicações;
● Quando a AWS torna fácil a criação de novos servidores (instâncias), uma
nova gama de aplicações se torna disponível para inúmeras pessoas:
– Websites dirigidos a eventos podem ampliar (scaling up) sua
capacidade momentos antes do evento, e rodar em baixa capacidade
no resto do tempo;
– Aplicações com processamento computacional intensivo (previsão do
tempo) podem ser desenvolvidas mais facilmente, e se tornarem mais
baratas.
● Alguns valores:
– Instâncias On-Demand Micro $0.020 por hora.
Armazenamento de Dados
Altamente Escalável (RDS)
● Muitas aplicações precisam de algo além do S3 para
armazenamento, precisam de Bancos de Dados
compartilhados;
● Bancos de Dados Relacionais não são muito eficientes
para escalonar, pelo menos em componentes de
hardware:
– Amazon criou o Relational Database Server (RDS)
ou Relational Database as a Service, mas para o
problema do escalonamento era preciso algo
diferente.
SimpleDB
● Apesar da normalização de dados ser uma das melhores maneira de lidar
com a informação, não é a única
● Uma das maneiras de alcançar a escalabilidade em Bancos de Dados foi
limitá-los a uma lista de registros estruturados. Apesar de perder alguma
velocidade, pois será preciso executar operações adicionais, se ganha
escalabilidade infinita. Torna possível a execução de muito mais transações
simultâneas.
● Essa é a ideia do SimpleDB.
– A falta de joins limita seriamente a usabilidade de um BD. Não queremos
perguntar ao mainframe 7 questões ao invés de apenas uma. Contudo,
os browsers são otimizados para requisitar múltiplos recursos de uma
única vez. Com um serviço especializado para várias consultas
simultâneas, podemos através do ID do cliente recuperar sua wish-list,
cartão de compras, e buscas recentes, de uma vez só.
Otimizando ainda mais (ELB)
● O maior princípio da AWS é otimização, medido em
utilização de hardware:
– O principal objetivo é gerar economias de escalas;
● Uma tarefa comum em ambientes da Web é
balanceamento de carga. Seria interessante ter algo que
pudesse escalonar para mais ou menos infinitamente:
– Essa é a ideia do Elastic Load Balancing.
Otimizando ainda mais (Auto Scaling)
● Quando a carga de trabalho está muito acima do que uma instância pode
aguentar, o que fazer?
– Normalmente, mas nem sempre, um grupo de instâncias que fazem o
mesmo tipo de trabalho tem sua carga balanceada pelo ELB.
● Para gerenciar grupos como esse, o ideal é aliar o ELB ao Auto Scaling.
– Com o Auto Scaling é possível definir um conjunto de regras para
aumentar ou diminuir o grupo de instâncias;
– É possível lançar automaticamente um número de novas instâncias
quando a utilização do CPU, ou tráfego da rede exceder alguns
limites, ou diminuir o número de instâncias baseadas em outros
triggers.
Otimizando ainda mais (CloudWatch)
● Para otimizar o uso, é preciso saber o que está acontecendo, saber
como os componentes de nossa infraestrutura estão se
comportando:
– Para tal, a AWS introduziu a CloudWatch para monitorar os
vários aspectos da nossa nuvem;
– É possível medir utilização de CPU, I/O de rede, I/O de disco,
em diferentes dimensões (podemos medir apenas uma
instância, ou uma região).
Regiões e Zonas de Disponibilidade
● Primeira região a abrigar uma infraestrutura da AWS: Northern Virginia;
– No início, as regiões foram projetadas pensando em possíveis falhas.
● Uma região é composta por zonas de disponibilidade (availability zones):
– A grande feature das zonas é tornar nossa aplicação mais tolerante a falhas e estável.;
– Elas são independentes: o fato de uma falhar, não afeta as outras.
Regiões e Zonas de Disponibilidade
● Permite você escolher localizações que mais se adequem a seu problema:
– Ex.: você pode querer lançar instâncias na Europa, pra ficar mais próximo de seus
consumidores europeus, ou então devido as sanções legais impostas por aquele
país/região;
● Os recursos só são atrelados a uma região:
– As regiões são isoladas uma das outras e não existem recursos replicados entre regiões
automaticamente.
A quick beginning
● “Does the application have to be highly available?” YES!
● Com a AWS você tem todo o recurso que quiser na hora que quiser!
– Iniciando 5 servidores:
– Se o tráfego aumentar, adicionamos mais instâncias para balancear a carga!
● É claro que é preciso reestruturar a aplicação para que ela passe a suportar e se
utilizar dos novos recursos. (Middleware + AWS)
● Scaling Out (criando mais instâncias):
● tornamos nosso serviço altamente disponível (aumenta capacidade de tráfego e
de carga);
● tornamos nosso serviço mais resiliente (menos suscetível a falhas). Uma falha não
compromete mais o nosso sistema.
$ ec2-run-instances ami-480df921 -n 5
Outros Serviços AWS
● Não menos importantes do que os anteriores!
● Elastic IP adresses: um IP estático que se adéqua
perfeitamente às nuvens dinâmicas;
– Se uma instância morre nós a substituímos e
reatribuímos um IP Elástico a ela.
● Elastic Block Storage (EBS): volumes que podem ser
montados para armazenamento na instância;
– É possível criar “snapshots” do volume e replicá-los
em outras instâncias.
“You build it, you run it!”
● Não é preciso distinção entre desenvolver e rodar, e de acordo com
Werner Vogels (CTO da Amazon) é bem melhor que isso:
– “Prover responsabilidades operacionais tem aumentado bastante a qualidade
dos serviços, tanto do ponto de vista do consumidor como do ponto de vista da
tecnologia. É como se no modelo tradicional existisse uma parede entre a
equipe de desenvolvimento e a de operações, uma vez que os
desenvolvedores terminam a implementação do software, jogam nas mãos da
equipe operacional de implantação e perdem o contato com o software. Não
na Amazon. You build it, you run it. Isso faz com que os desenvolvedores
tenha contato com o seu software dia-a-dia, vendo como ele se comporta.
Também os traz para um contato dia-a-dia com os seus clientes. Esse loop do
feedback do consumidor é essencial para melhorar a qualidade do serviço.”
Referências
● Vliet, J., and Paganelli, F.; Programming Amazon EC2.
O'Reilly.
● Amazon Web Services. http://aws.amazon.com/pt/
(Acesso: abril/2013).
Dúvidas
https://sites.google.com/site/introsistemasdistribuidos/
Eduardo de Lucena Falcão
eduardolfalcao@gmail.com
@dudufalcao

Mais conteúdo relacionado

Mais procurados

Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceAmazon Web Services
 
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Amazon Web Services Korea
 
Boas práticas de arquitetura e operações
Boas práticas de arquitetura e operaçõesBoas práticas de arquitetura e operações
Boas práticas de arquitetura e operaçõesAmazon Web Services LATAM
 
있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼 - 정세웅 애널리틱 스페셜리스트, AWS
있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼 - 정세웅 애널리틱 스페셜리스트, AWS있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼 - 정세웅 애널리틱 스페셜리스트, AWS
있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼 - 정세웅 애널리틱 스페셜리스트, AWSAmazon Web Services Korea
 
Testes em uma arquitetura de micro-serviços - Renan Martins
Testes em uma arquitetura de micro-serviços - Renan MartinsTestes em uma arquitetura de micro-serviços - Renan Martins
Testes em uma arquitetura de micro-serviços - Renan Martinsminastestingconference
 
BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )Marco Garcia
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebDaniel Brandão
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPAricelio Souza
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02thomasdacosta
 
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집Amazon Web Services Korea
 
Um framework para a Transformaçao da TI e do Negócio
Um framework para a Transformaçao da TI e do Negócio Um framework para a Transformaçao da TI e do Negócio
Um framework para a Transformaçao da TI e do Negócio Amazon Web Services LATAM
 
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...Amazon Web Services
 
라이브 스트리밍을 위한 알맞은 솔루션 선택하기 - AWS 서비스 및  CJ 올리브네트웍스의 라이브 커머스 사례 소개 - 이보길 AWS 테크...
라이브 스트리밍을 위한 알맞은 솔루션 선택하기 - AWS 서비스 및  CJ 올리브네트웍스의 라이브 커머스 사례 소개 - 이보길 AWS 테크...라이브 스트리밍을 위한 알맞은 솔루션 선택하기 - AWS 서비스 및  CJ 올리브네트웍스의 라이브 커머스 사례 소개 - 이보길 AWS 테크...
라이브 스트리밍을 위한 알맞은 솔루션 선택하기 - AWS 서비스 및  CJ 올리브네트웍스의 라이브 커머스 사례 소개 - 이보길 AWS 테크...Amazon Web Services Korea
 
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법Amazon Web Services Korea
 
Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...
Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...
Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...Amazon Web Services
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Miguel Aquino
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosFabio Moura Pereira
 

Mais procurados (20)

AWS Introduction
AWS IntroductionAWS Introduction
AWS Introduction
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration Service
 
Optimize Cost Efficiency on AWS
Optimize Cost Efficiency on AWSOptimize Cost Efficiency on AWS
Optimize Cost Efficiency on AWS
 
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...
 
Boas práticas de arquitetura e operações
Boas práticas de arquitetura e operaçõesBoas práticas de arquitetura e operações
Boas práticas de arquitetura e operações
 
있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼 - 정세웅 애널리틱 스페셜리스트, AWS
있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼 - 정세웅 애널리틱 스페셜리스트, AWS있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼 - 정세웅 애널리틱 스페셜리스트, AWS
있는 그대로 저장하고, 바로 분석 가능한, 새로운 관점의 데이터 애널리틱 플랫폼 - 정세웅 애널리틱 스페셜리스트, AWS
 
Testes em uma arquitetura de micro-serviços - Renan Martins
Testes em uma arquitetura de micro-serviços - Renan MartinsTestes em uma arquitetura de micro-serviços - Renan Martins
Testes em uma arquitetura de micro-serviços - Renan Martins
 
BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )BI - Uso e Benefícios ( Business Intelligence )
BI - Uso e Benefícios ( Business Intelligence )
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Aula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para WebAula 1 - Programação Dinâmica para Web
Aula 1 - Programação Dinâmica para Web
 
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAPNoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP
 
Redes de Computadores - Aula 02
Redes de Computadores - Aula 02Redes de Computadores - Aula 02
Redes de Computadores - Aula 02
 
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
보안 사고 예방을 위한 주요 AWS 모범 사례 – 신은수, AWS 보안 담당 솔루션즈 아키텍트:: AWS 온라인 이벤트 – 클라우드 보안 특집
 
Um framework para a Transformaçao da TI e do Negócio
Um framework para a Transformaçao da TI e do Negócio Um framework para a Transformaçao da TI e do Negócio
Um framework para a Transformaçao da TI e do Negócio
 
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
(SEC306) Turn on CloudTrail: Log API Activity in Your AWS Account | AWS re:In...
 
라이브 스트리밍을 위한 알맞은 솔루션 선택하기 - AWS 서비스 및  CJ 올리브네트웍스의 라이브 커머스 사례 소개 - 이보길 AWS 테크...
라이브 스트리밍을 위한 알맞은 솔루션 선택하기 - AWS 서비스 및  CJ 올리브네트웍스의 라이브 커머스 사례 소개 - 이보길 AWS 테크...라이브 스트리밍을 위한 알맞은 솔루션 선택하기 - AWS 서비스 및  CJ 올리브네트웍스의 라이브 커머스 사례 소개 - 이보길 AWS 테크...
라이브 스트리밍을 위한 알맞은 솔루션 선택하기 - AWS 서비스 및  CJ 올리브네트웍스의 라이브 커머스 사례 소개 - 이보길 AWS 테크...
 
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
AWS Backup을 이용한 데이터베이스의 백업 자동화와 편리한 복구방법
 
Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...
Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...
Migrating Your Databases to AWS - Deep Dive on Amazon RDS and AWS Database Mi...
 
Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]Modelo conceitual fisico_logico_er[1]
Modelo conceitual fisico_logico_er[1]
 
Desenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos BásicosDesenvolvimento de Sistemas Web - Conceitos Básicos
Desenvolvimento de Sistemas Web - Conceitos Básicos
 

Destaque (6)

Amazon
AmazonAmazon
Amazon
 
Apresentação do Curso
Apresentação do CursoApresentação do Curso
Apresentação do Curso
 
Dais 2015
Dais 2015Dais 2015
Dais 2015
 
Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01Sistemas Distribuídos - Aula 01
Sistemas Distribuídos - Aula 01
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Introdução aos Sistemas Distribuídos
Introdução aos Sistemas DistribuídosIntrodução aos Sistemas Distribuídos
Introdução aos Sistemas Distribuídos
 

Semelhante a Introdução à AWS e seus principais serviços

Desmistificando a Amazon AWS
Desmistificando a Amazon AWSDesmistificando a Amazon AWS
Desmistificando a Amazon AWSMatheus Fidelis
 
Iniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSIniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSAmazon Web Services LATAM
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchEduardo de Lucena Falcão
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosAmazon Web Services LATAM
 
[Palestra] - Arquitetura de Sistemas de Alta Disponibilidade para Cloud
[Palestra] - Arquitetura de Sistemas de Alta Disponibilidade para Cloud[Palestra] - Arquitetura de Sistemas de Alta Disponibilidade para Cloud
[Palestra] - Arquitetura de Sistemas de Alta Disponibilidade para CloudPaulo Miguel Almeida
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSAmazon Web Services LATAM
 
Conhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWSConhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWSAmazon Web Services LATAM
 
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +finalEscalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +finalAmazon Web Services LATAM
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Jonathan Baraldi
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Amazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 
Apresentação Comercial Tecla Internet
Apresentação Comercial Tecla InternetApresentação Comercial Tecla Internet
Apresentação Comercial Tecla InternetTecla Internet
 
Provedor de nuvem - Cloud Providers
Provedor de nuvem - Cloud Providers Provedor de nuvem - Cloud Providers
Provedor de nuvem - Cloud Providers fcdigital
 

Semelhante a Introdução à AWS e seus principais serviços (20)

Introduction to Cloud Computing
Introduction to Cloud ComputingIntroduction to Cloud Computing
Introduction to Cloud Computing
 
Desmistificando a Amazon AWS
Desmistificando a Amazon AWSDesmistificando a Amazon AWS
Desmistificando a Amazon AWS
 
Iniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSIniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWS
 
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud WatchAula 6 - EC2, ELB, Auto Scaling, Cloud Watch
Aula 6 - EC2, ELB, Auto Scaling, Cloud Watch
 
Escalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuariosEscalando para os primeiros 10 milhoes de usuarios
Escalando para os primeiros 10 milhoes de usuarios
 
[Palestra] - Arquitetura de Sistemas de Alta Disponibilidade para Cloud
[Palestra] - Arquitetura de Sistemas de Alta Disponibilidade para Cloud[Palestra] - Arquitetura de Sistemas de Alta Disponibilidade para Cloud
[Palestra] - Arquitetura de Sistemas de Alta Disponibilidade para Cloud
 
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWSConhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
Conhecendo as Opcoes de Bancos de Dados na Nuvem da AWS
 
Conhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWSConhecendo as opcoes de Storage na Nuvem da AWS
Conhecendo as opcoes de Storage na Nuvem da AWS
 
Otimizacao de custo summit 2015
Otimizacao de custo summit 2015Otimizacao de custo summit 2015
Otimizacao de custo summit 2015
 
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +finalEscalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
Escalando+na+aws+para+os+primeiros+10+milhões+de+usuários+ +final
 
Introducao+ao+amazon+ec2+ +ricardo+geh
Introducao+ao+amazon+ec2+ +ricardo+gehIntroducao+ao+amazon+ec2+ +ricardo+geh
Introducao+ao+amazon+ec2+ +ricardo+geh
 
Introducao a aws storage backup e archiving
Introducao a aws storage backup e archivingIntroducao a aws storage backup e archiving
Introducao a aws storage backup e archiving
 
Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1Treinamento Tropa de Elite Aws - Business - D1
Treinamento Tropa de Elite Aws - Business - D1
 
Aws for Developers
Aws for DevelopersAws for Developers
Aws for Developers
 
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 
Apresentação Comercial Tecla Internet
Apresentação Comercial Tecla InternetApresentação Comercial Tecla Internet
Apresentação Comercial Tecla Internet
 
Aula 7 (clouter)
Aula 7 (clouter)Aula 7 (clouter)
Aula 7 (clouter)
 
Provedor de nuvem - Cloud Providers
Provedor de nuvem - Cloud Providers Provedor de nuvem - Cloud Providers
Provedor de nuvem - Cloud Providers
 
Bancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWSBancos de Dados gerenciados na nuvem AWS
Bancos de Dados gerenciados na nuvem AWS
 

Mais de Eduardo de Lucena Falcão

Programando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataformaProgramando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataformaEduardo de Lucena Falcão
 
Aula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNSAula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNSEduardo de Lucena Falcão
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Eduardo de Lucena Falcão
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoEduardo de Lucena Falcão
 
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...Eduardo de Lucena Falcão
 
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...Eduardo de Lucena Falcão
 
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Eduardo de Lucena Falcão
 
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresSEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresEduardo de Lucena Falcão
 
Processo de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRASProcesso de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRASEduardo de Lucena Falcão
 
Desafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústriaDesafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústriaEduardo de Lucena Falcão
 
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I Eduardo de Lucena Falcão
 
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosDescoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosEduardo de Lucena Falcão
 
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de ProcessadoresAmbiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de ProcessadoresEduardo de Lucena Falcão
 

Mais de Eduardo de Lucena Falcão (19)

Wcga 2015
Wcga 2015Wcga 2015
Wcga 2015
 
Programando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataformaProgramando em X3D para integração de aplicações e suporte multiplataforma
Programando em X3D para integração de aplicações e suporte multiplataforma
 
Minicurso sobre X3D
Minicurso sobre X3DMinicurso sobre X3D
Minicurso sobre X3D
 
Aula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNSAula 8 - Comunicação entre Componentes com SQS e SNS
Aula 8 - Comunicação entre Componentes com SQS e SNS
 
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
Aula 7 - Hands On - Configurando nossa aplicação na AWS com EC2, Elastic Load...
 
Aula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvidoAula 1 - Estudando o problema a ser resolvido
Aula 1 - Estudando o problema a ser resolvido
 
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
II EPI - Estudo e Avaliação do Problema de Otimização da Multiplicação de Cad...
 
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
INFORMAÇÃO ARQUEOLÓGICA DE INGÁ: preservação, acesso e uso a partir de um amb...
 
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
Estudo e Avaliação do Problema de Otimização da Multiplicação de Cadeias de M...
 
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de ComputadoresSEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
SEAC: Um Simulador Online para Ensino de Arquitetura de Computadores
 
Processo de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRASProcesso de Tradução Automática da Língua Portuguesa para LIBRAS
Processo de Tradução Automática da Língua Portuguesa para LIBRAS
 
Desafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústriaDesafios da tecnologia da computação e indústria
Desafios da tecnologia da computação e indústria
 
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
TCC - PUBLICAÇÃO E ACESSO A CONTEÚDOS 3D ATRAVÉS DA WEB: O CASO DO MUSEU3I
 
Tutorial Shell Script
Tutorial Shell ScriptTutorial Shell Script
Tutorial Shell Script
 
E-Info
E-InfoE-Info
E-Info
 
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de DadosDescoberta de Conhecimento em Bancos de Dados e Mineração de Dados
Descoberta de Conhecimento em Bancos de Dados e Mineração de Dados
 
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de ProcessadoresAmbiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
Ambiente de Simulação Gráfica 3D para Ensino da Arquitetura de Processadores
 
Introdução prática ao X3D
Introdução prática ao X3DIntrodução prática ao X3D
Introdução prática ao X3D
 
Lab teve2011.1
Lab teve2011.1Lab teve2011.1
Lab teve2011.1
 

Introdução à AWS e seus principais serviços

  • 1. Introdução a Sistemas Distribuídos Introdução a AWS Eduardo de Lucena Falcão
  • 2. Histórico ● 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.
  • 3. As 2 Principais Vantagens da AWS 1.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 casa. 2.Mesmo escalonando ainda se mantém a um baixo custo. Por exemplo, você irá escalonar de maneira elástica e pagar apenas pelo que você precisa.
  • 5. Biggest Problem First ● Se nosso sistema fica muito grande, a maneira mais fácil (e talvez a única) de solucionar este problema é quebrando-o em partes menores que tenha a menor quantidade de dependências possível. (Desacoplamento); ● Primeiros problemas reais: aplicações para grande corporações como bancos e linhas aéreas; ● Solução: ferramentas como CORBA e o conceito de Engenharia de Software baseada em Componentes.
  • 6. Comunicação entre os Componentes ● A grande maioria dos sistemas baseados em componentes precisam se comunicar para as mais diversas tarefas, e muitas das vezes a ordem com que as mensagens são transmitidas é importante; ● A maneira mais simples de organizar um sistema de passagem de mensagens é por meio de uma fila. ● E esse foi exatamente o primeiro serviço fornecido pela Amazon em 2004: Simple Queue Service or SQS.
  • 7. SQS ● Desenvolvedores podem simplesmente mover dados entre componentes distribuídos que executam diferentes tarefas sem perder mensagens ou precisar obrigatoriamente que todos os componentes estejam disponíveis; – Exatamente o que a Amazon precisava pra começar a poder desacoplar seu sistema “monolítico”. ● É possível trabalhar com ela como se ela fosse um 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
  • 8. Armazenamento Infinito ● A medida em que a tecnologia evolui, nós cada vez mais continuamos a ultrapassar o limite de nosso hardware. – Para armazenamento não é diferente; – Se por um lado os cientistas da computação estão cada vez mais engajados com tecnologia verde e a necessidade de compressão de dados, etc. – Por outro lado existem vertentes acadêmicas nas quais é muito difícil diminuir o uso de armazenamento.
  • 9. Armazenamento Infinito ● Ex.: Resolução de Vídeo.
  • 10. Armazenamento Infinito ● Ex.: Resolução de Vídeo.
  • 11. 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 – 100.000 filmes AVI = 70TB – 100.000 filme 8K = 8000TB
  • 12. Amazon S3 ● Para esse problema a Amazon criou (2006) o Amazon 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.
  • 14. Computing per Hour ● O serviço mais importante/impactante criado pela Amazon (2006): Amazon 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. ● O EC2 era a principal peça do quebra-cabeça que faltava. Com o EC2 torna-se possível segmentar o desenvolvimento de software, ou seja, pequenas equipes de desenvolvedores pode não apenas desenvolver seus componentes, mas testá-los. – “You build it, you run it.”
  • 15. Amazon EC2 ● Desta forma a AWS acaba de oferecer infraestrutura elástica para o desenvolvedor de aplicações; ● Quando a AWS torna fácil a criação de novos servidores (instâncias), uma nova gama de aplicações se torna disponível para inúmeras pessoas: – Websites dirigidos a eventos podem ampliar (scaling up) sua capacidade momentos antes do evento, e rodar em baixa capacidade no resto do tempo; – Aplicações com processamento computacional intensivo (previsão do tempo) podem ser desenvolvidas mais facilmente, e se tornarem mais baratas. ● Alguns valores: – Instâncias On-Demand Micro $0.020 por hora.
  • 16. Armazenamento de Dados Altamente Escalável (RDS) ● Muitas aplicações precisam de algo além do S3 para armazenamento, precisam de Bancos de Dados compartilhados; ● Bancos de Dados Relacionais não são muito eficientes para escalonar, pelo menos em componentes de hardware: – Amazon criou o Relational Database Server (RDS) ou Relational Database as a Service, mas para o problema do escalonamento era preciso algo diferente.
  • 17. SimpleDB ● Apesar da normalização de dados ser uma das melhores maneira de lidar com a informação, não é a única ● Uma das maneiras de alcançar a escalabilidade em Bancos de Dados foi limitá-los a uma lista de registros estruturados. Apesar de perder alguma velocidade, pois será preciso executar operações adicionais, se ganha escalabilidade infinita. Torna possível a execução de muito mais transações simultâneas. ● Essa é a ideia do SimpleDB. – A falta de joins limita seriamente a usabilidade de um BD. Não queremos perguntar ao mainframe 7 questões ao invés de apenas uma. Contudo, os browsers são otimizados para requisitar múltiplos recursos de uma única vez. Com um serviço especializado para várias consultas simultâneas, podemos através do ID do cliente recuperar sua wish-list, cartão de compras, e buscas recentes, de uma vez só.
  • 18. Otimizando ainda mais (ELB) ● O maior princípio da AWS é otimização, medido em utilização de hardware: – O principal objetivo é gerar economias de escalas; ● Uma tarefa comum em ambientes da Web é balanceamento de carga. Seria interessante ter algo que pudesse escalonar para mais ou menos infinitamente: – Essa é a ideia do Elastic Load Balancing.
  • 19. Otimizando ainda mais (Auto Scaling) ● Quando a carga de trabalho está muito acima do que uma instância pode aguentar, o que fazer? – Normalmente, mas nem sempre, um grupo de instâncias que fazem o mesmo tipo de trabalho tem sua carga balanceada pelo ELB. ● Para gerenciar grupos como esse, o ideal é aliar o ELB ao Auto Scaling. – Com o Auto Scaling é possível definir um conjunto de regras para aumentar ou diminuir o grupo de instâncias; – É possível lançar automaticamente um número de novas instâncias quando a utilização do CPU, ou tráfego da rede exceder alguns limites, ou diminuir o número de instâncias baseadas em outros triggers.
  • 20. Otimizando ainda mais (CloudWatch) ● Para otimizar o uso, é preciso saber o que está acontecendo, saber como os componentes de nossa infraestrutura estão se comportando: – Para tal, a AWS introduziu a CloudWatch para monitorar os vários aspectos da nossa nuvem; – É possível medir utilização de CPU, I/O de rede, I/O de disco, em diferentes dimensões (podemos medir apenas uma instância, ou uma região).
  • 21. Regiões e Zonas de Disponibilidade ● Primeira região a abrigar uma infraestrutura da AWS: Northern Virginia; – No início, as regiões foram projetadas pensando em possíveis falhas. ● Uma região é composta por zonas de disponibilidade (availability zones): – A grande feature das zonas é tornar nossa aplicação mais tolerante a falhas e estável.; – Elas são independentes: o fato de uma falhar, não afeta as outras.
  • 22. Regiões e Zonas de Disponibilidade ● Permite você escolher localizações que mais se adequem a seu problema: – Ex.: você pode querer lançar instâncias na Europa, pra ficar mais próximo de seus consumidores europeus, ou então devido as sanções legais impostas por aquele país/região; ● Os recursos só são atrelados a uma região: – As regiões são isoladas uma das outras e não existem recursos replicados entre regiões automaticamente.
  • 23. A quick beginning ● “Does the application have to be highly available?” YES! ● Com a AWS você tem todo o recurso que quiser na hora que quiser! – Iniciando 5 servidores: – Se o tráfego aumentar, adicionamos mais instâncias para balancear a carga! ● É claro que é preciso reestruturar a aplicação para que ela passe a suportar e se utilizar dos novos recursos. (Middleware + AWS) ● Scaling Out (criando mais instâncias): ● tornamos nosso serviço altamente disponível (aumenta capacidade de tráfego e de carga); ● tornamos nosso serviço mais resiliente (menos suscetível a falhas). Uma falha não compromete mais o nosso sistema. $ ec2-run-instances ami-480df921 -n 5
  • 24. Outros Serviços AWS ● Não menos importantes do que os anteriores! ● Elastic IP adresses: um IP estático que se adéqua perfeitamente às nuvens dinâmicas; – Se uma instância morre nós a substituímos e reatribuímos um IP Elástico a ela. ● Elastic Block Storage (EBS): volumes que podem ser montados para armazenamento na instância; – É possível criar “snapshots” do volume e replicá-los em outras instâncias.
  • 25. “You build it, you run it!” ● Não é preciso distinção entre desenvolver e rodar, e de acordo com Werner Vogels (CTO da Amazon) é bem melhor que isso: – “Prover responsabilidades operacionais tem aumentado bastante a qualidade dos serviços, tanto do ponto de vista do consumidor como do ponto de vista da tecnologia. É como se no modelo tradicional existisse uma parede entre a equipe de desenvolvimento e a de operações, uma vez que os desenvolvedores terminam a implementação do software, jogam nas mãos da equipe operacional de implantação e perdem o contato com o software. Não na Amazon. You build it, you run it. Isso faz com que os desenvolvedores tenha contato com o seu software dia-a-dia, vendo como ele se comporta. Também os traz para um contato dia-a-dia com os seus clientes. Esse loop do feedback do consumidor é essencial para melhorar a qualidade do serviço.”
  • 26. Referências ● Vliet, J., and Paganelli, F.; Programming Amazon EC2. O'Reilly. ● Amazon Web Services. http://aws.amazon.com/pt/ (Acesso: abril/2013).