copa do mundo no brasil interagindo com os torcedores em tempo real
TRANSCRIPT
![Page 1: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/1.jpg)
São Paulo
![Page 2: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/2.jpg)
Copa do Mundo no Brasil
Interagindo com os torcedores em tempo real
![Page 3: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/3.jpg)
Agenda
• Motivação
• Jornada para a nuvem
• Aprendizado
• Métricas
![Page 4: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/4.jpg)
Motivação
![Page 5: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/5.jpg)
Segunda tela
Feito para atender a todos os programas da TV Globo
![Page 6: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/6.jpg)
GloboApp.mp4
![Page 7: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/7.jpg)
Jornada para a nuvem
![Page 8: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/8.jpg)
Antes da AWS
TV Globo
CMS
Clients
![Page 9: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/9.jpg)
Primeira publicação na AWS
CloudFront Amazon S3
TV Globo
CMS
Elastic IP Amazon EC2
Clients
![Page 10: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/10.jpg)
Uma ferramenta para resolver tudo
![Page 11: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/11.jpg)
Serviços utilizados
AWS
CloudFormationCloudWatch IAM Amazon SNS Amazon SQS Amazon S3 CloudFront
Amazon Redshift Amazon RDS ElastiCache DynamoDB
RDS DB
instance read
replica
Amazon
Route 53
Elastic Load
BalancingAMI Elastic IP Amazon EC2 Amazon EMR Amazon VPC Auto Scaling
![Page 12: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/12.jpg)
Visão geral da arquitetura
WebServer
Worker
CloudFront Amazon S3
Route 53ClientsTV Globo
CMS
Broadcast
![Page 13: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/13.jpg)
Web Server
WebServer
Social Networks
Elasti
Cache
Amazon
SQS
Amazon
RDS
RDS
Read Replica
CloudFront Amazon S3
TV Globo
CMS
WebApp AppServer
Route 53
![Page 14: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/14.jpg)
Worker
Worker
Elasti
CacheAmazon
SQS
CloudFront Amazon S3
TV Globo
CMS
Ranking
Route 53DynamoDB
Answer
![Page 15: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/15.jpg)
Broadcast
CloudFront Amazon S3
Route 53Clients TV Globo
CMS
Broadcast
Elasti
Cache
![Page 16: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/16.jpg)
AWS Support
Gerenciamento de evento de infraestrutura (IEM)
Auxílio no teste de cargae otimização da performance do aplicativo
![Page 17: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/17.jpg)
Gerenciamento de evento de infraestrutura (IEM)
• Eu tenho um lançamento global que vai acontecer e não tenho ideia de que tipo de capacidade vou precisar.
• Nossa empresa tem picos de acesso durante o ano e não precisamos de muitos recursos para operar, mas quando precisamos….
• Minha empresa é especialista em trazer tráfegopara o nosso site, não somos especialistas emgerenciamento de infraestrutura. Quando mandoos acessos eu confio em vocês para garantir quea infraestrutura está lá.
• Nós vamos fazer uma grande migração, falhar não é uma opção.
![Page 18: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/18.jpg)
Aplicativo Globo
![Page 19: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/19.jpg)
Aprendizado
![Page 20: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/20.jpg)
Resiliência
• Arquitetura Multi-AZ
• Instâncias com disco local
• Famílias variadas de instância para cada tipo de
processamento
![Page 21: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/21.jpg)
Performance
• Testes de carga
• Réplicas de leitura
• Muito cache
![Page 22: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/22.jpg)
![Page 23: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/23.jpg)
NGINX Cache
1. proxy_cache_path /dir/cache levels=1:2 keys_zone=cachename:5m;
2. location ~ /path/.*/file.json {
3. ...
4. proxy_cache cachename;
5. proxy_cache_valid 200 302 24h;
6. proxy_cache_key $proxy_host$uri;
7. ...
8. }
![Page 24: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/24.jpg)
1. local user_timestamp = ngx.var["arg_timestamp”]
2. local timestamp = string.match(ngx.arg[1], "_timestamp.:.?(%d+)”)
3. if timestamp ~= nil and user_timestamp ~= nil then
4. if tonumber(timestamp) <= tonumber(user_timestamp) then
5. ngx.arg[1] = "{}”
6. ngx.arg[2] = true
7. return
8. end
9. end
![Page 25: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/25.jpg)
Development process
TDD
&
BDD
![Page 26: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/26.jpg)
Cloudformation
• Infraestrutura como Código
• Integra com controle de versão
• JSON
• Templates
• Suporta todos os tipos de recursos da AWS
• Publicação blue/green
![Page 27: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/27.jpg)
Cloudformation
"WebServerGroup" : {
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Properties" : {
"AvailabilityZones" : { "Fn::GetAZs" : ""},
"LaunchConfigurationName" : { "Ref" : "LaunchConfig" },
"MinSize" : "1",
"MaxSize" : "3",
"LoadBalancerNames" : [ { "Ref" : "ElasticLoadBalancer" } ],
"NotificationConfiguration" : {
"TopicARN" : { "Ref" : "NotificationTopic" },
"NotificationTypes" : [ "autoscaling:EC2_INSTANCE_LAUNCH",
"autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
"autoscaling:EC2_INSTANCE_TERMINATE",
"autoscaling:EC2_INSTANCE_TERMINATE_ERROR"]
}
![Page 28: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/28.jpg)
Pense de forma simples
![Page 29: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/29.jpg)
Métricas
![Page 30: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/30.jpg)
Downloads do Aplicativo
0
100000
200000
300000
400000
500000
600000
700000
800000
900000
1000000
Maio Junho Julho
![Page 31: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/31.jpg)
Estrelas no Google Play
1
2
4
Maio Início da Copa Fases Eliminatórias Fim da Copa
![Page 32: Copa do mundo no brasil interagindo com os torcedores em tempo real](https://reader031.vdocuments.site/reader031/viewer/2022020123/55b3649abb61eba8548b46b4/html5/thumbnails/32.jpg)
Obrigado