web developer na spotify um dia na vida de um - qconsp · (até meados de 2010) (a partir de...
TRANSCRIPT
![Page 1: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/1.jpg)
Um dia na vida de um Web Developer na Spotify
QCon SP 2019
Henrique Truta | Yuri Teixeira
![Page 2: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/2.jpg)
● Quem somos?● De onde viemos?● Para onde vamos?● E a WEB com isso?
![Page 3: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/3.jpg)
![Page 4: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/4.jpg)
Em números:
Usuários mensais: 217 miEm 79 países50 mi músicas + podcasts3 bi playlists
![Page 5: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/5.jpg)
Tecnologia e impacto:
+10 mi requisições / s (pico)~1500 desenvolvedores+6000 mudanças por dia
![Page 6: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/6.jpg)
A Web em 2014.
![Page 7: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/7.jpg)
(Até meados de 2010) (A partir de 2012… até hoje)
("Solução caseira", entre 2010 e 2012)
![Page 8: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/8.jpg)
8
![Page 9: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/9.jpg)
9
Panorama da Web
● Foco máximo no produto e mínimo nos processos
● Soluções proprietárias para APIs
● Autonomia com pouco alinhamento
● Definitivamente, não era a prioridade
![Page 10: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/10.jpg)
![Page 11: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/11.jpg)
na primeira classe...enquanto isso,
![Page 12: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/12.jpg)
● Guildas se alinhavam
● Microsserviços e modularização
● Padronização e documentação
● Suporte dos times de infra-estrutura
Backends e Desktop/Mobile amadureciam
![Page 13: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/13.jpg)
![Page 14: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/14.jpg)
![Page 15: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/15.jpg)
![Page 16: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/16.jpg)
![Page 17: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/17.jpg)
![Page 18: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/18.jpg)
E a web?
![Page 19: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/19.jpg)
![Page 20: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/20.jpg)
Desafios à frente:
Crescimento exponencial
Big players também se interessavampelo mercado
Experimentar é preciso, logo, acelerar também
(em todos os sentidos)
![Page 21: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/21.jpg)
Tendências
Ubiquidade da web (browsers como containers, js servidores, BDs e até
wearables)
Novos produtos dependentes de web apps
com casos de uso mais sofisticados
Engajamento e expertise em JS cresciam, internamente e externamente
![Page 22: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/22.jpg)
![Page 23: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/23.jpg)
T-SHAPED DEVS ou no bom português, "devs perfil T"
![Page 24: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/24.jpg)
TESPE
CIA
LIST
A
GENERALISTA
![Page 25: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/25.jpg)
Web se consolidando como "cidadão de primeira classe"
WEB INFRA: construindo infra JUNTOS
Guildas web globais e regionais
Compartilhamento de componentes e bibliotecas
Participação ativa em mudanças no Tech Radar
Node.JS ao invés de PHP para SSR
![Page 26: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/26.jpg)
A web HOJE
JS: ~4K repos / 400 devs PHP: ~170 repos / 25 devsApps web: +50 (só externos)
● Players em browsers desktop e mobile, desktop player (CEF), TVs e video-games (em breve em mais devices populares), Google Cast (dongle, google home e smart displays)
● Spotify para artistas● Ads self-service (propaganda)● ...
● Visualizações: Seu ano na música
![Page 27: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/27.jpg)
Infra-estrutura para Web, versão 2019
![Page 28: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/28.jpg)
28
Gerrit - Antes
![Page 29: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/29.jpg)
29
Github Enterprise
![Page 30: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/30.jpg)
30
![Page 31: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/31.jpg)
31
![Page 32: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/32.jpg)
32
Backstage
![Page 33: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/33.jpg)
Tech docs
33
Onde encontrar informação? Confluence
GitHub Enterprise
Google Drive
Blog interno
spotify.facebook.com
search.spotify.net
![Page 34: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/34.jpg)
Tech docs
34
Tech Docs
![Page 35: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/35.jpg)
Escalando os
35
Provisionamento - antesFoi desde falar com 1 ou 2 pessoas que criavam instâncias no datacenter
Até a solução "moderna", que em vez de falar diretamente, criava um ticket no JIRA
Levava dias para provisionar
![Page 36: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/36.jpg)
36
Provisionamento - hoje
![Page 37: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/37.jpg)
37
Identificando testes instáveis
![Page 38: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/38.jpg)
38
CI/CD - AntesCada time gerenciava seu
próprio Jenkins
Foi criado um conjunto de guidelines para criar e
como manter a instância
Autonomia pros times
![Page 39: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/39.jpg)
39
...
DSL em groovy para configuração das
pipelines
Similar ao Jenkinsfile, que surgiu depois
![Page 40: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/40.jpg)
40
CI/CD - Antes
x200
Ninguém na verdade fazia a devida manutenção
Muitos deixavam de ser descartáveis e viravam
pets
Jenkins 1 não recebe atualização de segurança
há 3 anos
![Page 41: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/41.jpg)
41
CI/CD - HojeSolução interna, centralizada,
de CI/CD
Cuidar tanto da infraestrutura, como da definição das build
pipelines
Evitar lock-in
![Page 42: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/42.jpg)
42
CI/CD - Hoje
![Page 43: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/43.jpg)
43
CI/CD - Feedback
![Page 44: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/44.jpg)
44
HeliosMilhares containers Docker precisam de alguma coordenação
Solução in-house, de código aberto
https://github.com/spotify/helios
![Page 45: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/45.jpg)
45
Helios
Kubernetes
Kubernetes
![Page 46: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/46.jpg)
46
TugboatSolução in-house, abstração de camada de deployment
Hoje controla deployments no Helios e/ou Kubernetes
![Page 47: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/47.jpg)
47
Rollback
![Page 48: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/48.jpg)
48
Ambiente de testes
![Page 49: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/49.jpg)
49
Host
Backstage
pacotesNPM
Artifactory
Tingle
Código-fonte
GitHubEnterprise
build-info.yaml
Google Container Registry
imagem docker
Tugboat Agente helios/k8s
Serviço rodando
build e deploy de um web app
CDN
Google Cloud Storage
![Page 50: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/50.jpg)
Demo
![Page 52: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/52.jpg)
FuturoKubernetes para provisionamento por default
Registros de DNS mais fáceis e rápidos
+ Soluções "1-clique"
+ infra construída em comunidade
![Page 53: Web Developer na Spotify Um dia na vida de um - QConSP · (Até meados de 2010) (A partir de 2012… até hoje) ("Solução caseira", entre 2010 e 2012) 8. 9 Panorama da Web Foco](https://reader033.vdocuments.mx/reader033/viewer/2022050217/5f62d37338de0e42ad6d3c0d/html5/thumbnails/53.jpg)
Muito Obrigado! <3Perguntas?