O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
Sadek Drobi
prismic.io CEO & Co-founder
Playframework Co-creator
@sadache
Taming Failures by Partitioning
Time and Space
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese an...
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practi...
prismic.io, a snappy tour
Building a Website with dynamic
content is a pain
No content
management
Use CMS building
blocks and plugins
Use a visual b...
prismic.io is a new way to bring
your website content alive
prismic.io is a new way to bring
your website content alive
Simple Web API
to consume
content
Content
management
backoffice
Content is Central to Websites
Business Wise
● Offer Performance and Reliability
● Excel where every CMS fails
First, we need to understand
the impact of system failure.
Impact of System Failure
● Writing Room: No edit, save or publish
● API: No end-user website
Impact of System Failure
● Writing Room: No edit, save or publish
● API: No end-user website
System Requirements From a Macro
Perspective
● Concurrent Write
● Concurrent Read
● Redundant
● Reliable and available
● C...
System Requirements From a Macro
Perspective
CAP says no!
Let’s Talk about Time
Observe time ticks
Observe time ticks
Two different universes, two different times
Authors write
some content
On Publish,
Content is displayed on
website
Writer universe Viewer universe
Two different universes, two different times
publish
Data Extraction
API
On publish event, we update API system time
publish
Data Extraction
API
If Writing Room goes down, API isn’t affected
We Can Do Even Better
publish
Data Extraction
API
Clients APIs can be time decoupled too!
publish
Data Extraction
API
publish
Data Extraction
API
S3
publish
publish
publish
Infrastructure wise
publish
We use Apache Lucene for our API
Ready to download,
zipped Lucene
Index
download
S3
Server Failure?
Elastic?
Do we need
traffic officers or
traffic lights
here?
Applying the Same on the
Writing Room
Interactive Read/Write
Once a week
to post a blog post
Did not connect
for weeks
Does not connect
anymore
Giant database x...
Do we really need to keep everything
here in case of?
Each repository has it own lifecycle
Databases
Book
Redundent
Cloud storage
Wake up on
demand
Archive when
idle
Infrastructure wise
S3
snapshots
logs
Clusters
Data Migration
Functionality A/B Testing
Observe time ticks
Solves
● Scalable space-efficient infrastructure
● Data migration and versioning (avoid
stop-the-world migrations)
● Multi...
System Requirements From a Macro
Perspective
● Concurrent Write
● Concurrent Read
● Redundant
● Reliable and available
● C...
Scalability is not a buzzword you can put on a slide
nor
A technology you can purchase
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
prismicio
Subside Failure: Partitioning Time and Space
Subside Failure: Partitioning Time and Space
Subside Failure: Partitioning Time and Space
Subside Failure: Partitioning Time and Space
Subside Failure: Partitioning Time and Space
Próximos SlideShares
Carregando em…5
×

Subside Failure: Partitioning Time and Space

133 visualizações

Publicada em

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/1Wc1nuj.

Sadek Drobi talks about the prismic.io API and how to understand the properties and the mechanics of a system, and to partition its different dimensions to avoid a failure cascade. Filmed at qconlondon.com.

Sadek Drobi is a software engineer specialized in bridging the gap between the problem domain and the solution domain. As a core Play developer and Play2 co-creator, he works on the design and implementation of the framework.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Subside Failure: Partitioning Time and Space

  1. 1. Sadek Drobi prismic.io CEO & Co-founder Playframework Co-creator @sadache Taming Failures by Partitioning Time and Space
  2. 2. InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ prismicio
  3. 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon London www.qconlondon.com
  4. 4. prismic.io, a snappy tour
  5. 5. 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>
  6. 6. prismic.io is a new way to bring your website content alive
  7. 7. prismic.io is a new way to bring your website content alive Simple Web API to consume content Content management backoffice
  8. 8. Content is Central to Websites
  9. 9. Business Wise ● Offer Performance and Reliability ● Excel where every CMS fails
  10. 10. First, we need to understand the impact of system failure.
  11. 11. Impact of System Failure ● Writing Room: No edit, save or publish ● API: No end-user website
  12. 12. Impact of System Failure ● Writing Room: No edit, save or publish ● API: No end-user website
  13. 13. System Requirements From a Macro Perspective ● Concurrent Write ● Concurrent Read ● Redundant ● Reliable and available ● Consistent
  14. 14. System Requirements From a Macro Perspective
  15. 15. CAP says no!
  16. 16. Let’s Talk about Time
  17. 17. Observe time ticks
  18. 18. Observe time ticks
  19. 19. Two different universes, two different times
  20. 20. Authors write some content On Publish, Content is displayed on website
  21. 21. Writer universe Viewer universe Two different universes, two different times
  22. 22. publish Data Extraction API On publish event, we update API system time
  23. 23. publish Data Extraction API If Writing Room goes down, API isn’t affected
  24. 24. We Can Do Even Better
  25. 25. publish Data Extraction API Clients APIs can be time decoupled too! publish Data Extraction API publish Data Extraction API
  26. 26. S3 publish publish publish Infrastructure wise
  27. 27. publish We use Apache Lucene for our API Ready to download, zipped Lucene Index download
  28. 28. S3 Server Failure?
  29. 29. Elastic?
  30. 30. Do we need traffic officers or traffic lights here?
  31. 31. Applying the Same on the Writing Room
  32. 32. 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
  33. 33. Do we really need to keep everything here in case of?
  34. 34. Each repository has it own lifecycle Databases Book Redundent Cloud storage Wake up on demand Archive when idle
  35. 35. Infrastructure wise S3 snapshots logs
  36. 36. Clusters Data Migration Functionality A/B Testing
  37. 37. Observe time ticks
  38. 38. Solves ● Scalable space-efficient infrastructure ● Data migration and versioning (avoid stop-the-world migrations) ● Multiple production environments (with multiple data versions) ● Testing new functionalities
  39. 39. System Requirements From a Macro Perspective ● Concurrent Write ● Concurrent Read ● Redundant ● Reliable and available ● Consistent
  40. 40. Scalability is not a buzzword you can put on a slide nor A technology you can purchase
  41. 41. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ prismicio

×