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

taming failures by partitioning time and space
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Sadek Drobi

prismic.io CEO & Co-founder Playframework Co-creator @sadache

Taming Failures by Partitioning Time and Space

slide-2
SLIDE 2

prismic.io, a snappy tour

slide-3
SLIDE 3

Building a Website with dynamic content is a pain

No content management Use CMS building blocks and plugins Use a visual builder tool

<style> h1 { font-family: ‘Aller’ } </style> <h1> Change your world now! </h1>

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

Simple Web API to consume content Content management backoffice

slide-6
SLIDE 6

Content is Central to Websites

slide-7
SLIDE 7

Business Wise

  • Offer Performance and Reliability
  • Excel where every CMS fails
slide-8
SLIDE 8

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

slide-9
SLIDE 9

Impact of System Failure

  • Writing Room: No edit, save or publish
  • API: No end-user website
slide-10
SLIDE 10

Impact of System Failure

  • Writing Room: No edit, save or publish
  • API: No end-user website
slide-11
SLIDE 11

System Requirements From a Macro Perspective

  • Concurrent Write
  • Concurrent Read
  • Redundant
  • Reliable and available
  • Consistent
slide-12
SLIDE 12

System Requirements From a Macro Perspective

slide-13
SLIDE 13

CAP says no!

slide-14
SLIDE 14

Let’s Talk about Time

slide-15
SLIDE 15

Observe time ticks

slide-16
SLIDE 16

Observe time ticks

slide-17
SLIDE 17

Two different universes, two different times

slide-18
SLIDE 18

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

slide-19
SLIDE 19

Writer universe Viewer universe

Two different universes, two different times

slide-20
SLIDE 20

publish Data Extraction API

On publish event, we update API system time

slide-21
SLIDE 21

publish Data Extraction API

If Writing Room goes down, API isn’t affected

slide-22
SLIDE 22

We Can Do Even Better

slide-23
SLIDE 23

publish Data Extraction API

Clients APIs can be time decoupled too!

publish Data Extraction API publish Data Extraction API

slide-24
SLIDE 24

S3 publish publish publish

Infrastructure wise

slide-25
SLIDE 25

publish

We use Apache Lucene for our API

Ready to download, zipped Lucene Index download

slide-26
SLIDE 26

S3

Server Failure?

slide-27
SLIDE 27

Elastic?

slide-28
SLIDE 28

Do we need traffic officers or traffic lights here?

slide-29
SLIDE 29

Applying the Same on the Writing Room

slide-30
SLIDE 30
slide-31
SLIDE 31

Interactive Read/Write

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

slide-32
SLIDE 32
slide-33
SLIDE 33
slide-34
SLIDE 34

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

slide-35
SLIDE 35
slide-36
SLIDE 36

Each repository has it own lifecycle

Databases Book Redundent Cloud storage Wake up on demand Archive when idle

slide-37
SLIDE 37

Infrastructure wise

S3 snapshots logs

slide-38
SLIDE 38

Clusters

Data Migration Functionality A/B Testing

slide-39
SLIDE 39

Observe time ticks

slide-40
SLIDE 40

Solves

  • Scalable space-efficient infrastructure
  • Data migration and versioning (avoid

stop-the-world migrations)

  • Multiple production environments (with

multiple data versions)

  • Testing new functionalities
slide-41
SLIDE 41

System Requirements From a Macro Perspective

  • Concurrent Write
  • Concurrent Read
  • Redundant
  • Reliable and available
  • Consistent
slide-42
SLIDE 42

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

slide-43
SLIDE 43