Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Large Scale Neos

Large Scale Neos

I have no doubt, that Neos is a mature and a really powerful framework which could be trusted to power even the largest web applications.

But there are some things to take care of, if you develop a big Neos project. In this talk I want to show you some best practices and learnings from developing our recent Neos projects at punkt.de.

96ca2af44f81a79c6d041fa4ee45d8b1?s=128

Daniel Lienert

May 10, 2019
Tweet

Transcript

  1. Large Scale Neos

  2. Daniel Lienert • Scrum Master / Software Architect
 @ punkt.de

    / Karlsruhe • Neos Core Team Member • @dlienert
  3. What needs to be scalable? Code Data Traffic

  4. Code Structure

  5. In doubt, create a new package.

  6. Data

  7. Estimate project volumes.

  8. Develop and test with real world volumes whenever possible. Flowpack.NodeGenerator

    Sitegeist.MagicWand
  9. Neos Entities Project Specific Entities Content Assets Accounts Adresses Products

  10. Traffic

  11. None
  12. Integrators Developers (DevOps)

  13. Integrators

  14. Fusion

  15. Property Evaluation

  16. Property Evaluation

  17. Property Evaluation

  18. Property Access

  19. title News Article author categories relatedArticles Author Category A Category

    B Category … Article 1 Article 2 Article … title News Article author Author title News Article author categories Author Category A Category B Category … title News Article
  20. Property Access

  21. FlowQuery

  22. Find And Filter

  23. Sort And Limit

  24. https://www.antaresnet.com/wp-content/uploads/2018/07/ Elasticsearch-Logo-Color-V.png Flowpack.ElasticSearch.ContentRepositoryAdaptor

  25. Find And Filter

  26. Sort And Limit

  27. Developer (DevOps)

  28. Iteration

  29. FindAll()

  30. Use an Iterator

  31. Parallelization

  32. Slicer Worker Worker Worker Worker Work

  33. Flowpack.JobQueue.Common Flowpack.JobQueue. Doctrine Flowpack.JobQueue. Redis Flowpack.JobQueue. Beanstalkd And more …

  34. None
  35. Caching

  36. Sandstorm.OptimizedRedisCacheBackend

  37. MOC.Varnish

  38. Log Management

  39. Enrich your Logs with Context

  40. None
  41. Neos Limitations

  42. Node Tree

  43. PunktDe.Archivist

  44. Asset Usage

  45. PunktDe.Elastic.AssetUsageInNodes

  46. Wrap Up

  47. @dlienert daniellienert