How do you, like,split your web site up?You know what I mean?     A tech talk at Paperless Post             by Alex Payne ...
Beginner:How do you organize the  code for your site?
site.php
site.phpclass Page {}class Login extends Page {}...
site.php   db.php
site.php             db.php       helpers.php
Model         View       Controllerperson.php   login.php     auth.php
Advancing:How do you break a webapplication into multipleprograms? How do they  talk to one another?
dat_app
dat_app
Database as point of coordination                     nightly.rbdat_app
Databasestore as point of coordination                     nightly.rbdat_app
Cache    as point of coordinationdat_app             hourly.rb
Message Queuesdat_app               worker1               worker2
RPC               via native serializationchat         DRb    dat_app                           worker1search             ...
RPC                   via JSONchat         dat_app                       worker1search                       worker2
RPC                   pro-stylechat         dat_app                       worker1search                       worker2
«pause»
chatsite.php           search
WE STILL HAVENT TALKED ABOUT:‣   Monitoring‣   Multi-datacenter support‣   Service discovery‣   Deployment‣   Schema migra...
1. Web development isnt inherently difficult, but it  gets really challenging      really quickly.
2. This is why the future    belongs to PaaS.
Thanks!
Splitting up your web app
Splitting up your web app
Splitting up your web app
Splitting up your web app
Upcoming SlideShare
Loading in …5
×

Splitting up your web app

3,688 views

Published on

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

No Downloads
Views
Total views
3,688
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Splitting up your web app

  1. 1. How do you, like,split your web site up?You know what I mean? A tech talk at Paperless Post by Alex Payne November 2012
  2. 2. Beginner:How do you organize the code for your site?
  3. 3. site.php
  4. 4. site.phpclass Page {}class Login extends Page {}...
  5. 5. site.php db.php
  6. 6. site.php db.php helpers.php
  7. 7. Model View Controllerperson.php login.php auth.php
  8. 8. Advancing:How do you break a webapplication into multipleprograms? How do they talk to one another?
  9. 9. dat_app
  10. 10. dat_app
  11. 11. Database as point of coordination nightly.rbdat_app
  12. 12. Databasestore as point of coordination nightly.rbdat_app
  13. 13. Cache as point of coordinationdat_app hourly.rb
  14. 14. Message Queuesdat_app worker1 worker2
  15. 15. RPC via native serializationchat DRb dat_app worker1search worker2
  16. 16. RPC via JSONchat dat_app worker1search worker2
  17. 17. RPC pro-stylechat dat_app worker1search worker2
  18. 18. «pause»
  19. 19. chatsite.php search
  20. 20. WE STILL HAVENT TALKED ABOUT:‣ Monitoring‣ Multi-datacenter support‣ Service discovery‣ Deployment‣ Schema migrations‣ Analytics/data mining‣ ....
  21. 21. 1. Web development isnt inherently difficult, but it gets really challenging really quickly.
  22. 22. 2. This is why the future belongs to PaaS.
  23. 23. Thanks!

×