ARQUITETANDO O GOOGLE DRIVE NA PRÁTICA | SYSTEM DESIGN

Renato Augusto2026-05-0644 minutosAvançado
System DesignArquitetura de SoftwareSistemas DistribuídosCloud StorageBack-endProgramação
Renato AugustoConteúdo de propriedade do criador

Descrição original do criador:

Aprenda a arquitetar o Google Drive na prática, um dos desafios mais cobrados em System Design, abordando sistemas distribuídos, upload de arquivos em larga escala e sincronização local e em nuvem.

Renato Augusto

Sobre o Curso

Neste vídeo, Renato Augusto explora detalhadamente como arquitetar o Google Drive na prática, um dos desafios de System Design mais cobrados em entrevistas para programadores e arquitetos de software. O conteúdo aborda a arquitetura completa de um sistema de armazenamento em nuvem, cobrindo sistemas distribuídos, upload de arquivos em larga escala, sincronização local e armazenamento em nuvem.

O que você vai aprender

  • Como funciona a arquitetura completa de um sistema de armazenamento em nuvem como o Google Drive
  • Como lidar com milhões de uploads e downloads simultaneamente
  • Como funciona o upload de arquivos utilizando Signed URLs e Multipart Upload
  • O papel do Amazon S3 no armazenamento de arquivos em larga escala
  • Como funciona a sincronização entre a pasta local do usuário e a nuvem
  • Como sistemas detectam mudanças em arquivos usando APIs do sistema operacional como inotify e FSEvents
  • Como lidar com arquivos gigantes, retomada de upload e tolerância a falhas
  • Como funciona o fluxo de download eficiente diretamente do Object Storage

Pré-requisitos

  • Conhecimento sólido em programação (backend ou fullstack)
  • Conceitos básicos de arquitetura de software e sistemas
  • Familiaridade com terminal/linha de comando
  • Interesse em sistemas com alta concorrência e distribuídos

Para quem é este curso

  • Programadores backend e fullstack que querem dominar System Design
  • Desenvolvedores que querem entender sistemas com alta concorrência
  • Engenheiros e arquitetos que trabalham com sistemas distribuídos
  • Programadores que querem sair do nível intermediário e chegar no avançado