Aprendi demais assistindo, parabéns pelo conteúdo de grande valor para nós desenvolvedores. Este material é sem dúvida um ponto de destaque porque me trouxe uma visão ampla e até simples de perceber as nuances entre entrevistador-entrevistado que no final vai ser o ponto de decisão da empresa para contratação do candidato.
Valeu, irmão! 🔥 Gosto principalmente de como você diz "eu não sei" várias vezes - só porque a vaga é pra Sênior, não quer dizer wue você precisa saber tudo. Aliás, pra mim, um dos indicadores de senioridade é justamente saber dizer "não sei" quando necessário.
Sobre o programa que ele usa para desenhar, fazer o rascunho no vídeo: Excalidraw, é gratuito... pode ser acessado via navegador ou até mesmo como um plugin dentro do software Obsidian
Caramba, explodiu minha mente a conversa sobre sessões por volta dos 12 minutos e como você fez parecer simples a ideia de só admitir que não sabe! aprendi muito
Opa, excelente video! Para galera que ainda não passou por um processo seletivo de TI, esse conteúdo dá um norte muito bom. Só alguns detalhes que acho importante comentar: - AWS S3 não é um blob storage, mas sim um object storage. Há semelhanças, porém são serviços distintos que lidam de forma diferente com os objetos. - Faltou mencionar o protocolo de comunicação entre o cliente e o LB. UDP ou TCP? - Não é correto colocar um loadbalancer como camada de comunicação com o cliente. Loadbalancer é um simples serviço de distribuição de carga, e não possui recursos avançados de controle de tráfego. Por exemplo, vc não consegue setar request rate limit no loadbalancer, por isso o ideal seria colocar um API Gateway entre o cliente e o LB. - AWS WAF para controle de tráfego por região.
Em relação ao penúltimo tópico, sobre LB, teria algum cenário específico que o LB ficaria antes do Gateway, invertendo a ordem que você propôs? Eu estava com essa exata dúvida e praticamente todas fontes de informações dizia que dependia da situação
@@gusta4353 De fato depende. Acho que fui muito incisivo no meu comentário. haha Por exemplo, se vc tem sua infra na AWS e quer utilizar o AWS Certificate Manager (ACM) para gerenciar seus certificados, provavelmente vc vai ter que colocar um AWS LB na frente do seu API Gateway. Dessa forma vc consegue associar os certificados do ACM no seu LB e fazer o SSL termination ali mesmo. Então nesse caso o seu API Gateway ficaria depois do LB.
@@sr.cenoura-rr Incorreto. Vc pode (e é até importante) que o api gateway seja a porta de entrada. Ele permite associar certificados e fazer o upstream pra um load balancer. Eu ainda colocaria o lb com ip privado, garantindo que ele não seja acessível sem passar pelo api gateway. Aproveitando o ponto do api gateway, a autenticação já poderia ser colocada lá, com um cognito.
@@tkrafael Eu acho que vc não entendeu meu ponto. Eu disse que se vc quiser utilizar o AWS Certificate Manager como serviço de gerenciamento de certificados, vc poderia colocar um load balancer na frente do API Gateway (não estou falando do serviço AWS API Gateway aqui). Vc não consegue associar certificados gerenciados pela AWS à serviços não gerenciados pela AWS, tipo um Kong stand-alone.
Top!! Exatas perguntas que eu me fiz aqui ele acabou não abordando. Único ponto é que para controle de trágedo por região é por Route 53 com geolocation. WAF é uma camada de segurança a mais.
Não acredito que assisti uma entrevista de 45 minutos para Dev Senior hahah, não sou desenvolvedora, sou designer, e quando ele começou a falar de System Design pensei que ia falar de Design System e fiquei confusa. No mais, que assertividade esse cara têm, baita vídeo igual o Lucas Montano comentou!
Nossa, aprendi muita coisa aqui, vou salvar esse vídeo e estudar em cima. Tenho muita experiência, mas to com alguns gaps em system design. Galego ce manda muito e parabéns ao Leo também! Sucesso para vocês.
Gostei muito, você é realmente absurdo nos conteúdos. Assim, vendo de longe eu adicionaria WAF para as validações de países e regras de redirecionamento (o WAF já tem ambas features). No quesito do Cache, eu utilizaria CDN sim, no caso da AWS, Cloudfront, ele faz o papel de guardar o conteúdo estático de algumas rotas, incluindo vídeos e assim você não precisa se preocupar, em segundo caso configurar o Nginx (que você vai usar mesmo que indiretamente lá no load balancer) pra realizar cache também seria uma boa. Agora, ao quesito do autoscaling, acho que sua ideia de alterar na mão é o certo, eu faria o seguinte, caso você use EKS, nesse tipo de sistema acredito que seja até o recomendável, em segundo caso, ECS. Criar um autoscaling por nodes acho que seria o mais correto, eu alteraria a quantidade minimas de nodes para maxima e deixaria a quantidade atual (desire size) no mínimo e aumentaria bastante a quantidade de nodes, pra que escalassem automaticamente e no Autoscaling você pode configurar % de node pra escalar
Obrigado pela dica, irmão. - Precisa replicar toda a infra numa nova região para servir múltiplos países? Só o CDN cacheando os vídeos, e esse cache estando em diferentes regiões, é suficiente, certo? - Sobre o WAF - ele consegue acessar os metadados no DB e validar se aquele vídeo pode ou não ser reproduzido naquela região? Eu pensei em algo diferente - provavelmente em algum momento da infra, o país (country code) é injetado no request. De repente o próprio service pode fazer essa validação?
@@StanleySathler WAF é uma camada de segurança, não para redirecionamento, balanceamento ou divisão de trafego. Para isso pode-se utilizar o Route53 com regras como Geolocation ou Geoproximity ou até mesmo Latency. Ambas regras no Route53 podem ter verificações de integridade, por exemplo. O WAF (Web Application Firewall) é uma ferramenta poderosa que adiciona uma camada a mais de proteção. Embora ele possibilite criar regras baseadas em Geolocalização o objetivo com a regra é bloquear ou permitir o trafego dentro da rede.
Legal , no geral. Faltou do lado do entrevistar, uns "Olha, essa decisão é sua, não minha". Isso é classico, para adicionar um nervosismo ao entrevistado e ver como ele se sai nesse ponto. Ficou muito friendly.
Aodrei o conteúdo em Português. Se me permite, vou deixar algumas dicas que ajudaria o candidato a ressaltar a candidatura para uma vaga Senior: - Senti falta de ver o candidato definir os requisitos e restricoes com o entrevistador a priori antes de propor uma arquitetura. O entrevistador proveu alguns requisitos funcionais e eles são intencionalmente bem abertos e dubios. Uma dica é prover estimativa de tamanho de problema e descrever as "assumptions", restricoes com a qual vc tá projetando sua arquiteura de sistema. Exemplo: > Número the requests (pico, e média), padrão de acesso (geografico, horario, live stream, acesso simultaneo em certa localidade ao liberar episodio novo, maximo numero de streams simulataneos na mesma conta, etc), padrão de leitura/escrita (aplicacao vai escrever muito ou ler muito do DBs / blob storage, etc) e como isso influencia nas suas escolhas arquiteturais. - Acho que rolou meio uma receitinha de bolo sem contextualizar um pouco. É importante o candidato demonstrar a sequencia até o problema ser resolvido e como o diferentes componentes iteragem durante a sequeência. Por example: Entre o usuario abrir o aplicativo / webapp e clicar e comecar a assistir um show quais sao os sistemas que sao ativados, e quais são as interacoes e messagens que eles trocam. Isso vai permitir o entrevistador entender o seu nivel de entendimento. Quanto mais senior mais a discussão pode apronfundar nos tradeoffs que vc tá escolhendo e limitacoes. Mesmo que o entrevistador fale que não é precisa é bom pincelar e mostrar que voce tem nocão do que é preciso. Na minha experiência profissional de quase 10 anos eu colocaria o candidato apto para uma vaga Mid-level Engineer. Encontrei o seu canal recentemente, e adorei ver um canal em Pt difundindo esses conhecimento! Parabéns e continue o bom trabalho!
O algoritmo do youtube pode ser uma merda as vezes mas dessa vez ele acertou. Vídeo muito top mesmo não sou DEV mas curtir muito a entrevista deu pra ter uma noção de como é e o tanto que o entrevistado é inteligente, parabéns pelo vídeo.
Muito bom conteúdo, parabéns pela iniciativa. Só uma coisa que me incomodou bastante foi a sua comunicação com muitos vícios de linguagem: éééé, ãâãã, iiii, uuuu e as últimas sílabas de muitas palavras muito arrastadas. Confesso que tenho alguns desses vícios tbm e já tô trabalhando pra melhorar
A CDN pode ficar à frente do LB. Caso encontre o recurso desejado, ele nem cairia no LB. Para dividir conteúdo por geolocalizacao, poderia ter uma WAF antes do LB onde seria feito a pesquisa originária do IP vindo do request para uma localidade, adicionando essa informação. Sabemos que VPNs podem forjar localização mas é o mundo como é. Uma boa ideia também, na minha opinião, seria um service discovery onde cada serviço que sobe no seu cluster, registraria nesse discovery, qual é o serviço e uma API gateway para servir à política de serviços. Assim ficaria melhor para saber no API gateway, qual serviço chamar.
O WAF é importante colocar antes do alb ou do api gateway, concordo. Porém sobre o waf fazer o streaming do vídeo, a conta não vai fechar, o waf é bem caro
Esta falando do AWS WAF? Se sim o WAF é uma camada de segurança, não para redirecionamento. Para isso pode-se utilizar o Route53 com regras como Geolocation ou Geoproximity ou até mesmo Latency. Ambas regras no Route53 podem ter verificações de integridade, por exemplo. O WAF (Web Application Firewall) é uma ferramenta poderosa que adiciona uma camada a mais de proteção. Embora ele possibilite criar regras baseadas em Geolocalização o objetivo com a regra é bloquear ou permitir o trafego dentro da rede.
Sobre a parte de garantir que no máximo 4 devices façam streaming, esse serviço pode usar um streaming socket pra manter as conexões abertas e mandar os chuncks, essa conexão pode estar atrelada ao usuário ao invés da sessão, e que pode contar quantos sockets estão abertos para cada usuário e evitar um session forging. Eu sei que o objetivo é manter a visualização em um nível mais alto, mas alguns requisitos exigem ir um pouco mais baixo nível, e esse acho que é um bom exemplo.
Minhas considerações pra essa solução são sobre escala e sobre custo. Talvez usar uma solução mais simples (uma espécie de lock num redis) que não deixa mais de 4 acessos na mesma conta, mas só na api de resolução de url dos chunks, resolveria. Como não vai existir solução perfeita, a ideia desses bloqueios é tornar "caro" pra pessoa que está forjando a ponto de não valer a pena, ou seja, é mais fácil ela criar novas contas (ou mudar o plano).
Acho que o maior desafio foi - como decidir quais conexões são do "mesmo usuário, mas dispositivos diferentes"? O IP não serve porque todos podem estar na mesma rede doméstica, certo? Qual outra informação pode ser usada para identificar o device e saber que dois devices são distintos?
Uma coisa que acho que faltou, seria, por exemplo, verificar quantos chunks diferentes o usuário está recebendo, se é maior ou igual a 4, além das checagens básicas.
Oitmo video, eu fiquei com uma duvida no auth apontando pro load balancer, voces falaram que precisariam de algo para verificar as permissões do usuario, como que voces fariam para ter controle disso tudo?? voces conseguiriam colocar todas essas informacoes no banco de dados do oAuth??
Problema: Desconbrir a regiao do usuairo. Solucao: Realizar uma consulta do ip desse usuario na base de dados MAXMIND. Retorno da consulta: Country e City! Um detalhe que me deixou grilado e que focaram muito em identificar os devices quando na verdade o impedimento seria apenas na acao de reproduzir conteudo mais de 4x simultaneos, entao monitorar as sessoes ou os dispositivos seria um tanto falho nesse ponto nao? Outro ponto pra tentar tratar o baixo desempenho com alto volume de dados, adicionar aos metadados informacoes de indexacao do video correspondente nao ajudaria? por exemplo filme xxxx possui index Y entao a requisicao nao rodaria arquivos desnecessarios.
Cara, acho que depois do Fábio Akita, o teu conteúdo é o melhor conteúdo sobre computação do RUclips. Tem muito conteúdo por aí muito raso, que não agrega quase nada, mas o tipo de coisa que você oferece aqui é SENSACIONAL!
no minuto : 33:15 um Cassandra resolveria seu problema de rebalanceamento, e escala. Em vez de voce usar round robin pra balancear os nodes (que nao iria escalar como voce queria), voce deveria usar Consistent Hashing pra implementar e distribuicao via hash em topologia Anel.
baita video, System Design ficou muito completo! A dica no minuto 44:00 é top
Lucas Montano do Canal Lucas Montano!
@@joaoviniciuscode O próprio!
I love you!
Conteúdo excelente! É um tipo de conteúdo que está em falta nos canais de dev brasileiros.
Ótimo vídeo!
O algoritmo de recomendações acertou em cheio hoje
Aprendi demais assistindo, parabéns pelo conteúdo de grande valor para nós desenvolvedores. Este material é sem dúvida um ponto de destaque porque me trouxe uma visão ampla e até simples de perceber as nuances entre entrevistador-entrevistado que no final vai ser o ponto de decisão da empresa para contratação do candidato.
Otimo conteúdo, valeu por trazer isso
Valeu, irmão! 🔥 Gosto principalmente de como você diz "eu não sei" várias vezes - só porque a vaga é pra Sênior, não quer dizer wue você precisa saber tudo. Aliás, pra mim, um dos indicadores de senioridade é justamente saber dizer "não sei" quando necessário.
Muito bom o conteúdo! Prendeu do inicio ao fim, obrigado.
Thanks
Sobre o programa que ele usa para desenhar, fazer o rascunho no vídeo:
Excalidraw, é gratuito... pode ser acessado via navegador ou até mesmo como um plugin dentro do software Obsidian
Cara, nem sei como te agradecer, procurava por esse programa há tempos!
Muito obrigado.
@@futyoung Pode me agradecer fazendo o bem ao próximo.
Salvou, irmão. Muito obrigado!
Vlw mano, ja vi isso em alguns videos e sempre quis saber o nome
Valeu amigo, você é um amigo.
Caramba, explodiu minha mente a conversa sobre sessões por volta dos 12 minutos e como você fez parecer simples a ideia de só admitir que não sabe! aprendi muito
Opa, excelente video! Para galera que ainda não passou por um processo seletivo de TI, esse conteúdo dá um norte muito bom.
Só alguns detalhes que acho importante comentar:
- AWS S3 não é um blob storage, mas sim um object storage. Há semelhanças, porém são serviços distintos que lidam de forma diferente com os objetos.
- Faltou mencionar o protocolo de comunicação entre o cliente e o LB. UDP ou TCP?
- Não é correto colocar um loadbalancer como camada de comunicação com o cliente. Loadbalancer é um simples serviço de distribuição de carga, e não possui recursos avançados de controle de tráfego. Por exemplo, vc não consegue setar request rate limit no loadbalancer, por isso o ideal seria colocar um API Gateway entre o cliente e o LB.
- AWS WAF para controle de tráfego por região.
Em relação ao penúltimo tópico, sobre LB, teria algum cenário específico que o LB ficaria antes do Gateway, invertendo a ordem que você propôs? Eu estava com essa exata dúvida e praticamente todas fontes de informações dizia que dependia da situação
@@gusta4353 De fato depende. Acho que fui muito incisivo no meu comentário. haha
Por exemplo, se vc tem sua infra na AWS e quer utilizar o AWS Certificate Manager (ACM) para gerenciar seus certificados, provavelmente vc vai ter que colocar um AWS LB na frente do seu API Gateway. Dessa forma vc consegue associar os certificados do ACM no seu LB e fazer o SSL termination ali mesmo. Então nesse caso o seu API Gateway ficaria depois do LB.
@@sr.cenoura-rr Incorreto.
Vc pode (e é até importante) que o api gateway seja a porta de entrada. Ele permite associar certificados e fazer o upstream pra um load balancer. Eu ainda colocaria o lb com ip privado, garantindo que ele não seja acessível sem passar pelo api gateway.
Aproveitando o ponto do api gateway, a autenticação já poderia ser colocada lá, com um cognito.
@@tkrafael Eu acho que vc não entendeu meu ponto. Eu disse que se vc quiser utilizar o AWS Certificate Manager como serviço de gerenciamento de certificados, vc poderia colocar um load balancer na frente do API Gateway (não estou falando do serviço AWS API Gateway aqui). Vc não consegue associar certificados gerenciados pela AWS à serviços não gerenciados pela AWS, tipo um Kong stand-alone.
Top!! Exatas perguntas que eu me fiz aqui ele acabou não abordando. Único ponto é que para controle de trágedo por região é por Route 53 com geolocation. WAF é uma camada de segurança a mais.
Valeu!
Muito bom! Assisti do começo ao fim e nem vi o tempo passar 👏
Vim por curiosidade (algoritmo me jogou aqui). Acho massa demais saber como essas coisas são desenvolvidas. Baita vídeo!
Não acredito que assisti uma entrevista de 45 minutos para Dev Senior hahah, não sou desenvolvedora, sou designer, e quando ele começou a falar de System Design pensei que ia falar de Design System e fiquei confusa. No mais, que assertividade esse cara têm, baita vídeo igual o Lucas Montano comentou!
Excelente vídeo!! Gostaria de ver mais desse tipo com vcs dois!! Parabéns..
Conteúdo show, valeu Augusto e Leonardo!
Espetacular esse conteúdo e uma demostração pratica SHOW !!!
To estudando sobre programação faz 2 dias e ja apareceu esse video pra mim. Baita vídeo!
Nossa, aprendi muita coisa aqui, vou salvar esse vídeo e estudar em cima. Tenho muita experiência, mas to com alguns gaps em system design. Galego ce manda muito e parabéns ao Leo também! Sucesso para vocês.
Caraca, a quanto tempo não vejo um video bom desses
Adorei o video, gostaria de ver mais desse tipo de video, vale ouro
Show de bola o conteúdo!
Totalmente hands-on, técnico e informativo.
Deixei me like e abs.
Vídeo muito legal, mesmo não tendo muito conhecimento das nomenclaturas e algumas tecnologias deu pra ter uma noção top de como é...
Ainda não terminei o vídeo e é foda!!!! Continue trazendo vídeos assim.
Que vídeo incrível!!!
cara, parabéns pelo vídeo!
Muito enriquecedor, sem dúvidas
Estou chegando... Falta muito ainda mas... Estou chegando nesse nível.
excelente o video. vou usar e pensar nesses pequenos detalhes. Realmente e bom passar o raciocionio para o entrevistador.
Obrigado pelos videos, augusto. Ótimo conteúdo sempre ! Sucesso...
Vídeo muitooooo massa, valeu mesmo. Faz mais vídeos de entrevista para outros cenários, nesta mesma pegada. Tanks👍🏽
Gostei do Galego, nessa mock interview... ele consegue enrolar bem, montou um frankenstein e tudo pra ele é "razoável"
Incrível ,que dupla !! realmente vocês desmistificaram sytem design.Pensem em trazer mais conteúdos assim como este, mas também qualquer outros kkk.
Gostei muito, você é realmente absurdo nos conteúdos. Assim, vendo de longe eu adicionaria WAF para as validações de países e regras de redirecionamento (o WAF já tem ambas features).
No quesito do Cache, eu utilizaria CDN sim, no caso da AWS, Cloudfront, ele faz o papel de guardar o conteúdo estático de algumas rotas, incluindo vídeos e assim você não precisa se preocupar, em segundo caso configurar o Nginx (que você vai usar mesmo que indiretamente lá no load balancer) pra realizar cache também seria uma boa.
Agora, ao quesito do autoscaling, acho que sua ideia de alterar na mão é o certo, eu faria o seguinte, caso você use EKS, nesse tipo de sistema acredito que seja até o recomendável, em segundo caso, ECS. Criar um autoscaling por nodes acho que seria o mais correto, eu alteraria a quantidade minimas de nodes para maxima e deixaria a quantidade atual (desire size) no mínimo e aumentaria bastante a quantidade de nodes, pra que escalassem automaticamente e no Autoscaling você pode configurar % de node pra escalar
Obrigado pela dica, irmão.
- Precisa replicar toda a infra numa nova região para servir múltiplos países? Só o CDN cacheando os vídeos, e esse cache estando em diferentes regiões, é suficiente, certo?
- Sobre o WAF - ele consegue acessar os metadados no DB e validar se aquele vídeo pode ou não ser reproduzido naquela região? Eu pensei em algo diferente - provavelmente em algum momento da infra, o país (country code) é injetado no request. De repente o próprio service pode fazer essa validação?
@@StanleySathler WAF é uma camada de segurança, não para redirecionamento, balanceamento ou divisão de trafego. Para isso pode-se utilizar o Route53 com regras como Geolocation ou Geoproximity ou até mesmo Latency. Ambas regras no Route53 podem ter verificações de integridade, por exemplo.
O WAF (Web Application Firewall) é uma ferramenta poderosa que adiciona uma camada a mais de proteção. Embora ele possibilite criar regras baseadas em Geolocalização o objetivo com a regra é bloquear ou permitir o trafego dentro da rede.
Ótimo vídeo. Muito interessante.
Muito bom. Se conseguir trazer mais vídeos nessa pegada, iria ajudar muito.
Ótimo vídeo, gostei muito da parte de feedbacks boas dicas pra lembrar!
Legal , no geral.
Faltou do lado do entrevistar, uns "Olha, essa decisão é sua, não minha".
Isso é classico, para adicionar um nervosismo ao entrevistado e ver como ele se sai nesse ponto.
Ficou muito friendly.
se te falaram isso provavelmente demonstrou insegurança nas suas decisões, o que já foi um ponto fraco por si
conteúdo excelente! deu até pra ver a "realidade" pois voce nunca lidou com streaming então foi bem honesto. muito legal!
Cai aqui por acaso e agora é um caminho sem volta tmj
Aodrei o conteúdo em Português. Se me permite, vou deixar algumas dicas que ajudaria o candidato a ressaltar a candidatura para uma vaga Senior:
- Senti falta de ver o candidato definir os requisitos e restricoes com o entrevistador a priori antes de propor uma arquitetura. O entrevistador proveu alguns requisitos funcionais e eles são intencionalmente bem abertos e dubios. Uma dica é prover estimativa de tamanho de problema e descrever as "assumptions", restricoes com a qual vc tá projetando sua arquiteura de sistema. Exemplo:
> Número the requests (pico, e média), padrão de acesso (geografico, horario, live stream, acesso simultaneo em certa localidade ao liberar episodio novo, maximo numero de streams simulataneos na mesma conta, etc), padrão de leitura/escrita (aplicacao vai escrever muito ou ler muito do DBs / blob storage, etc) e como isso influencia nas suas escolhas arquiteturais.
- Acho que rolou meio uma receitinha de bolo sem contextualizar um pouco. É importante o candidato demonstrar a sequencia até o problema ser resolvido e como o diferentes componentes iteragem durante a sequeência.
Por example: Entre o usuario abrir o aplicativo / webapp e clicar e comecar a assistir um show quais sao os sistemas que sao ativados, e quais são as interacoes e messagens que eles trocam. Isso vai permitir o entrevistador entender o seu nivel de entendimento. Quanto mais senior mais a discussão pode apronfundar nos tradeoffs que vc tá escolhendo e limitacoes. Mesmo que o entrevistador fale que não é precisa é bom pincelar e mostrar que voce tem nocão do que é preciso.
Na minha experiência profissional de quase 10 anos eu colocaria o candidato apto para uma vaga Mid-level Engineer.
Encontrei o seu canal recentemente, e adorei ver um canal em Pt difundindo esses conhecimento! Parabéns e continue o bom trabalho!
O algoritmo do youtube pode ser uma merda as vezes mas dessa vez ele acertou. Vídeo muito top mesmo não sou DEV mas curtir muito a entrevista deu pra ter uma noção de como é e o tanto que o entrevistado é inteligente, parabéns pelo vídeo.
Muuuuito show mesmo. Obrigada pelo conteúdo
Muito bom conteúdo, parabéns pela iniciativa. Só uma coisa que me incomodou bastante foi a sua comunicação com muitos vícios de linguagem: éééé, ãâãã, iiii, uuuu e as últimas sílabas de muitas palavras muito arrastadas. Confesso que tenho alguns desses vícios tbm e já tô trabalhando pra melhorar
Estou me preparando pra algumas entrevistas e os videos do seu canal são excelentes.
Cheguei do nada aqui, entendo nada de DEV, mas que conteúdo sensacional!
Que vídeo sensacional !!
Mtt top o conteúdo!! Ganhou um inscrito!
Top demais esse conteudo, ultima intrevista foi muito boa também!
Que conteúdo incrível!
Obrigado pelo conteúdo!
A CDN pode ficar à frente do LB. Caso encontre o recurso desejado, ele nem cairia no LB. Para dividir conteúdo por geolocalizacao, poderia ter uma WAF antes do LB onde seria feito a pesquisa originária do IP vindo do request para uma localidade, adicionando essa informação. Sabemos que VPNs podem forjar localização mas é o mundo como é. Uma boa ideia também, na minha opinião, seria um service discovery onde cada serviço que sobe no seu cluster, registraria nesse discovery, qual é o serviço e uma API gateway para servir à política de serviços. Assim ficaria melhor para saber no API gateway, qual serviço chamar.
O WAF é importante colocar antes do alb ou do api gateway, concordo. Porém sobre o waf fazer o streaming do vídeo, a conta não vai fechar, o waf é bem caro
Esta falando do AWS WAF? Se sim o WAF é uma camada de segurança, não para redirecionamento. Para isso pode-se utilizar o Route53 com regras como Geolocation ou Geoproximity ou até mesmo Latency. Ambas regras no Route53 podem ter verificações de integridade, por exemplo.
O WAF (Web Application Firewall) é uma ferramenta poderosa que adiciona uma camada a mais de proteção. Embora ele possibilite criar regras baseadas em Geolocalização o objetivo com a regra é bloquear ou permitir o trafego dentro da rede.
Galego, melhor conteúdo obg
Sobre a parte de garantir que no máximo 4 devices façam streaming, esse serviço pode usar um streaming socket pra manter as conexões abertas e mandar os chuncks, essa conexão pode estar atrelada ao usuário ao invés da sessão, e que pode contar quantos sockets estão abertos para cada usuário e evitar um session forging.
Eu sei que o objetivo é manter a visualização em um nível mais alto, mas alguns requisitos exigem ir um pouco mais baixo nível, e esse acho que é um bom exemplo.
Minhas considerações pra essa solução são sobre escala e sobre custo. Talvez usar uma solução mais simples (uma espécie de lock num redis) que não deixa mais de 4 acessos na mesma conta, mas só na api de resolução de url dos chunks, resolveria.
Como não vai existir solução perfeita, a ideia desses bloqueios é tornar "caro" pra pessoa que está forjando a ponto de não valer a pena, ou seja, é mais fácil ela criar novas contas (ou mudar o plano).
Acho que o maior desafio foi - como decidir quais conexões são do "mesmo usuário, mas dispositivos diferentes"? O IP não serve porque todos podem estar na mesma rede doméstica, certo? Qual outra informação pode ser usada para identificar o device e saber que dois devices são distintos?
Pensei a mesma coisa. Fiquei surpreso que pouca gente lembra de socket
Video muito brabo, um dia chego nesse nivel!
Parabéns pela didática.
Vi no linkedin e procurei aqui. Top
Sugestão: Adicione "System Desing" no titulo ou descrição do video, pois esse termo é muito buscado, porem existe pouco conteúdo em pt-br.
qual é definição de metadados? qual a diferença entre eles e dados que salvamos no postgres tipo email, senhas, playlists, etc?
Metadados são dados sobre os dados. No caso o dado seria o vídeo e os metadados seriam duração, formato.
Que video sensacional! uma coisa que percebi é que a voz do menezes é idêntica a do Geopasch
Gostei muito do vídeo, qual o nome do soft que usam para criar esses mapas inteligentes?
Show de bola man, concerteza passou
Obrigado por compartilhar!
Conteúdo top demais!
Uma coisa que acho que faltou, seria, por exemplo, verificar quantos chunks diferentes o usuário está recebendo, se é maior ou igual a 4, além das checagens básicas.
Conteúdo muito bom !! .
faltou o protocolo UDP para streamar =P Muito bom ;)
É bem legal esse vídeo, a Laís Lima fez uma playlist de como trabalhar com streaming da para controlar bastante coisa no nginx
Muito massa e informativo!
depois que conheci o canal do Galego, consumi todos os videos e lives em dias kkk
Alguém saberia dizer qual software ele utiliza para fazer esses desenho?
também estou querendo saber
excalidraw
qual aplicativo ele ultilizou pra fazer essa apresentação
Qual é este aplicativo para desenhar os esquemas e fluxograma?
alguem sabe qual sofware é esse que utiliza para fazer os diagramas
Acho a programação muito foda. Sou designer entao nao entendi 97% das palavras desse vídeo, mas que video foda!
Parabéns pela dinâmica! Seria legal se fizessem uma em inglês pra quem está tentando vaga no exterior…
Alguem sabe o nome dessa ferramenta utilizada pra desenhar ?
excalidraw
foda man, me deu um norte
Qual programa eles estão usando para fazer os desenhos ?
Da pra saber pra qual região manda os dados deixando o endpoint no client dynamic tbm haha pegando pela geolocalização dele no momento
o que acha de na parte de escalabilidade dos servidores usar lambda mesmo, só que pra servir os videos usar s3 + CDN com presigned urls?
Conteúdo top!!!
Cara isso é muito bom.
Traga mais conteúdos desse tipo
Oitmo video, eu fiquei com uma duvida no auth apontando pro load balancer, voces falaram que precisariam de algo para verificar as permissões do usuario, como que voces fariam para ter controle disso tudo?? voces conseguiriam colocar todas essas informacoes no banco de dados do oAuth??
Qual o nome dessa ferramenta que você utiliza para desenhar?
porque tipo, o Blob não seria o responsável por enviar o vídeo pro cliente, quem enviará pro client seria o cdn...
Problema: Desconbrir a regiao do usuairo.
Solucao: Realizar uma consulta do ip desse usuario na base de dados MAXMIND.
Retorno da consulta: Country e City!
Um detalhe que me deixou grilado e que focaram muito em identificar os devices quando na verdade o impedimento seria apenas na acao de reproduzir conteudo mais de 4x simultaneos, entao monitorar as sessoes ou os dispositivos seria um tanto falho nesse ponto nao?
Outro ponto pra tentar tratar o baixo desempenho com alto volume de dados, adicionar aos metadados informacoes de indexacao do video correspondente nao ajudaria? por exemplo filme xxxx possui index Y entao a requisicao nao rodaria arquivos desnecessarios.
Cara, acho que depois do Fábio Akita, o teu conteúdo é o melhor conteúdo sobre computação do RUclips. Tem muito conteúdo por aí muito raso, que não agrega quase nada, mas o tipo de coisa que você oferece aqui é SENSACIONAL!
Excelente conteúdo, poderia me falar qual o software utilizado para as anotações durante a live?
Alguém poderia me dizer que software é esse que ele esta desenhando ?
alguem sabe o programa que ele usa p escrever e desenhar as coisas durante o video?
Excalidraw, é gratuito... pode ser acessado via navegador ou até mesmo como um plugin dentro do software Obsidian
Video muito top, qual e o nome desse programa que vc usou para desenhar?
Como chama esse app de notaçõs que ele esta usando?
no minuto : 33:15 um Cassandra resolveria seu problema de rebalanceamento, e escala. Em vez de voce usar round robin pra balancear os nodes (que nao iria escalar como voce queria), voce deveria usar Consistent Hashing pra implementar e distribuicao via hash em topologia Anel.
Cada client pode ver um vídeo por vez, na netflix da pra abrir 2 abas e ver os 2 videos? se sim F mas no mobile da pra segurar
conteúdo brabo man! qual app tu ta usando pra desenhar o fluxograma?
.
@@Victor-qy6lc achei um comentário em outro video que salvou, é o Excalidraw 😅
.
excalidraw
é no proprio navegador
Muito bom
Caraca, morrendo pra achar o nome deste app! SHOW.
O video ja ta favoritado na minha playlist! Tesouro!
Qual aplicativo é esse que estão utilizando para demonstração?
Qual o nome da ferramenta que ele está desenhando?
excalidraw
Ótimo vídeo, ajudou bastante a ter uma noção de onde me encontro hoje no mercado.
Por curiosidade, qual ferramenta foi usada no design?
acho que seja o Excalidraw
@@guilhermeandrade2317 Fui validar, é esse mesmo.
Muito obrigado!