develop and deploy your mobile api with rails, nginx, unicorn and capistrano
Post on 20-Jun-2015
1.107 Views
Preview:
DESCRIPTION
TRANSCRIPT
Develop and Deploy Your Mobile API with Capistrano, Unicorn, Ruby on Rails & Nginx
@errazudin
Develop and Deploy Your Mobile API with Capistrano, Unicorn, Ruby on Rails & Nginx
Wait.. What kind of title is this?
Develop and Deploy Your Mobile API with CURN
@errazudin
Agenda
What on earth..For what reason..So how to do that..Ok, now what..Summary
About Me
Solutions ArchitectAny-Stack-Dev-Ops…about.me/errazudin
Agenda
What on earth..For what reason..So how to do that..Ok, now what..Summary
What on earth
What on earth
What on earth..
What on earth
What (else) on earth
Develop and Deploy Your Mobile API with CURN+RedisVagrantMysqlElasticsearch+
EverythingUnderTheSky?
@errazudin
Wait.. This Talk Should Be...
Agenda
What on earth..For what reason..So how to do that..Ok, now what..Summary
For what reason
Production
Staging/UAT
Development
For what reason
Development
"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
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
Developers <3 Sysadmin
For what reason
Staging/UAT
For what reason
Production
Agenda
What on earth..For what reason..So how to do that..Ok, now what..Summary
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
Still not convinced?
$ vagrant box add base http://files.vagrantup.com/lucid32.box
$ vagrant init
$ vagrant up
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
Yay! It's ready, so what are you waiting for dude?
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
The API
Fb login
Example API calls: login, create user, get user, get photo, update photo, checkin, messaging, etc
Agenda
What on earth..For what reason..So how to do that..Ok, now what..Summary
Remember this?
Production
Staging/UAT
Development
Ok, Now What
Production
Staging/UAT
Ok, Now What
StagingEC2, S3, RDS, SES, SSL
Ok, Now What
ProductionEC2, S3, RDS, SES, ELB, SSL, Route53, Pingdom
Agenda
What on earth..For what reason..So how to do that..Ok, now what..Summary
Don’t pick a tool because <someone> uses it.
Evaluate options based on requirements
It's good to learn from the big boys..
..but <that-tech> isn't for every application :)
References
http://unicorn.bogomips.org/
http://rubyonrails.org/
https://rubygems.org/
http://www.capistranorb.com/
http://nimbleworks.co.uk/blog/apis-for-mobile-applications/http://nginx.org/
http://www.elasticsearch.org
Moving forward..
http://puma.io
http://nadarei.co/mina/
https://puppetlabs.com
http://aws.amazon.com/opsworks/
http://lucene.apache.org/solr/
Thank you
@errazudinerrazudin.ishak@gmail.com
Thank you
top related