La stack technique de Hey
(mobile.twitter.com)-
Backend : Ruby on Rails vanilla
-
Frontend : Stimulus, Turbolinks, Trix + α (publication à venir)
-
MySQL (sharding avec Vitess)
-
Redis pour les données de courte durée et le caching
-
ElasticSearch
-
AWS/K8S/EKS
-
Codebase en monolithe majestueux
-
Application de la méthodologie de développement ShapeUp
-
Toutes les revues de code se font sur GitHub
-
La gestion du processus de développement se fait avec BaseCamp
-
Les apps mobiles sont natives (Swift/Kotlin), le desktop est sous Electron
-
Serveur mail Postfix + Action Mailbox
-
imageproxy, un serveur de cache d’images écrit en Go -
L’équilibrage de charge est assuré par ALB
-
Les jobs en arrière-plan utilisent Resque
-
2 ans de développement
-
Traitement de 30000 requêtes web par minute
-
"React is so 2019. HTML + minimum JS is 2020"
-
"HEY is 99% K8s (EKS)"
-
Utilisation de k8s pour éviter le lock-in
-
MySQL utilise Aurora
-
Basecamp a trop souffert avec GCP, donc cette fois ils sont partis sur AWS (un downtime GCP avait fait tomber tout Basecamp)
1 commentaires
Hey - le nouveau service e-mail créé par Basecamp https://fr.news.hada.io/topic?id=2285
Turbolinks - pour accélérer la navigation dans les web apps https://fr.news.hada.io/topic?id=2289
En complément, une série d’articles qui analyse le code web de Hey.com
A few sneak peeks into Hey.com technology
1 - Intro https://dev.to/borama/…
2 - Keyboard Shortcuts https://dev.to/borama/…
3 - Turbolinks Frames https://dev.to/borama/…
4 - Turbolinks Frames 2 https://dev.to/borama/…
5 - Stimulus Enhancements https://dev.to/borama/…
6 - Template page updates https://dev.to/borama/…