develop and deploy your mobile api with rails, nginx, unicorn and capistrano

Post on 20-Jun-2015

1.107 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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.

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