Software And The Taste Of Mayo - Marco Tabini

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Software And The Taste Of Mayo - Marco Tabini - Presentation Transcript

    1. 1
    2. SOFTWARE and the Taste of Mayo Marco Tabini php|architect marcot@tabini.ca 1
    3. Marco Tabini 1
    4. Marco Tabini 1
    5. Marco Tabini 1
    6. Marco Tabini 1
    7. Marco Tabini 1
    8. Marco Tabini 1
    9. Marco Tabini 1
    10. Marco Tabini 1
    11. 2
    12. What is Mayo? 2
    13. 3
    14. 3
    15. 4
    16. 4
    17. 4
    18. 5
    19. 5
    20. 5
    21. 5
    22. WTF???? 5
    23. 6
    24. 6
    25. Where did they get this guy? 7
    26. What does this have to do with SOFTWARE??? 8
    27. 9
    28. CODE 9
    29. CODE + DATA 9
    30. CODE + DATA + INTERFACE 9
    31. CODE + DATA + INTERFACE = APP 9
    32. CODE 10
    33. CODE 10
    34. CODE HARDWARE 10
    35. CODE FIRMWARE HARDWARE 10
    36. CODE O/S FIRMWARE HARDWARE 10
    37. CODE WEB O/S SERVER FIRMWARE HARDWARE 10
    38. CODE PHP WEB O/S SERVER FIRMWARE HARDWARE 10
    39. CODE FRAMEWORK WEBPHP SERVER O/S FIRMWARE HARDWARE 10
    40. CODE YOUR CODE FRAMEWORK PHP WEB SERVER O/S FIRMWARE HARDWARE 10
    41. 11
    42. Hello, World! 11
    43. Hello, World! 11
    44. Hello, World! Language System Calls C 46 Shell (TCSH) 37 PHP (CLI) 362 PHP (Apache) 881 11
    45. Hello, World! Language System Calls C 46 Shell (TCSH) 37 PHP (CLI) 362 PHP (Apache) 881 11
    46. Hello, World! Language System Calls C 46 Shell (TCSH) 37 PHP (CLI) 362 PHP (Apache) 881 11
    47. Hello, World! Language System Calls C 46 Shell (TCSH) 37 PHP (CLI) 362 PHP (Apache) 881 11
    48. Hello, World! Language System Calls C 46 Shell (TCSH) 37 PHP (CLI) 362 PHP (Apache) 881 11
    49. Hello, World! Language System Calls Once C 47 Language C System Calls 46 Shell (TCSH) 146 Shell (TCSH) 37 PHP (CLI) 362 PHP (CLI) 368 PHP (Apache) 881 PHP (Apache) 887 11
    50. Hello, World! Language System Calls Once C 47 Language C System Calls 46 Shell (TCSH) 146 Shell (TCSH) 37 PHP (CLI) 362 PHP (CLI) 368 PHP (Apache) 881 PHP (Apache) 887 11
    51. Hello, World! Language System Calls Once C 47 Language C System Calls 46 Shell (TCSH) 146 Shell (TCSH) 37 PHP (CLI) 362 PHP (CLI) 368 PHP (Apache) 881 PHP (Apache) 887 11
    52. Hello, World! Language System Calls Once C 47 Language C System Calls 46 Shell (TCSH) 146 Shell (TCSH) 37 PHP (CLI) 362 PHP (CLI) 368 PHP (Apache) 881 PHP (Apache) 887 11
    53. Hello, World! Language System Calls Once C 47 Language C System Calls 46 Shell (TCSH) 146 Shell (TCSH) 37 PHP (CLI) 362 PHP (CLI) 368 PHP (Apache) 881 PHP (Apache) 887 11
    54. Hello, World! Once Twice Language System Calls Language System Calls C 46 C 47 Shell (TCSH) 37 Shell (TCSH) 146 PHP (CLI) 362 PHP (CLI) 368 PHP (Apache) 881 PHP (Apache) 887 11
    55. 12
    56. Language Time C 2.5hrs Erlang 1.8hrs PHP (CLI) N/A* 12
    57. Language Time C 2.5hrs Erlang 1.8hrs PHP (CLI) N/A* 12
    58. Language Time C 2.5hrs Erlang 1.8hrs PHP (CLI) N/A* 12
    59. Language Time C 2.5hrs Erlang 1.8hrs PHP (CLI) N/A* * Sorry, had to catch flight to Amsterdam 12
    60. Ease of use Performance 13
    61. Ease of use Performance ASM C PHP Rails 13
    62. Ease of use Performance ASM C PHP Rails 13
    63. Ease of use Performance ASM C PHP Rails 13
    64. Ease of use Performance ASM C PHP Rails 13
    65. Ease of use Performance ASM C PHP Rails 13
    66. Single or double quotes? 14
    67. Single or double quotes? vs. file_get_contents(‘3gb_file.txt’) 14
    68. for? foreach? while? 15
    69. for? foreach? while? vs. select * from gigantic_unindexed_table inner join world_population_database inner join i_should_be_growing_plants_instead_of_coding 15
    70. CODE SCALABILITY 16
    71. INFRA CODE DATA STRUCTURE SCALABILITY SCALABILITY COST SOURCE IT OF PERFORMANCE ORGANIZATION OWNERSHIP 16
    72. Profit Density (Profit / Pages) Revenue Density Page Impressions 17
    73. Profit Density (Profit / Pages) Revenue Density Page Impressions 17
    74. Profit Density (Profit / Pages) Revenue Density Page Impressions 17
    75. Profit Density (Profit / Pages) Revenue Density Page Impressions 17
    76. Profit Density (Profit / Pages) Revenue Density Page Impressions 17
    77. Profit Density (Profit / Pages) Revenue Density Page Impressions 17
    78. Cost Density (Cost / Pages) 18
    79. Cost Density (Cost / Pages) 18
    80. Cost Density (Cost / Pages) 18
    81. Cost Density (Cost / Pages) 18
    82. Cost Density (Cost / Pages) 18
    83. Cost Density (Cost / Pages) 18
    84. Cost Density (Cost / Pages) 19
    85. Cost Density (Cost / Pages) 19
    86. Cost Density (Cost / Pages) 19
    87. Cost Density (Cost / Pages) 19
    88. Cost Density (Cost / Pages) FAIL! 19
    89. Cost Density (Cost / Pages) Bad Good 20
    90. Cost Density (Cost / Pages) Bad Good 20
    91. Cost Density Problems • Wrong scalability strategy Database • Wrong database type • Wrong database use 21
    92. Cost Density Problems • Architecture not scalable • No use of parallelization • No use of queuing 22
    93. Solving your infrastructure problems (let someone else deal with them) 23
    94. Example: AWS • 300,000 page impressions / mo. • Avg. 100kiB / page (== 30 GB / mo), 30GB Data • 20 queries per page, 20msec / query • 30 objects per page ( == 9,000,000 GET reqs/month) • 100 reqs/server/sec ( == 259,000,000 reqs/server/month) • 2 servers 24
    95. Example: AWS 25
    96. Example: AWS Item Service Cost/mo Storage S3 4.5 Data Transfer S3 30 Data Requests S3 1 DB Storage SimpleDB 45 DB CPU Usage SimpleDB 55 Server Usage EC2 144 TOTALS 279.5 25
    97. Example: AWS Item Service Cost/mo Storage S3 4.5 Data Transfer S3 30 Data Requests S3 1 DB Storage SimpleDB 45 DB CPU Usage SimpleDB 55 Server Usage EC2 144 TOTALS 279.5 25
    98. Example: AWS Item Service Cost/mo Storage S3 4.5 Data Transfer S3 30 Data Requests S3 1 DB Storage SimpleDB 45 DB CPU Usage SimpleDB 55 Server Usage EC2 144 TOTALS 279.5 25
    99. Example: AWS Item Service Cost/mo Storage S3 4.5 Data Transfer S3 30 Data Requests S3 1 DB Storage SimpleDB 45 DB CPU Usage SimpleDB 55 Server Usage EC2 144 TOTALS 279.5 25
    100. Example: AWS Item Service Cost/mo Storage S3 4.5 Data Transfer S3 30 Data Requests S3 1 DB Storage SimpleDB 45 DB CPU Usage SimpleDB 55 Server Usage EC2 144 TOTALS 279.5 25
    101. Example: AWS Item Service Cost/mo Storage S3 4.5 Data Transfer S3 30 Data Requests S3 1 DB Storage SimpleDB 45 DB CPU Usage SimpleDB 55 Server Usage EC2 144 TOTALS 279.5 25
    102. Example: AWS Item Service Cost/mo Storage S3 4.5 Data Transfer S3 30 Data Requests S3 1 DB Storage SimpleDB 45 DB CPU Usage SimpleDB 55 Server Usage EC2 144 TOTALS 279.5 25
    103. Example: AWS Item Service Cost/mo Storage S3 4.5 Data Transfer S3 30 Data Requests S3 1 DB Storage SimpleDB 45 DB CPU Usage SimpleDB 55 Server Usage EC2 144 TOTALS 279.5 25
    104. $280 / month = $0.09 CPM 3,000,000 pages / month (0.9% @ $10 RPM) 26
    105. Example: AWS • 300,000,000 page impressions • Avg. 100kiB / page (== 30 TB / mo), 1TB Data • 20 queries per page, 20msec / query • 30 objects per page ( == 9,000,000,000 GET reqs/month) • 100 reqs/server/sec ( == 259,000,000 reqs/server/month) • 35 servers 27
    106. Example: AWS 28
    107. Example: AWS Item Service Cost/mo Storage S3 150 Data Transfer S3 4,300 Data Requests S3 9,000 DB Storage SimpleDB 1,500 DB CPU Usage SimpleDB 3,800 Server Usage EC2 2,500 TOTALS 21,250 28
    108. Example: AWS Item Service Cost/mo Storage S3 150 Data Transfer S3 4,300 Data Requests S3 9,000 DB Storage SimpleDB 1,500 DB CPU Usage SimpleDB 3,800 Server Usage EC2 2,500 TOTALS 21,250 28
    109. Example: AWS Item Service Cost/mo Storage S3 150 Data Transfer S3 4,300 Data Requests S3 9,000 DB Storage SimpleDB 1,500 DB CPU Usage SimpleDB 3,800 Server Usage EC2 2,500 TOTALS 21,250 28
    110. Example: AWS Item Service Cost/mo Storage S3 150 Data Transfer S3 4,300 Data Requests S3 9,000 DB Storage SimpleDB 1,500 DB CPU Usage SimpleDB 3,800 Server Usage EC2 2,500 TOTALS 21,250 28
    111. Example: AWS Item Service Cost/mo Storage S3 150 Data Transfer S3 4,300 Data Requests S3 9,000 DB Storage SimpleDB 1,500 DB CPU Usage SimpleDB 3,800 Server Usage EC2 2,500 TOTALS 21,250 28
    112. Example: AWS Item Service Cost/mo Storage S3 150 Data Transfer S3 4,300 Data Requests S3 9,000 DB Storage SimpleDB 1,500 DB CPU Usage SimpleDB 3,800 Server Usage EC2 2,500 TOTALS 21,250 28
    113. Example: AWS Item Service Cost/mo Storage S3 150 Data Transfer S3 4,300 Data Requests S3 9,000 DB Storage SimpleDB 1,500 DB CPU Usage SimpleDB 3,800 Server Usage EC2 2,500 TOTALS 21,250 28
    114. Example: AWS Item Service Cost/mo Storage S3 150 Data Transfer S3 4,300 Data Requests S3 9,000 DB Storage SimpleDB 1,500 DB CPU Usage SimpleDB 3,800 Server Usage EC2 2,500 TOTALS 21,250 28
    115. $21,250 / month = $0.08 CPM 300,000,000 / month (0.8% @ $10 RPM) 29
    116. Them You 30
    117. Design Choose Scale 31
    118. Design THINK BIG—ITS CHEAP! Choose Scale 31
    119. Design THINK BIG—ITS CHEAP! Choose THE RIGHT TOOLS Scale 31
    120. Design THINK BIG—ITS CHEAP! Choose THE RIGHT TOOLS Scale EVERYTHING, ALWAYS 31
    121. Questions? Agree? Disagree? Want to rant? marcot@tabini.ca http://mtabini.blogspot.com http://mtabini.com/twitter 32

    + dpcdpc, 2 years ago

    custom

    1917 views, 0 favs, 5 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1917
      • 1874 on SlideShare
      • 43 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 12
    Most viewed embeds
    • 31 views on http://www.phpconference.nl
    • 6 views on http://blog.feryn.eu
    • 3 views on http://www.scriptorama.nl
    • 2 views on http://phpconference.nl
    • 1 views on http://192.168.10.100

    more

    All embeds
    • 31 views on http://www.phpconference.nl
    • 6 views on http://blog.feryn.eu
    • 3 views on http://www.scriptorama.nl
    • 2 views on http://phpconference.nl
    • 1 views on http://192.168.10.100

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories