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.

Intro a Heroku

21,607 views

Published on

Intro a Heroku

  1. 1. Heroku <ul><li>Que es? </li><ul><li>Es un servicio de Hosting en la nube(los clientes no tienen que contar con infraestructura, el tiempo de procesamiento y almacenamiento se le renta a un tercero)
  2. 2. Gratuito(hasta 5 MB de espacio en disco para base de datos, 50MB para todos los archivos incluyendo repositorios Git)
  3. 3. Servicio basados en la nube de Amazon Web Services(ECS,S3, etc.)
  4. 4. La implementacion se hace a traves de Git
  5. 5. Se instala a traves de un gem </li></ul></ul>
  6. 6. Porque usar Heroku? <ul><li>Olvidate de usar servidores
  7. 7. Enfocate en tu aplicacion
  8. 8. Pagamos cuando este terminada (o nunca!) </li></ul>
  9. 9. Flujo basado en Git <ul><li>Se usa para hacer la instalacion de la app a traves de los repositorios
  10. 10. Todo lo que tenemos que hacer es hacerle un ”push” a nuestro codigo a nuestro repositorio en Heroku
  11. 11. Cuando se hace el ”Push” se compila el slug de nuestra app </li></ul>
  12. 12. Arquitectura
  13. 13. Dynos en Heroku <ul><li>Son servidores ligeros
  14. 14. Instancias individuales de Servidores Web(algo asi como un Mongrel) pero se pueden distribuir a varios servidores
  15. 15. 4 Dynos equivalen a un CPU
  16. 16. 1 dyno en el esquema gratuito </li></ul>
  17. 17. Slug <ul><li>Es la aplicacion ”compilada”
  18. 18. Maximo 100MB </li></ul>
  19. 19. Workers en Heroku <ul><li>Es un framework para delayed jobs
  20. 20. Realizan las tareas en el background
  21. 21. 1 trabajo a la vez del Queue
  22. 22. Hacen escalable a la app
  23. 23. 0(cero) workers en el esquema gratuito </li></ul>
  24. 24. Que OS utiliza Heroku? <ul><li>Utiliza Debian y Ruby 1.8.X </li></ul>
  25. 25. Base de Datos <ul><li>Heroku puede trabajar con MySQL, SQLite, PostgreSQL, MongoDB, CouchDB y Memcache a traves de un tercero
  26. 26. Mongo HQ y Cloudant (como add-ons) </li></ul>
  27. 27. Interaccion con la BD <ul><li>Utiliza los valores de database.yml
  28. 28. Podemos usar migraciones
  29. 29. Hacer un pull a la Base de Datos
  30. 30. Hacer push a la base de datos </li></ul>
  31. 31. Rake en Heroku <ul><li>Se pueden ejecutar remotamente los comandos rake </li></ul>
  32. 32. Gems en Heroku <ul><li>Agregan al archivo .gems
  33. 33. Se instalan al hacer un push </li></ul>
  34. 34. Modo de Mantenimiento <ul><li>Se usa cuando vamos a subir archivos, hacerle modificaciones a nuestra app, etc. </li></ul>
  35. 35. Que pasa cuando se satura nuestra app? <ul><li>Se agregan mas dynos!
  36. 36. Se agregan mas workers!
  37. 37. Le pagamos a HEROKU! :( </li></ul>
  38. 38. Frameworks <ul><li>Rails
  39. 39. Sinatra
  40. 40. Y mas... </li></ul>
  41. 41. Rails 3 en Heroku <ul><li>Actualmenta en modo Beta </li></ul>
  42. 42. Add-ons en Heroku <ul><li>Son como plugins para la app </li><ul><li>Amazon RDS (Relational Database Service)
  43. 43. Cron (Unix Job Scheduler)
  44. 44. New Relic (monitor de Web Performance)
  45. 45. SSL (https para la app)
  46. 46. Websolr (text search)
  47. 47. etc. </li></ul></ul>
  48. 48. Aplicaciones que corren en Heroku <ul><li>Best Buy (IdeaX)
  49. 49. Shopify.com
  50. 50. Scrumninja.com
  51. 51. Flightcaster.com </li></ul>
  52. 52. No OK! <ul><li>La primera peticion puede tardar un poco
  53. 53. No tiene acceso ssh
  54. 54. Sistema de archivos ”Read Only”
  55. 55. Conjuntos predefinidos de OS y Version de Ruby
  56. 56. Para apps grandes el costo se eleva </li></ul>
  57. 57. OK! <ul><li>Facil! para principiantes
  58. 58. Bajo costo para apps pequeñas
  59. 59. Ofrece manejo sencillo de apps complejas diseñandolas para el stack de Heroku
  60. 60. Gratis hasta 5MB de BD
  61. 61. Actualizacion de cambios a traves de Git casi instantaneos </li></ul>
  62. 62. Como empiezo? <ul><li>Crear cuenta registrandose en Heroku.com
  63. 63. Tener Rails y Git instalados
  64. 64. Instalar el gem de Heroku (gem install heroku)
  65. 65. Crear las llaves SSH y agregarlas a Heroku
  66. 66. Crear la app en Heroku con: heroku create </li></ul>
  67. 67. Fin
  68. 68. ”Receta” (estar dentro del directorio donde esta la app) heroku create MiAplicacion heroku open --app MiAplicacion git init git remote add heroku git@heroku.com:MiAplicacion git remote add MiAplicacion git@heroku.com:MiAplicacion ------------------------------------------------------------ git add -A git commit -a -m &quot;inicio de commit de MiAplicacion&quot; git push git@heroku.com:MiAplicacion.git master ------------------------------------------------------------ heroku rake db:migrate --app MiAplicacion heroku db:push --app MiAplicacion heroku restart --app MiAplicacion heroku maintenance:on --app MiAplicacion heroku maintenance:off --app MiAplicacion

×