Develop and Deploy your Mobile API with Ruby on Rails, Nginx, Unicorn and Capistrano

Develop and Deploy your Mobile API with Ruby on Rails, Nginx, Unicorn and Capistrano

So you are building your awesome sites and apps that you want it to be accessible on all smartphone, tablet and desktop devices. Definitely you need a proper backend and application programming interface (API), among others to allow these software components to interact with your core application brain. This session will try to discuss how you could develop your API with the magical Ruby on Rails, run it with mystical Unicorn and Nginx, and managed your deployment via Capistrano. Yes people, we're living in a world full of APIs.

101132fd9b22a12e8eb7ce947cf50a87?s=128

Errazudin Ishak

September 11, 2013
Tweet

Transcript

  1. Develop and Deploy Your Mobile API with Capistrano, Unicorn, Ruby

    on Rails & Nginx @errazudin
  2. Develop and Deploy Your Mobile API with Capistrano, Unicorn, Ruby

    on Rails & Nginx Wait.. What kind of title is this?
  3. Develop and Deploy Your Mobile API with CURN @errazudin

  4. Agenda What on earth.. For what reason.. So how to

    do that.. Ok, now what.. Summary
  5. About Me Solutions Architect Any-Stack-Dev-Ops … about.me/errazudin

  6. Agenda What on earth.. For what reason.. So how to

    do that.. Ok, now what.. Summary
  7. What on earth

  8. What on earth

  9. What on earth..

  10. What on earth

  11. What (else) on earth

  12. Develop and Deploy Your Mobile API with CURN+RedisVagrantMysqlElasticsearch+ EverythingUnderTheSky? @errazudin

    Wait.. This Talk Should Be...
  13. Agenda What on earth.. For what reason.. So how to

    do that.. Ok, now what.. Summary
  14. For what reason Production Staging/UAT Development

  15. For what reason Development

  16. "Programmers are like vampires. They're frequently up all night, paler

    than death itself, and generally afraid of being exposed to daylight. Oh yes, and they tend think of themselves (or at least their code) as immortal." - www.codinghorror.com
  17. System Administrators are like werewolves. They may look outwardly ordinary,

    but are incredibly strong, mostly invulnerable to stuf that would kill regular people -- and prone to strange transformations during a moon "outage". - www.codinghorror.com
  18. Developers <3 Sysadmin

  19. For what reason Staging/UAT

  20. For what reason Production

  21. Agenda What on earth.. For what reason.. So how to

    do that.. Ok, now what.. Summary
  22. So how to do that Portable work environments VirtualBox, Vmware,

    etc Support provisioning tools eg. Chef, Puppet “vagrant up” and you're ready to fly
  23. Still not convinced? $ vagrant box add base http://files.vagrantup.com/lucid32.box $

    vagrant init $ vagrant up
  24. So how to do that “vagrant ssh” and install your

    stuf manually package the greatest vagrant box ..and share within your team! .. or use automated provisioning
  25. Yay! It's ready, so what are you waiting for dude?

  26. The API Used by the various mobile devices (iPhone, Android

    and Blackberry smartphones) to communicate with the server All communications over https Each request includes authorisation token Responses are in JSON
  27. The API Fb login Example API calls: login, create user,

    get user, get photo, update photo, checkin, messaging, etc
  28. Agenda What on earth.. For what reason.. So how to

    do that.. Ok, now what.. Summary
  29. Remember this? Production Staging/UAT Development

  30. Ok, Now What Production Staging/UAT

  31. Ok, Now What Staging EC2, S3, RDS, SES, SSL

  32. Ok, Now What Production EC2, S3, RDS, SES, ELB, SSL,

    Route53, Pingdom
  33. Agenda What on earth.. For what reason.. So how to

    do that.. Ok, now what.. Summary
  34. Don’t pick a tool because <someone> uses it.

  35. Evaluate options based on requirements

  36. It's good to learn from the big boys..

  37. ..but <that-tech> isn't for every application :)

  38. References http://unicorn.bogomips.org/ http://rubyonrails.org/ https://rubygems.org/ http://www.capistranorb.com/ http://nimbleworks.co.uk/blog/apis-for-mobile-appl ications/ http://nginx.org/ http://www.elasticsearch.org

  39. Moving forward.. http://puma.io http://nadarei.co/mina/ https://puppetlabs.com http://aws.amazon.com/opsworks/ http://lucene.apache.org/solr/

  40. Thank you @errazudin errazudin.ishak@gmail.com Thank you