Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Lizards & Pumpkins Catalog Replacement at mm17de

717 views

Published on

Lizards & Pumpkins Catalog Replacement presentation at Meet-Magento 2017 in Leipzig, Germany on 23. May 2017.
It discusses how Lizards & Pumpkins solves the problems of Performance and Scalability while avoiding the problems introduced by caching.
It also discusses how to approach customizations in an encapsulated way.

Published in: Software
  • Be the first to comment

Lizards & Pumpkins Catalog Replacement at mm17de

  1. 1. LIZARDS & PUMPKINS
  2. 2. What is it?
  3. 3. Once upon a time there was a merchant...
  4. 4. the online shop was built on Magento.
  5. 5. Business was going well, but...
  6. 6. frustration was growing.
  7. 7. Technical issues where hindering growth.
  8. 8. Developers where busy fixing bugs instead of adding features.
  9. 9. "What is the best way forward?" the merchant kept thinking?
  10. 10. After a year of evaluating shopping carts and services...
  11. 11. the answer became clear!
  12. 12. Lets replace only the troubling parts!
  13. 13. Thus Lizards & Pumpkins was created!
  14. 14. What is it?
  15. 15. First lets remove common misconceptions!
  16. 16. No framework
  17. 17. No backend
  18. 18. No cache
  19. 19. No out of the box solution
  20. 20. No MySQL / MongoDB / Redis / [insert tech here]
  21. 21. No legacy
  22. 22. No PHP5
  23. 23. No cart
  24. 24. No checkout
  25. 25. No customer account
  26. 26. But... what IS it?
  27. 27. Catalog Replacement
  28. 28. It solves Problems!
  29. 29. First problem: Performance
  30. 30. Second problem: Scalability
  31. 31. Third problem: Caching
  32. 32. Caching is a problem?
  33. 33. Cache misses
  34. 34. Stale content
  35. 35. Cache eviction
  36. 36. Wrong content
  37. 37. How does Lizards & Pumpkins solve those problems?
  38. 38. Two part solution
  39. 39. THE IMPORT
  40. 40. Queues & Workers
  41. 41. Import data is split and imported in parallel.
  42. 42. Catalog ➡ Products, Categories ➡ Product, Images, Listings
  43. 43. Imported data is stored as "Snippets"
  44. 44. Snippets can be HTML, JSON or anything.
  45. 45. Snippets are view optimized.
  46. 46. There is data duplication! For example:
  47. 47. ▸ Product Detail View ▸ Product Search Suggestion View ▸ Product Listing View ▸ Product in Mini Cart View ▸ Product JSON API View
  48. 48. Data Pool: Key Value Store Search Engine
  49. 49. Lets do a run through.
  50. 50. What happens when a product is changed and Save is clicked?
  51. 51. In Magento: Product Data ➡ XML import catalog ➡ API
  52. 52. In Lizards & Pumpkins: API ➡ ! Queue import catalog
  53. 53. Queue ➡ ! Worker Process
  54. 54. Worker Process ➡ Splits XML ➡ !!! Queue
  55. 55. Parallel ➡ ! Worker Process Queue ➡ ! Worker Process ➡ ! Worker Process
  56. 56. Worker Process ➡ ! Rendering ➡ " Data Pool
  57. 57. More worker processes ➡ Faster imports
  58. 58. CONTENT DELIVERY
  59. 59. Depending on the request determines which snippets are needed.
  60. 60. Snippets are fetched from Data Pool and combined.
  61. 61. Content is sent to browser.
  62. 62. Done.
  63. 63. Most of the work happened during import.
  64. 64. RENDERING
  65. 65. During Import During Content Delivery Client Side
  66. 66. Client Side Rendering & SEO?
  67. 67. Client side is good for SEO! (and also has more benefits)
  68. 68. Client side rendering is optional in
  69. 69. DATA VERSIONING
  70. 70. Content Preview
  71. 71. A/B Experiments
  72. 72. MORE FEATURES...
  73. 73. Product Search API ✨
  74. 74. Step by Step Migration
  75. 75. Technology Stack Agnostic
  76. 76. Shop Software Agnostic
  77. 77. Evolutionary Design...
  78. 78. ...enabled by Test Coverage
  79. 79. CUSTOMIZATION
  80. 80. How does this work with what we do as an agency or as developers?
  81. 81. Initial development work required.
  82. 82. Developers can hook customizations into
  83. 83. Focus on encapsulating custom functionality.
  84. 84. Example scenario!
  85. 85. Product Q & A Module
  86. 86. The Magento centric approach: * Create Module * Create DB Table Setup Script * Create ORM Classes * Create Admin Stuff * Add Form to Product Page * Add Q & A to Product Page * Create Controller
  87. 87. How does this work with Lizards & Pumpkins?
  88. 88. A stand alone Product Q & A App
  89. 89. What could that look like?
  90. 90. What does a Q & A App require?
  91. 91. Storage Management Panel Form & Display Form Data Processing
  92. 92. Example: * Storage: MySQL|Mongo|SQLite|... * ORM: Doctrine|Eloquent|Propel|... * REST API * Form Widget * Q&A Widget * Admin Panel
  93. 93. Benefits?
  94. 94. More freedom for change!
  95. 95. Simple to reuse outside of Magento context.
  96. 96. Simple to optimize for business needs: ▸ Speed ▸ Scalability ▸ Changeability
  97. 97. How much cost is it to build?
  98. 98. Not much different than building in Magento.
  99. 99. How much fun is it to build?
  100. 100. Developer Satisfaction! !
  101. 101. It's a change in the mindset!
  102. 102. Current Status?
  103. 103. In production > 1 year
  104. 104. Requires development resources
  105. 105. What now?
  106. 106. Open Source https://github.com/lizards-and-pumpkins
  107. 107. Try the dev-vm https://github.com/lizards-and-pumpkins/dev-vm
  108. 108. Getting started docs (on the github wiki)
  109. 109. Ping us for an invite! https://lizards-and-pumpkins.slack.com
  110. 110. Twitter: @lizardspumpkins Email: team@lizardsandpumpkins.com
  111. 111. ❤ Thank you!

×