Ruby and Rails,  as secret weapon to build your service-oriented apps
Upcoming SlideShare
Loading in...5
×
 

Ruby and Rails, as secret weapon to build your service-oriented apps

on

  • 4,103 views

 

Statistics

Views

Total Views
4,103
Views on SlideShare
4,095
Embed Views
8

Actions

Likes
2
Downloads
22
Comments
1

4 Embeds 8

http://speakerrate.com 5
http://twitter.com 1
http://www.hanrss.com 1
http://feeds.feedburner.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Muy interesante exposición, explicando ventajas e inconveniente (importante) de fragmentar la aplicación en servicios separados.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Ruby and Rails,  as secret weapon to build your service-oriented apps Ruby and Rails, as secret weapon to build your service-oriented apps Presentation Transcript

  • Ruby and Rails, as secret weapon to build your service-oriented appsFriday, July 15, 2011
  • Felipe Talavera @flypeFriday, July 15, 2011
  • Agenda - What’s a service? - Peertransfer case - A Typical rails application - Advantages of the services approach - Partitioning in services - Ruby ToolboxFriday, July 15, 2011 View slide
  • What is a service? System that respond to HTTP requests: Twitter API, Amazon S3 API, New York Times API System that provides functionality through a standard interface: MySQL, Memcached, RabbitMQ, ...Friday, July 15, 2011 View slide
  • Service-oriented designFriday, July 15, 2011
  • Service-oriented design is about creating systems that group functionality around logical function and business practices.Friday, July 15, 2011
  • Services should be designed to be interoperable and reusable.Friday, July 15, 2011
  • Splitting up parts into components that can be iterated on, improved, and fixed without having to test and verify all the other components when an individual is updated or added.Friday, July 15, 2011
  • Usually entails a trade-off between complexity and iteration speed.Friday, July 15, 2011
  • Amazon AWS Every piece of the AWS architecture is exposed as a web service, low-level system components exposed through a services layer. S3, SQS, SimpleDB, CloudFront, EC2Friday, July 15, 2011
  • Friday, July 15, 2011
  • Friday, July 15, 2011
  • The Rails development style is all about quick iterations.Friday, July 15, 2011
  • A Typical rails ApplicationFriday, July 15, 2011
  • A Typical rails ApplicationFriday, July 15, 2011
  • The key to pairing Rails applications with services is to use Rails for its strengths and switch over to services when a more stable approach is requiredFriday, July 15, 2011
  • Service-oriented systems sacrifice iteration speed for stability, reuse, and robustness.Friday, July 15, 2011
  • Advantages of using services than a typical monolithic application:Friday, July 15, 2011
  • Isolation...Friday, July 15, 2011
  • Business Logic IsolationFriday, July 15, 2011
  • Shared system isolationFriday, July 15, 2011
  • Full IsolationFriday, July 15, 2011
  • Testing in IsolationFriday, July 15, 2011
  • RobustnessFriday, July 15, 2011
  • ScalabilityFriday, July 15, 2011
  • Scalability on team and sizeFriday, July 15, 2011
  • Reduces complexity in the codebaseFriday, July 15, 2011
  • AgilityFriday, July 15, 2011
  • InteroperabilityFriday, July 15, 2011
  • Partitioning Functionality into Separate Services:Friday, July 15, 2011
  • Partitioning on iteration speedFriday, July 15, 2011
  • Partitioning on Logical FunctionFriday, July 15, 2011
  • Partition on Read/Write frequenciesFriday, July 15, 2011
  • Partition on Join FrequencyFriday, July 15, 2011
  • Versioning • http://localhost:3000/api/v1/users/1 • http://localhost:3000/users/1?version=1 • http://localhost:3000/api/v2/users/1Friday, July 15, 2011
  • Downsides Releases dependencies nightmare Smoke test suit mandatory More moving parts and integration points Trivial rails stuff gets harder Failure tolerance is hardFriday, July 15, 2011
  • Ruby ToolboxFriday, July 15, 2011
  • JRubyFriday, July 15, 2011
  • RailsFriday, July 15, 2011
  • SinatraFriday, July 15, 2011
  • GoliathFriday, July 15, 2011
  • EventmachineFriday, July 15, 2011
  • ActiveResourceFriday, July 15, 2011
  • HTTParty / TyphoeusFriday, July 15, 2011
  • ForemanFriday, July 15, 2011
  • VagrantFriday, July 15, 2011
  • AMQPFriday, July 15, 2011
  • ConclusionFriday, July 15, 2011
  • books Enterprise Integration Patterns Designing, Building, and Deploying Messaging SolutionsFriday, July 15, 2011
  • Questions?Friday, July 15, 2011
  • We are hiring! peertransfer.comFriday, July 15, 2011
  • Friday, July 15, 2011
  • Friday, July 15, 2011
  • Friday, July 15, 2011
  • Thanks!Friday, July 15, 2011