Scalable applications with HTTP
Patrice Neff, co-founder Memonic

patrice@memonic.com
twitter.com/pneff

20100407




    ...
Memonic
 • Founded in 2009
 • Your personal digital notebook
 • Easy web research
 • Try it out for free: www.memonic.com
...
About me
 • Web developer
 • Co-Founder Memonic
 • Previously frontend developer at local.ch
 • Details & Blog: patrice.ch...
I’ll talk about...
  • Service-oriented architectures
  • Motivation
  • HTTP, the protocol
  • Real-world example




  ©...
Glossary

         Performance         Scalability




               ©Prosper973       ©Kelinz1




 ©   memonic
Service-oriented architectures


                                         Internet


                 Internet



        ...
Key points
 • Dependencies local to service
      • Database
      • Queue
      • Synchronization
 • Try the simplest ser...
Motivation
 • Modularity
      • Team separation
      • Clear boundaries
      • Easier migrations / replacements
 • Re-u...
Disadvantages
 • Complex full-picture view
 • Performance
 • Data joins




                               ©Eddi 07
 ©   m...
HTTP
 • RFC 2616 defines HTTP 1.1
 • Text protocol is debuggable
 • Solved problems:
      •   Caching
      •   Compressio...
HTTP Example
GET /intl/en/about.html HTTP/1.1
Host: www.google.ch

     HTTP/1.1 200 OK
     Date: Wed, 24 Mar 2010 20:51:...
Caching
 • Cache-Control response header:
      • Allow or prohibit caching
      • Specify cache validity
 • ETag respons...
Caching Example
GET /1/83.76.244.123 HTTP/1.1
Host: geoip
Accept: application/json


     HTTP/1.1 200 OK
     Cache-Contr...
Memonic Architecture

                                 Internet




                geoip                                 ...
Links




http://www.memonic.com/user/pneff/set/presentation-http-scalability

                     or: http://mem.to/t/1Fs...
Thank you!
Patrice Neff, co-founder Memonic

patrice@memonic.com
twitter.com/pneff

20100407




                         ...
Upcoming SlideShare
Loading in …5
×

Scalable applications with HTTP

414 views
395 views

Published on

Talks about the HTTP protocol and how it can be used for a service-oriented architecture.

This was presented at the Internet Briefing developer conference on April 7, 2010 in Zurich, Switzerland.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
414
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Scalable applications with HTTP

  1. 1. Scalable applications with HTTP Patrice Neff, co-founder Memonic patrice@memonic.com twitter.com/pneff 20100407 memonic
  2. 2. Memonic • Founded in 2009 • Your personal digital notebook • Easy web research • Try it out for free: www.memonic.com © memonic
  3. 3. About me • Web developer • Co-Founder Memonic • Previously frontend developer at local.ch • Details & Blog: patrice.ch © memonic
  4. 4. I’ll talk about... • Service-oriented architectures • Motivation • HTTP, the protocol • Real-world example © memonic
  5. 5. Glossary Performance Scalability ©Prosper973 ©Kelinz1 © memonic
  6. 6. Service-oriented architectures Internet Internet Frontend DB Web Server Service 1 Service 2 Service 3 © memonic
  7. 7. Key points • Dependencies local to service • Database • Queue • Synchronization • Try the simplest service that works Internet • Services are the new classes? Frontend Service 1 Service 2 Service 3 © memonic
  8. 8. Motivation • Modularity • Team separation • Clear boundaries • Easier migrations / replacements • Re-use of services • Best tool for the job • Programming language • Dependencies (Database, Queue, ...) • Scalability © memonic
  9. 9. Disadvantages • Complex full-picture view • Performance • Data joins ©Eddi 07 © memonic
  10. 10. HTTP • RFC 2616 defines HTTP 1.1 • Text protocol is debuggable • Solved problems: • Caching • Compression • Error handling • Authentication • Content negotiation • Documentation © memonic
  11. 11. HTTP Example GET /intl/en/about.html HTTP/1.1 Host: www.google.ch HTTP/1.1 200 OK Date: Wed, 24 Mar 2010 20:51:06 GMT Expires: -1 Cache-Control: private, max-age=0 Content-Type: text/html; charset=ISO-8859-1 Server: gws X-XSS-Protection: 0 <!doctype html>... © memonic
  12. 12. Caching • Cache-Control response header: • Allow or prohibit caching • Specify cache validity • ETag response header: • Client can validate it’s cache content • Avoids re-transmission of content © memonic
  13. 13. Caching Example GET /1/83.76.244.123 HTTP/1.1 Host: geoip Accept: application/json HTTP/1.1 200 OK Cache-Control: max-age=31536000 Expires: Fri, 25 Mar 2011 17:28:44 GMT Content-Type: application/json; charset=UTF-8 Content-MD5: a59a841c05fdddef931399ef2275f6d3 {"country_code": "CH"} © memonic
  14. 14. Memonic Architecture Internet geoip staticpage Frontend browser index user label storage pipeline mime screenshot html_cleanup © memonic
  15. 15. Links http://www.memonic.com/user/pneff/set/presentation-http-scalability or: http://mem.to/t/1Fsc © memonic
  16. 16. Thank you! Patrice Neff, co-founder Memonic patrice@memonic.com twitter.com/pneff 20100407 memonic

×