taming failures by partitioning time and space
play

Taming Failures by Partitioning Time and Space Sadek Drobi - PowerPoint PPT Presentation

Taming Failures by Partitioning Time and Space Sadek Drobi prismic.io CEO & Co-founder Playframework Co-creator @sadache prismic.io, a snappy tour Building a Website with dynamic content is a pain No content Use a visual builder Use


  1. Taming Failures by Partitioning Time and Space Sadek Drobi prismic.io CEO & Co-founder Playframework Co-creator @sadache

  2. prismic.io, a snappy tour

  3. Building a Website with dynamic content is a pain No content Use a visual builder Use CMS building management tool blocks and plugins <style> h1 { font-family: ‘Aller’ } </style> <h1> Change your world now! </h1>

  4. prismic.io is a new way to bring your website content alive

  5. prismic.io is a new way to bring your website content alive Content Simple Web API management to consume backoffice content

  6. Content is Central to Websites

  7. Business Wise ● Offer Performance and Reliability ● Excel where every CMS fails

  8. First, we need to understand the impact of system failure.

  9. Impact of System Failure ● Writing Room: No edit, save or publish ● API: No end-user website

  10. Impact of System Failure ● Writing Room: No edit, save or publish ● API: No end-user website

  11. System Requirements From a Macro Perspective ● Concurrent Write ● Concurrent Read ● Redundant ● Reliable and available ● Consistent

  12. System Requirements From a Macro Perspective

  13. CAP says no!

  14. Let’s Talk about Time

  15. Observe time ticks

  16. Observe time ticks

  17. Two different universes, two different times

  18. Authors write On Publish, some content Content is displayed on website

  19. Two different universes, two different times Writer universe Viewer universe

  20. On publish event, we update API system time publish API Data Extraction

  21. If Writing Room goes down, API isn’t affected publish API Data Extraction

  22. We Can Do Even Better

  23. Clients APIs can be time decoupled too! publish API Data Extraction publish API Data Extraction publish API Data Extraction

  24. Infrastructure wise publish publish S3 publish

  25. We use Apache Lucene for our API publish download Ready to download, zipped Lucene Index

  26. Server Failure? S3

  27. Elastic?

  28. Do we need traffic officers or traffic lights here?

  29. Applying the Same on the Writing Room

  30. Once a week to post a blog post Two hours a day Did not connect to update news for weeks Interactive Read/Write Does not connect Giant database x100.000 anymore repositories

  31. Do we really need to keep everything here in case of?

  32. Each repository has it own lifecycle Wake up on demand Archive when idle Databases Redundent Book Cloud storage

  33. Infrastructure wise logs S3 snapshots

  34. Clusters Data Migration Functionality A/B Testing

  35. Observe time ticks

  36. Solves ● Scalable space-efficient infrastructure ● Data migration and versioning (avoid stop-the-world migrations) ● Multiple production environments (with multiple data versions) ● Testing new functionalities

  37. System Requirements From a Macro Perspective ● Concurrent Write ● Concurrent Read ● Redundant ● Reliable and available ● Consistent

  38. Scalability is not a buzzword you can put on a slide nor A technology you can purchase

Recommend


More recommend