Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
#GX24
De 0 a 2.000.000 de usuarios
Arquitectura de la app
LigaMX
Armin Bachmann
armin@genexus.com
@arminbachmann
#GXMX
• Liga profesional de fútbol de México
• TOP 10
• Población 122.3 millones
• 40.4 millones de smartphones
#GXMX
• iOS & watchOS2
• Android
• Liberada:
Febrero 2015
APP LIGAMX
2.000.000
DOWNLOADS
Desafíos
#GXMX
• Mobile Native Apps
– iOS
– Android
• Great UX
USER PERSPECTIVE
#GXMX
• Extremadamente alta demanda
• Alta disponibilidad
• Push Notifications
• Imágenes, Video Streaming
• Cloud
• Servi...
Diseñada para escalar
Arquitectura
Infraestructura
Desarrollo
Extramadamentealtademanda
User Interface
REST
Business Logic
REST Interface
DATA LAYER
Business Logic
Native
MOBILE
Client
WEB SERVER
DATABASE
REST/...
0
50
100
150
200
250
300
350
400
450
App
1x WebServer Throughput (req/second)
App
10.000 req/s - 25 WEB
SERVERS
User Interface
REST
Business Logic
REST Interface
DATA LAYER
Business Logic
Native
MOBILE
Client
WEB
SERVER
DATABASE
REST/...
CACHE WEB SERVER
0
500
1000
1500
2000
2500
3000
3500
4000
4500
App Cache ON
1x WebServer Throughput (req/second)
App
Cache ON
> 40.000
Usuarios simultáneos
Requests per minute
220.000 req/min
Latencia promedio por minuto
9ms
Tiemo de respuesta
promedio
Elasticidad
DATABASE
WEB SERVER
REST
LOAD BALANCER
BD
WEB SERVERS
REST/JSON
5 minutos
Imágenes
Video
Ancho de banda
> 80 GB en disco
IMÁGENES Y VIDEO
LB
BD
LB
Contenido
estático
AWS S3
Imágenes,
videos
Contenido
estático
AWS S3
Imágenes,
videos
JSON, dynamic
content
http://appligamx.com/myapv1/Resources/Team/america.png
ht...
5.000 GB / mes
Transferencia de
datos
PUSH NOTIFICATIONS
TEAM1 TEAM2 TEAM3
Canales
TEAM1 TEAM2 TEAM3
200.000.000
Notificaciones enviadas
250.000
Por segundo
Restricciones
BuenasPrácticas
Web Services
LOAD BALANCER
DB
PUSH
NOTIFICATIONS,
OPERATIONS
DATA UPDATE
CODE OPTIMIZATION
#GXMX
• In RAM Memory -> Distributed Caching
• In Database
(With expiration time or not)
CACHING
Bajoscostosdeinfraestructura
LOAD BALANCER
Static
Content
AWS S3
MYSQL
RDS
Windows
Server 2008
REST
JAVA LINUX TOMCAT
Imágenes
video
PUSH
NOTIFICATIONS...
Infraestructura
5x LINUX 4GB RAM, 2 CORES
LINUX SVN SERVER
WINSERVER 2008 (Push Notification + Data Update)
RDS MYSQL: 2 C...
TIPS
#GXMX
• 2.000.000 downloads
• + 400.000 usuarios los fines de semana
• 200.000.000 push notifications
• + 40.000 usuarios ...
#GXMX
• Foco en Usuario:
– UX, Diseño
– Comportamiento
• Cuidado en
– Arquitectura
– Infraestructura
#GXMX
• iOS & watchOS2
• Android
• Desarrollada con
GeneXus
MOBILE APP LIGAMX
¡MUCHAS GRACIAS!
Armin Bachmann – armin@genexus.com - @arminbachmann
Credits to Gonzalo Gallotti – ggallotti@genexus.com
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
LigaMX con GeneXus: De 0 a 1.700.000 de usuarios
Upcoming SlideShare
Loading in …5
×

LigaMX con GeneXus: De 0 a 1.700.000 de usuarios

0 views

Published on

La aplicación oficial de la LigaMX fue desarrollada con GeneXus y ya cuenta con más de 1.700.000 de usuarios.
Los desafíos tecnológicos y las decisiones de arquitectura que permitieron lograr esta exitosa aplicación.

Published in: Software
  • Be the first to comment

  • Be the first to like this

LigaMX con GeneXus: De 0 a 1.700.000 de usuarios

  1. 1. #GX24 De 0 a 2.000.000 de usuarios Arquitectura de la app LigaMX Armin Bachmann armin@genexus.com @arminbachmann
  2. 2. #GXMX • Liga profesional de fútbol de México • TOP 10 • Población 122.3 millones • 40.4 millones de smartphones
  3. 3. #GXMX • iOS & watchOS2 • Android • Liberada: Febrero 2015 APP LIGAMX
  4. 4. 2.000.000 DOWNLOADS
  5. 5. Desafíos
  6. 6. #GXMX • Mobile Native Apps – iOS – Android • Great UX USER PERSPECTIVE
  7. 7. #GXMX • Extremadamente alta demanda • Alta disponibilidad • Push Notifications • Imágenes, Video Streaming • Cloud • Servicios Externos (LigaMX API) LO QUE NO SE VE
  8. 8. Diseñada para escalar
  9. 9. Arquitectura Infraestructura Desarrollo
  10. 10. Extramadamentealtademanda
  11. 11. User Interface REST Business Logic REST Interface DATA LAYER Business Logic Native MOBILE Client WEB SERVER DATABASE REST/JSO N
  12. 12. 0 50 100 150 200 250 300 350 400 450 App 1x WebServer Throughput (req/second) App
  13. 13. 10.000 req/s - 25 WEB SERVERS
  14. 14. User Interface REST Business Logic REST Interface DATA LAYER Business Logic Native MOBILE Client WEB SERVER DATABASE REST/JSO N CACHE CACHE Cache
  15. 15. CACHE WEB SERVER
  16. 16. 0 500 1000 1500 2000 2500 3000 3500 4000 4500 App Cache ON 1x WebServer Throughput (req/second) App Cache ON
  17. 17. > 40.000 Usuarios simultáneos
  18. 18. Requests per minute 220.000 req/min
  19. 19. Latencia promedio por minuto 9ms Tiemo de respuesta promedio
  20. 20. Elasticidad
  21. 21. DATABASE WEB SERVER REST
  22. 22. LOAD BALANCER BD WEB SERVERS REST/JSON
  23. 23. 5 minutos
  24. 24. Imágenes Video Ancho de banda
  25. 25. > 80 GB en disco IMÁGENES Y VIDEO
  26. 26. LB BD
  27. 27. LB Contenido estático AWS S3 Imágenes, videos
  28. 28. Contenido estático AWS S3 Imágenes, videos JSON, dynamic content http://appligamx.com/myapv1/Resources/Team/america.png https://s3.amazonaws.com/futbolx/ligamx/teams/america/badge.png
  29. 29. 5.000 GB / mes Transferencia de datos
  30. 30. PUSH NOTIFICATIONS
  31. 31. TEAM1 TEAM2 TEAM3 Canales
  32. 32. TEAM1 TEAM2 TEAM3
  33. 33. 200.000.000 Notificaciones enviadas 250.000 Por segundo
  34. 34. Restricciones BuenasPrácticas
  35. 35. Web Services
  36. 36. LOAD BALANCER DB PUSH NOTIFICATIONS, OPERATIONS DATA UPDATE
  37. 37. CODE OPTIMIZATION
  38. 38. #GXMX • In RAM Memory -> Distributed Caching • In Database (With expiration time or not) CACHING
  39. 39. Bajoscostosdeinfraestructura
  40. 40. LOAD BALANCER Static Content AWS S3 MYSQL RDS Windows Server 2008 REST JAVA LINUX TOMCAT Imágenes video PUSH NOTIFICATIONS & Actualización de datos REST
  41. 41. Infraestructura 5x LINUX 4GB RAM, 2 CORES LINUX SVN SERVER WINSERVER 2008 (Push Notification + Data Update) RDS MYSQL: 2 CORE, 8GB RAM AWS S3 para Contenido Estático LOAD BALANCER (AWS)
  42. 42. TIPS
  43. 43. #GXMX • 2.000.000 downloads • + 400.000 usuarios los fines de semana • 200.000.000 push notifications • + 40.000 usuarios conectados simultáneos ANALYTICS
  44. 44. #GXMX • Foco en Usuario: – UX, Diseño – Comportamiento • Cuidado en – Arquitectura – Infraestructura
  45. 45. #GXMX • iOS & watchOS2 • Android • Desarrollada con GeneXus MOBILE APP LIGAMX
  46. 46. ¡MUCHAS GRACIAS! Armin Bachmann – armin@genexus.com - @arminbachmann Credits to Gonzalo Gallotti – ggallotti@genexus.com

×