building services on and off rails
DESCRIPTION
Build Ruby services with Grape and Roar and embed into Rails or run standalone. Provides working examples of both.TRANSCRIPT
![Page 1: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/1.jpg)
Building Services on and off Rails
![Page 2: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/2.jpg)
SLIDES ATbit.ly/reverb-soa
![Page 3: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/3.jpg)
3 TAKEAWAYS
![Page 4: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/4.jpg)
WHY WRITE SERVICESRECOMMENDED STACK
EMBEDDED VS. STANDALONE
![Page 5: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/5.jpg)
WHY WRITE SERVICESRECOMMENDED STACK
EMBEDDED VS. STANDALONE
![Page 6: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/6.jpg)
WHY WRITE SERVICESRECOMMENDED STACK
EMBEDDED VS. STANDALONE
![Page 7: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/7.jpg)
Yan Pritzker, CTOReverb.com
github.com/skwp @skwp
github.com/reverbdev @reverbdotcom
![Page 8: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/8.jpg)
Yan Pritzker, CTOReverb.com
github.com/skwp @skwp
github.com/reverbdev @reverbdotcom
On Rails since 2005 (0.13.4)
![Page 9: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/9.jpg)
![Page 10: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/10.jpg)
RAILSIS EASY
![Page 11: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/11.jpg)
RAILSIS FUN
![Page 12: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/12.jpg)
RAILSIS BLOATED
![Page 13: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/13.jpg)
STARTUP10-20s
![Page 14: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/14.jpg)
HOW DID WE GET HERE?
![Page 15: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/15.jpg)
MONOLITHS
![Page 16: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/16.jpg)
LOTS OF GEMS
![Page 17: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/17.jpg)
LOTS OF CONTROLLERS
![Page 18: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/18.jpg)
LOTS OF MODELS
![Page 19: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/19.jpg)
LOTS OF LIBS
![Page 20: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/20.jpg)
LOTS OF DOMAIN
![Page 21: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/21.jpg)
SOLUTION?SERVICES
![Page 22: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/22.jpg)
A SERVICE IS...
![Page 23: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/23.jpg)
BITS OF ISOLATED
FUNCTOINALITY
![Page 24: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/24.jpg)
BEHIND A BIG WALL
![Page 25: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/25.jpg)
SPEAKING JSON
![Page 26: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/26.jpg)
WHY?
![Page 27: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/27.jpg)
SCALEYOUR TEAM
![Page 28: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/28.jpg)
SCALEDOWNTIME
![Page 29: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/29.jpg)
SCALEPERFORMANCE
![Page 30: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/30.jpg)
SCALEPRODUCTIVITY
![Page 31: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/31.jpg)
SCALEHAPPINESS
![Page 32: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/32.jpg)
DIVORCE FROM RAILS AND...
![Page 33: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/33.jpg)
FAST SPECS
![Page 34: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/34.jpg)
EXPERIMENTWITH
FRAMEWORKS
![Page 35: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/35.jpg)
EXPERIMENTWITH
LANGUAGES
![Page 36: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/36.jpg)
EXPERIMENTWITH
ARCHITECTURE
![Page 37: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/37.jpg)
OUR STACK
![Page 38: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/38.jpg)
Grape API
![Page 39: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/39.jpg)
Grape API
Roar Representers
![Page 40: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/40.jpg)
Grape API
Roar Representers
application/hal+json
![Page 41: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/41.jpg)
Grape API
Roar Representers
application/hal+json
ActiveRecord
![Page 42: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/42.jpg)
Grape API
Roar Representers
application/hal+json
Or Something Else
![Page 43: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/43.jpg)
DEPLOYMENT?
![Page 44: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/44.jpg)
EMBED IT!
![Page 45: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/45.jpg)
CREATE THE GEM
![Page 46: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/46.jpg)
WRITE GRAPE API
![Page 47: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/47.jpg)
PUT IT ON RAILS
![Page 48: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/48.jpg)
github.com/reverbdev/chimp
Gemified Service Example
![Page 49: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/49.jpg)
EMBEDDINGIS EASY
![Page 50: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/50.jpg)
AND YOU CAN DEVELOP IN ISOLATION
![Page 51: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/51.jpg)
BUT IT’SNOT IDEAL
![Page 52: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/52.jpg)
DEPENDENCY CONFLICTS
![Page 53: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/53.jpg)
CONSTRAINS RUBY VERSION
![Page 54: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/54.jpg)
ADDS TOAPP BLOAT
![Page 55: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/55.jpg)
DEPLOY ITSTANDALONE!
![Page 56: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/56.jpg)
THIN /UNICORN
![Page 57: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/57.jpg)
FOREMAN / UPSTART
![Page 58: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/58.jpg)
MINA / CAPISTRANO
![Page 59: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/59.jpg)
SERVICE SKELETON
github.com/reverbdev/service-skeleton
![Page 60: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/60.jpg)
![Page 61: Building Services on and off Rails](https://reader034.vdocuments.mx/reader034/viewer/2022051314/55629605d8b42aa17d8b5439/html5/thumbnails/61.jpg)
We’re Hiring!Rubyists/iOS/
Musicians