Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TDC Floripa 2015 - Atendendo os Primeiros 10 Milhões de Usuários

TDC Floripa 2015 - Atendendo os Primeiros 10 Milhões de Usuários

A computação em nuvem oferece diversas vantagens, entre elas a capacidade de redimensionar a infraestrutura sob demanda. Se você tem um novo negócio e quer usar a nuvem, você poderia estar se perguntando: "Por onde começar?" Nesta sessão você entenderá as melhores praticas para redimensionar seus recursos do primeiro até milhões de usuários. Mostraremos como combinar diversos serviços da AWS, como tomar decisões de arquitetura e como redimensionar sua aplicação na nuvem.

Julio Faerman

May 14, 2015
Tweet

More Decks by Julio Faerman

Other Decks in Technology

Transcript

  1. 1997 - Reed Hastings and fellow software executive Marc Randolph

    co-found Netflix to offer online movie rentals. 1999 - Netflix launches the subscription service, offering unlimited rentals for one low monthly subscription. 2000 - Netflix launches the personalized movie recommendation system that uses Netflix members’ ratings to accurately predict choices for all Netflix members. 2002 - Netflix makes its initial public offering (IPO on Nasdaq under the ticker “NFLX” with 600,000 members in the US.) 2005 - The number of Netflix members rises to 4.2 million. 2007 - Netflix introduces streaming, which allows members to instantly watch television shows and movies on their personal computers. 2008 - Netflix partners with consumer electronics companies to stream on the Xbox 360, Blu-ray disc players and TV set-top boxes. 2009 - Netflix partners with consumer electronics companies to stream on the PS3, Internet connected TVs and other Internet connected devices. 2010 - Netflix is available on the Apple iPad, iPhone and iPod Touch, the Nintendo Wii, and other Internet connected devices. Netflix launches its service in Canada. 2011 - Netflix launches throughout Latin America and the Caribbean. 2012 - Netflix became available in Europe including the United Kingdom, Ireland and in the Nordic Countries. Netflix wins its first Primetime Emmy Engineering Award. 2013 - Netflix expanded to the Netherlands. Netflix garners 31 primetime Emmy nominations including outstanding drama series, comedy series and documentary or nonfiction special for “House of Cards”, “Orange is the new black”, and “The Square” respectively. House of Cards won three Primetime Emmy Awards. Netflix was the first internet TV network nominated for the primetime Emmy. 2014 - In 2014 Netflix launched in 6 new countries in Europe (Austria, Belgium, France, Germany, Luxembourg and Switzerland). Netflix wins 7 creative Emmy Awards for House of Cards and Orange is the New Black. Netflix now has over 50 million members globally.
  2. Regiões US-WEST (Oregon) EU-WEST (Ireland) ASIA PAC (Tokyo) US-WEST (N.

    California) SOUTH AMERICA (Sao Paulo) US-EAST (Virginia) AWS GovCloud (US) ASIA PAC (Sydney) ASIA PAC (Singapore) CHINA (Beijing) EU-CENTRAL (Frankfurt)
  3. US-WEST (Oregon) EU-WEST (Ireland) ASIA PAC (Tokyo) US-WEST (N. California)

    SOUTH AMERICA (Sao Paulo) US-EAST (Virginia) AWS GovCloud (US) ASIA PAC (Sydney) ASIA PAC (Singapore) CHINA (Beijing) Zonas de Disponibilidade EU-CENTRAL (Frankfurt)
  4. Amazon S3 Amazon SQS Amazon EC2 Amazon Simple DB Amazon

    EBS Amazon CloudFront Elastic Load Balancing Auto Scaling Amazon VPC Amazon RDS Amazon SNS Amazon IAM Amazon Route 53 Amazon SES AWS Elastic Beanstalk AWS CloudFormation Amazon Elasticache AWS Direct Connect AWS GovCloud AWS Storage Gateway Amazon DynamoDB Amazon CloudSearch Amazon SWF Amazon Glacier Amazon Redshift AWS Data Pipeline Amazon Elastic Transcoder AWS OpsWorks Amazon CloudHSM Amazon AppStream Amazon CloudTrail Amazon WorkSpaces Amazon Kinesis Amazon ECS Amazon Lambda Amazon Config AWS CodeDeploy Amazon RDS for Aurora AWS KMS Amazon Cognito Amazon WorkDocs AWS Directory Service Amazon Mobile Analytics 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 Amazon WorkMail April 30, 2015 Amazon EFS Amazon Machine Learning
  5. Escalabilidade Vertical •  Abordagem mais simples •  Pode incluir IOPs

    provisionados •  Familias de Instâncias –  High I/O –  High Memory –  High CPU –  High storage •  Trocar o tipo de instância é facil •  Mas tem limitações d2.8xlarge 36 RAM - 244 CPU - 24 x 2TB HDD
  6. Não Gerenciados Serviços Gerenciados “Faça você mesmo” no EC2 Amazon

    DynamoDB Serviço de Banco de Dados NoSQL Amazon RDS Microsoft SQL, Oracle, MySQL ou PostgreSQL como serviço Amazon Redshift Serviço de Data Warehousing escalável aos petabytes Bancos de dados
  7. Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Availability

    Zone Web Instance RDS DB Instance Standby (Multi-AZ) Elastic Load Balancer Amazon Route 53 User
  8. Disponibilidade   Balanceadores  de  cargas  em  diversas  Availability   Zones

      Health  checks   Re6ra  instâncias  defeituosas  automa6camente   Session  s3ckiness   Mantém  afinidade  de  sessão  HTTP   Secure  sockets  layer   Suporta  SSL  com  configuração  flexível   Monitoramento   Métricas  de  tráfego  detalhadas  (1m)   Elastic Load Balancer Elastic Load Balancer
  9. User >10ks-100ks RDS DB Instance Active (Multi-AZ) Availability Zone Availability

    Zone RDS DB Instance Standby (Multi-AZ) Elastic Load Balancer RDS DB Instance Read Replica RDS DB Instance Read Replica RDS DB Instance Read Replica RDS DB Instance Read Replica Web Instance Web Instance Web Instance Web Instance Web Instance Web Instance Web Instance Web Instance Amazon Route 53 User
  10. Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Elastic

    Load Balancer Amazon S3 Amazon Cloudfront Amazon Route 53 User
  11. Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Elastic

    Load Balancer Amazon S3 Amazon Cloudfront Amazon Route 53 User ElastiCache DynamoDB
  12. •  Serviço de Banco de Dados NoSQL •  Gerenciado pela

    AWS •  Vazão provisionada •  Latência baixa (~< 9ms) e previsível •  Tolerante à falhas •  Documentos em JSON •  Items de até 400KB
  13. Web Instance RDS DB Instance Active (Multi-AZ) Availability Zone Elastic

    Load Balancer Amazon S3 Amazon Cloudfront Amazon Route 53 User ElastiCache DynamoDB
  14. Entrega de Conteúdo •  Cache “na borda” para entrega rápida

    •  Reduz carga na origem •  Conteúdo estático e dinâmico •  Streaming de video •  SSL personalizado •  Custo mais baixo para tráfego interno •  Otimizações na integração com Amazon EC2, Amazon S3, Elastic Load Balancing, and Amazon Route 53 Response  Time   Server  Load   Response   Time   Server   Load   Response   Time   Server   Load   No  CDN   CDN  for  Sta6c   Content   CDN  for  Sta6c  &   Dynamic  Content  
  15. Redimensonamento horizontal automatizado baseado em alarmes Feature   Details  

    Controle   Defina  os  limites  mínimos,  máximos  e  quando  o  incremento  ou  redução  da   infraestrutura  deve  acontecer.   Integrado  ao  CloudWatch   Use  métricas  do  CloudWatch  para  disparar  e  reagir  a  alarmes   Tipos  de  Instância   Execute  o  AutoScaling  para  instâncias  on-­‐demand  ou  spot,  inclusive  com  VPCs.   Auto Scaling Trigger auto-scaling policy Amazon CloudWatch
  16. Availability Zone Amazon Route 53 User Amazon S3 Amazon Cloudfront

    Availability Zone Elastic Load Balancer DynamoDB RDS DB Instance Read Replica Web Instance Web Instance Web Instance ElastiCache RDS DB Instance Read Replica Web Instance Web Instance Web Instance ElastiCache RDS DB Instance Standby (Multi-AZ) RDS DB Instance Active (Multi-AZ)
  17. Serviços de Gerenciamento de Aplicações Alto Nível de Abstração Faça

    Você Mesmo AWS Elastic Beanstalk AWS OpsWorks AWS CloudFormation Amazon EC2
  18. Controller  A   Controller  B   Controller  A   Controller

     B   Q   Q   Alto  acoplamento   Use  o  Amazon  SQS  como  Buffer   Baixo  acoplamento  
  19. •  Email •  Queuing •  Transcoding •  Search •  Databases

    •  Monitoring •  Metrics •  Logging Amazon CloudSearch Amazon SQS Amazon SNS Amazon Elastic Transcoder Amazon SWF Amazon SES Serviços gerenciados que suportam funcionalidades comums:
  20. RDS DB Instance Active (Multi-AZ) Availability Zone Elastic Load Balancer

    RDS DB Instance Read Replica RDS DB Instance Read Replica Web Instance Web Instance Web Instance Web Instance Amazon Route 53 User Amazon S3 Amazon Cloudfront DynamoDB Amazon SQS ElastiCache Worker Instance Worker Instance Amazon CloudWatch Internal App Instance Internal App Instance Amazon SES
  21. •  Separação por função •  Dificulta consultas entre funções • 

    Posterga a necessidade de sharding ou NoSQL •  Não resolve problemas de volume ForumsDB UsersDB ProductsDB
  22. Shards Horizontais •  Mais complexidade para a aplicação •  ORM

    pode ajudar •  Sem limites para escalabilidade •  Operação complexa •  Separação por função ou chave •  SGBDR ou NoSQL User ShardID 002345 A 002346 B 002347 C 002348 B 002349 A Shard C Shard B Shard A
  23. Adotando NoSQL •  Escalabilidade e/ou Abstração •  Avaliação Quantitativa • 

    Serviços Gerenciados (DynamoDB) •  Casos de uso: –  Rankings, Leaderboards e Dashboards –  Ingestão de dados em tempo real –  Dados temporários –  Tabelas problemáticas –  Tabelas de metadados