The Complete Guide to Building Highly Scalable, Services-Based Rails Applications Ruby on Rails deployments are growing, and Rails is increasingly being adopted in larger environments. Today, Rails developers and architects need better ways to interface with legacy systems, move into the cloud, and scale to handle higher volumes and greater complexity. In "Service-Oriented Design with Ruby and Rails" Paul Dix introduces a powerful, services-based design approach geared toward overcoming all these challenges. Using Dix's techniques, readers can leverage the full benefits of both Ruby and Rails, while overcoming the difficulties of working with larger codebases and teams. Dix demonstrates how to integrate multiple components within an enterprise application stack; create services that can easily grow and connect; and design systems that are easier to maintain and upgrade. Key concepts are explained with detailed Ruby code built using open source libraries such as ActiveRecord, Sinatra, Nokogiri, and Typhoeus. The book concludes with coverage of security, scaling, messaging, and interfacing with third-party services. Service-Oriented Design with Ruby and Rails will help you Build highly scalable, Ruby-based service architectures that operate smoothly in the cloud or with legacy systemsScale Rails systems to handle more requests, larger development teams, and more complex code basesMaster new best practices for designing and creating services in RubyUse Ruby to glue together services written in any languageUse Ruby libraries to build and consume RESTful Web servicesUse Ruby JSON parsers to quickly represent resources from HTTP servicesWrite lightweight, well-designed API wrappers around internal or external servicesDiscover powerful non-Rails frameworks that simplify Ruby service implementationImplement standards-based enterprise messaging with Advanced Message Queuing Protocol (AMQP) Optimize performance with load balancing and caching Provide for security and authentication
Reads pretty quick and does not contain a lot of information. Some parts are pretty good, but its not very deep. A bummer is that a large part is the rest specification. Good intro to service oriented design though, but I had expected more in depth content.
Nice survey of thinking current to publication date. While the leading edge has moved on, the book provides an easy entry into service construction, and in many cases, that may be all that's needed.
This is a reasonable guide to creating services and a service oriented application structure in ruby.
This is really a book looking at the low level basics of services and how to implement them in rails (and other ruby web frameworks. A lot of examples are in sinatra, for instance). It is good for this basic level but I found it didn't really deliver in the areas I hoped, such as architecture and design issues with SOA and services.
It did provide some useful blocks for building up to a SOA though, such as a look at integrating a messaging queue in your application with RabbitMQ. However, I mostly felt that the book focussed too heavily on the low level details at the expense of discussing the higher level concepts and suitability of service architectures and SOA applications in general.
For those looking for the how, this book delivers perfectly. For those looking for the why, then they should consider a different book.
A great overview of designing, building, and interacting with services with Ruby. Covers a pretty broad range of subjects, including how to split a monolithic app into services, technologies for building services (Rails and Sinatra primarily), building libraries for consuming services (primarily using Paul's Typhoeus http library), and planning for scale. This mostly focuses on RESTful services but briefly covering SOAP as well, with a bit of AMQP thrown in at the end.
I would've loved to see a broader discussion of testing, monitoring, and deployment. Also, I thought that at times Typhoeus was a more complex library to give examples with than a library with a simpler API. I get why the fault-tolerance examples were done with Typhoeus, as well as the parallelization work, but the simple JSON consuming calls could've used a simpler API to focus on what the example was about.
Overall, a good read, and probably invaluable to a beginner to this space.
Good overview of implementing enterprise services with ruby. It covered a variety of different tools including sinatra, memcache, and rabbitmq. The most impressive aspect of the book was its excellent discussion of the thought process regarding service design. The book wasn't just about the hows of configuration and code but also talked about the whys of service definition and design. Minus one star for a huge amount of page space taken up by code examples (seems like these would be just better off as downloadables).
5 years since its publication are a long time for such a technology-related book. The Ruby world changed massively and many of the described tools are no longer used. However, the main points and the whole theory behind service-oriented design is still current. The same is true for the main library that is used in so many examples: Typhoeus is still in active development and can help you to solve your problems in a proven way.
Great book that analyses how to design a service architecture for an application with Ruby. Which are the trade-offs and important things to consider when doing so.
Recommended for anyone planing to build complex systems and want to stay agile.
This was pretty decent. Wasn't fussed by the code examples, the real meat was showing services in a Rails context. Will be buying a couple of copies for the team at work.