The document discusses using Ruby and Rails to build service-oriented applications. It describes how services provide functionality through standard interfaces and are designed to be interoperable and reusable. The key advantages of the services approach include isolation, scalability, robustness, and agility. Ruby tools like Rails, Sinatra, and EventMachine can be used to create services, while partitioning functionality based on factors like iteration speed and logical functions.
1 of 55
More Related Content
Ruby and Rails, as secret weapon to build your service-oriented apps
1. Ruby and Rails,
as secret weapon to build your
service-oriented apps
Friday, July 15, 2011
3. Agenda
- What¡¯s a service?
- Peertransfer case
- A Typical rails application
- Advantages of the services approach
- Partitioning in services
- Ruby Toolbox
Friday, July 15, 2011
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
6. Service-oriented design is about creating
systems that group functionality around
logical function and business practices.
Friday, July 15, 2011
7. Services should be designed to be
interoperable and reusable.
Friday, July 15, 2011
8. Splitting up parts into components that can
be iterated on, improved, and ?xed without
having to test and verify all the other
components when an individual is updated
or added.
Friday, July 15, 2011
9. Usually entails a trade-off between
complexity and iteration speed.
Friday, July 15, 2011
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, EC2
Friday, July 15, 2011
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 required
Friday, July 15, 2011
36. Downsides
Releases dependencies nightmare
Smoke test suit mandatory
More moving parts and integration points
Trivial rails stuff gets harder
Failure tolerance is hard
Friday, July 15, 2011