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

4,275 views

Published on

Published in: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
4,275
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
24
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

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

  1. 1. Ruby and Rails, as secret weapon to build your service-oriented appsFriday, July 15, 2011
  2. 2. Felipe Talavera @flypeFriday, July 15, 2011
  3. 3. Agenda - What’s a service? - Peertransfer case - A Typical rails application - Advantages of the services approach - Partitioning in services - Ruby ToolboxFriday, July 15, 2011
  4. 4. 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
  5. 5. Service-oriented designFriday, July 15, 2011
  6. 6. Service-oriented design is about creating systems that group functionality around logical function and business practices.Friday, July 15, 2011
  7. 7. Services should be designed to be interoperable and reusable.Friday, July 15, 2011
  8. 8. 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
  9. 9. Usually entails a trade-off between complexity and iteration speed.Friday, July 15, 2011
  10. 10. 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
  11. 11. Friday, July 15, 2011
  12. 12. Friday, July 15, 2011
  13. 13. The Rails development style is all about quick iterations.Friday, July 15, 2011
  14. 14. A Typical rails ApplicationFriday, July 15, 2011
  15. 15. A Typical rails ApplicationFriday, July 15, 2011
  16. 16. 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
  17. 17. Service-oriented systems sacrifice iteration speed for stability, reuse, and robustness.Friday, July 15, 2011
  18. 18. Advantages of using services than a typical monolithic application:Friday, July 15, 2011
  19. 19. Isolation...Friday, July 15, 2011
  20. 20. Business Logic IsolationFriday, July 15, 2011
  21. 21. Shared system isolationFriday, July 15, 2011
  22. 22. Full IsolationFriday, July 15, 2011
  23. 23. Testing in IsolationFriday, July 15, 2011
  24. 24. RobustnessFriday, July 15, 2011
  25. 25. ScalabilityFriday, July 15, 2011
  26. 26. Scalability on team and sizeFriday, July 15, 2011
  27. 27. Reduces complexity in the codebaseFriday, July 15, 2011
  28. 28. AgilityFriday, July 15, 2011
  29. 29. InteroperabilityFriday, July 15, 2011
  30. 30. Partitioning Functionality into Separate Services:Friday, July 15, 2011
  31. 31. Partitioning on iteration speedFriday, July 15, 2011
  32. 32. Partitioning on Logical FunctionFriday, July 15, 2011
  33. 33. Partition on Read/Write frequenciesFriday, July 15, 2011
  34. 34. Partition on Join FrequencyFriday, July 15, 2011
  35. 35. 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
  36. 36. 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
  37. 37. Ruby ToolboxFriday, July 15, 2011
  38. 38. JRubyFriday, July 15, 2011
  39. 39. RailsFriday, July 15, 2011
  40. 40. SinatraFriday, July 15, 2011
  41. 41. GoliathFriday, July 15, 2011
  42. 42. EventmachineFriday, July 15, 2011
  43. 43. ActiveResourceFriday, July 15, 2011
  44. 44. HTTParty / TyphoeusFriday, July 15, 2011
  45. 45. ForemanFriday, July 15, 2011
  46. 46. VagrantFriday, July 15, 2011
  47. 47. AMQPFriday, July 15, 2011
  48. 48. ConclusionFriday, July 15, 2011
  49. 49. books Enterprise Integration Patterns Designing, Building, and Deploying Messaging SolutionsFriday, July 15, 2011
  50. 50. Questions?Friday, July 15, 2011
  51. 51. We are hiring! peertransfer.comFriday, July 15, 2011
  52. 52. Friday, July 15, 2011
  53. 53. Friday, July 15, 2011
  54. 54. Friday, July 15, 2011
  55. 55. Thanks!Friday, July 15, 2011

×