Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The good, the bad, and the DevOps

The good, the bad, and the DevOps

Fernando Perales

March 26, 2019
Tweet

More Decks by Fernando Perales

Other Decks in Programming

Transcript

  1. #GDLJS
    EL BUENO, EL
    MALO, Y EL DEVOPS
    FERNANDO PERALES
    #GDLJS

    View Slide

  2. #GDLJS

    View Slide

  3. #GDLJS
    Ingenierio de Software @ michelada.io
    Promotor @ FLOSS
    Doom Metal Lover
    Anfitrión @ Traguitos de michelada meetup
    & ⌚ ❤

    View Slide

  4. #GDLJS

    View Slide

  5. #GDLJS

    View Slide

  6. #GDLJS

    View Slide

  7. #GDLJS

    View Slide

  8. #GDLJS

    View Slide

  9. #GDLJS
    EL PROYECTO

    View Slide

  10. #GDLJS
    • Joyent -> Azure
    • 4 aplicaciones (1 pública, 3 internas)
    • ~50 instancias (aplicaciones, bases de datos (SQL y en memoria),
    balanceadores de carga, proxies, servidores web, replicas)
    • Dependencias de terceros (Salesforce, Fastly, Mulesoft, Google
    OAuth 2.0

    View Slide

  11. #GDLJS
    DEVOPS

    View Slide

  12. #GDLJS

    View Slide

  13. #GDLJS
    DEV QUIERE LANZAR
    FUNCIONALIDAD
    PRONTO

    View Slide

  14. #GDLJS
    OPS QUIERE
    ESTABILIDAD

    View Slide

  15. #GDLJS
    EL CAMBIO
    COMPROMETE LA
    ESTABILIDAD

    View Slide

  16. #GDLJS
    OPS QUIERE
    ESTABILIDAD
    Y NO RECIBIR LLAMADAS A LAS 3 DE LA MAÑANA

    View Slide

  17. #GDLJS
    MASCOTAS
    Y
    GANADO

    View Slide

  18. #GDLJS

    View Slide

  19. #GDLJS
    Pascal
    Panela

    View Slide

  20. #GDLJS

    View Slide

  21. #GDLJS
    INFRASTRUCTURE
    AS
    CODE

    View Slide

  22. #GDLJS

    View Slide

  23. #GDLJS

    View Slide

  24. #GDLJS
    MODULOS

    View Slide

  25. #GDLJS

    View Slide

  26. #GDLJS
    ROLES

    View Slide

  27. #GDLJS

    View Slide

  28. #GDLJS

    View Slide

  29. #GDLJS

    View Slide

  30. #GDLJS

    View Slide

  31. #GDLJS
    PLAYBOOKS

    View Slide

  32. #GDLJS

    View Slide

  33. #GDLJS
    INVENTARIOS

    View Slide

  34. #GDLJS
    [TEST-SERVER]
    SERVER1.EXAMPLE.COM
    [PRODUCTION-SERVER]
    SERVER2.EXAMPLE.COM

    View Slide

  35. #GDLJS
    TODO JUNTO

    View Slide

  36. #GDLJS
    ANSIBLE-PLAYBOOK -I
    HOSTS PLAYBOOKS/
    BOOTSTRAP.YML

    View Slide

  37. #GDLJS
    INICIEMOS

    View Slide

  38. #GDLJS

    View Slide

  39. #GDLJS

    View Slide

  40. #GDLJS
    POSTGRESQL.CONF

    View Slide

  41. #GDLJS
    PG_HBA.CONF

    PG_IDENT.CONF

    View Slide

  42. #GDLJS
    RECOVERY.CONF

    View Slide

  43. #GDLJS
    INITDB

    View Slide

  44. #GDLJS
    #DEFINES

    View Slide

  45. #GDLJS

    View Slide

  46. #GDLJS

    View Slide

  47. #GDLJS

    View Slide

  48. #GDLJS
    LOS PROBLEMAS

    View Slide

  49. #GDLJS
    DIFERENTES
    VERSIONES

    View Slide

  50. #GDLJS

    View Slide

  51. #GDLJS

    View Slide

  52. #GDLJS

    View Slide

  53. #GDLJS

    View Slide

  54. #GDLJS
    DESPEMPEÑO

    View Slide

  55. #GDLJS

    View Slide

  56. #GDLJS

    View Slide

  57. #GDLJS

    View Slide

  58. #GDLJS

    View Slide

  59. #GDLJS
    CONFIGURACIONES

    View Slide

  60. #GDLJS

    View Slide

  61. #GDLJS
    SCHEMA.XML

    View Slide

  62. #GDLJS

    View Slide

  63. #GDLJS

    View Slide

  64. #GDLJS
    PERMISOS

    View Slide

  65. #GDLJS

    View Slide

  66. #GDLJS
    SOLR.XML

    View Slide

  67. #GDLJS

    View Slide

  68. #GDLJS

    View Slide

  69. #GDLJS

    View Slide

  70. #GDLJS
    ROOT VS USER

    View Slide

  71. #GDLJS
    DEPLOYMENT

    View Slide

  72. #GDLJS

    View Slide

  73. #GDLJS
    CAP DEPLOY
    PRODUCTION

    View Slide

  74. #GDLJS
    CAMBIAR IPS

    View Slide

  75. #GDLJS
    SERVICIOS
    EXTERNOS

    View Slide

  76. #GDLJS
    CDN

    View Slide

  77. #GDLJS

    View Slide

  78. #GDLJS
    CAMBIOS

    View Slide

  79. #GDLJS

    View Slide

  80. #GDLJS

    View Slide

  81. #GDLJS
    TRATAR DE MANTENER LA
    NUEVA INFRAESTRUCTURA LO
    MÁS SIMILAR A LA ANTERIOR

    View Slide

  82. #GDLJS

    View Slide

  83. #GDLJS
    ¿ÉXITO?

    View Slide

  84. #GDLJS

    View Slide

  85. #GDLJS

    View Slide

  86. #GDLJS
    PROTIP

    View Slide

  87. #GDLJS

    View Slide

  88. #GDLJS
    1. CÓDIGO BASE

    View Slide

  89. #GDLJS
    USAR SCV

    View Slide

  90. #GDLJS
    2. DEPENDENCIAS

    View Slide

  91. #GDLJS
    NPM

    View Slide

  92. #GDLJS
    3. CONFIGURACIÓN

    View Slide

  93. #GDLJS
    VARIABLES DE
    ENTORNO

    View Slide

  94. #GDLJS
    4. BACKING
    SERVICES

    View Slide

  95. #GDLJS

    View Slide

  96. #GDLJS
    5. CONSTRUIR,
    DISTRIBUIR, EJECUTAR

    View Slide

  97. #GDLJS

    View Slide

  98. #GDLJS
    6. PROCESOS

    View Slide

  99. #GDLJS
    SHARED-NOTHING

    View Slide

  100. #GDLJS
    ¡¡NO CREERÁS LOS
    OTROS SEIS!!

    View Slide

  101. #GDLJS
    12FACTOR.NET

    View Slide

  102. #GDLJS
    ¿PREGUNTAS?

    View Slide

  103. #GDLJS
    ¡GRACIAS!
    [email protected]

    View Slide