SlideShare une entreprise Scribd logo
1  sur  58
Télécharger pour lire hors ligne
Papers
We hear you like
INES

Sombra
@Randommood
@Caitie
Caitie

McCaffrey
Distributed
Systems
academic
Papers
our Journey today
Eventual 

Consistency
System
Verification
Eventual
Consistency
1983 1995
Thinking Consistency
Detection of
Mutual
Inconsistency
in Distributed
Systems
Managing
Update Conflicts
in Bayou, a
Weakly
Connected
Replicated
Storage System
Brewer's
conjecture &
the feasibility of
consistent,
available,
partition-tolerant
web services
2002
20152011
Conflict-free
replicated Data
Types
Feral Concurrency
Control: An Empirical
Investigation of
Modern Application
Integrity
Thinking Consistency
Service
Service
Service
Applications Before
Service
Service
Service
Applications Before
ApplicationsNow
Service
Service
Service
High
availability
1983
Origin
Points
&
Version
Vectors
Key Take aways
We need Availability
Gives us a mechanism
for efficient conflict
detection
Teaches us that
networks are NOT
reliable
1995
Bayou Summary
System designed for weak connectivity
Eventual consistency via application-
defined dependency checks and
merge procedures
Epidemic algorithms to replicate state
“Applications must be
aware of and integrally
involved in conflict
detection and resolution”
Terry et. al
Bayou Take aways & thoughts
“Humans would
rather deal with
the occasional
unresolvable
conflict than
incur the
adverse impact
on availability”
like
prenups
2002
CAP Explained
PARTITION TOLERANCE
CONSISTENCY AVAILABILITY
" #
!!
Consistency
Models Linearizable
Sequential
Causal
Pipelined random
access memory
Read your write Monotonic read Monotonic write
Write from read
CP Consistency
AP Consistency
2011
CRDTs Summary
Mathematical properties & epidemic
algorithms / gossip protocols
Strong Eventual Consistency - apply
updates immediately, no conflicts, or
rollbacks
via
CRDTs
* Stolen from Chris Meiklejohn
in practice
Applying rollbacks is
hard
Restrict operation
space to get provably
convergent systems
Active area of research
Resolving Conflicts
2015
Feral mechanisms for keeping DB integrity
Application-level mechanisms
Analyzed 67 open source Ruby on
Rails Applications
Unsafe > 13% of the time 

(uniqueness & foreign key constraint violations)
Concurrency control is hard!
Availability is important to application
developers
Home-rolling your own concurrency
control or consensus algorithm is very
hard and difficult to get correct!
$
Crap! BWestill
havetoshipthis
system!
Crap! BWestill
havetoshipthis
system!
Shipthis
pileofburning
tires?ButHow do
we know ifit
works?
System
Verification
Whydo we verify/test?
We verify/test
to gain
confidence
that our system
is doing the
right thing now
& later
Types of verification & testing
Formal Methods Testing
TOP-DOWN
FAULT INJECTORS, INPUT GENERATORS
BOTTOM-UP
LINEAGE DRIVEN FAULT INJECTORS
WHITE / BLACK BOX
WE KNOW (OR NOT) ABOUT THE SYSTEM
HUMAN ASSISTED PROOFS
SAFETY CRITICAL (TLA+, COQ, ISABELLE)
MODEL CHECKING
PROPERTIES + TRANSITIONS (SPIN, TLA+)
LIGHTWEIGHT FM
BEST OF BOTH WORLDS (ALLOY, SAT)
Types of verification & testing
Formal Methods Testing
Pay-as-you-go & gradually
increase confidence
Sacrifice rigor (less
certainty) for something
more reasonable
Efficacy challenged by
large state space
High investment and high
reward
Considered slow & hard to
use so we target small
components / simplified
versions of a system
Used in safety-critical
domains
Verification Why so hard?
Nothing bad happens
Reason about 2 system
states. If steps between
them preserve our
invariants then we are
proven safe
SAFETY
Something good
eventually happens
Reason about infinite
series of system states
Much harder to verify
than safety properties
LIVENESS
Testing Why so hard?
A
B
!
!
?
Timing & Failures
Nondeterminism
Message ordering
Concurrency
Unbounded inputs
Vast state space
No centralized view
Behavior is aggregate
Components tested in
isolation also need to
be tested together
2008
FM
WhATis this temporal logic thing?
TLA: is a combination of temporal logic with a logic of
actions. Right logic to express liveness properties with
predicates about a system’s current & future state
TLA+: is a formal specification language used to
design, model, document, and verify concurrent/
distributed systems. It verifies all traces exhaustively
One of the most commonly used Formal Methods
2014
FM
TLA+at amazon Takeaways
Precise specification of systems in TLA+
Used in large complex real-world systems
Found subtle bugs & FMs provided
confidence to make aggressive optimizations
w/o sacrificing system correctness
Use formal specification to teach new
engineers
TLA+at amazon Results
2014
TEST
Key Takeaways Failures require only 3
nodes to reproduce.
Multiple inputs needed 

(~ 3) in the correct order
Complex sequences of
events but 74% errors
found are deterministic
77% failures can be
reproduced by a unit test
Faulty error handling
code culprit
Used error logs to diagnose &
reproduce failures
Aspirator (their static checker) found 121 new
bugs & 379 bad practices!
2014
TEST
Molly Highlights MOLLY runs and observes
execution, & picks a fault
for the next execution.
Program is ran again and
results are observed
Reasons backwards from
correct system outcomes
& determines if a failure
could have prevented it
Molly only injects the
failures it can prove might
affect an outcome
%&
Verifier
Programmer
“Presents a middle ground
between pragmatism and
formalism, dictated by the
importance of verifying fault
tolerance in spite of the
complexity of the space of
faults”
2015
'
(
)
*
+
FM
IronFleet Takeaways
First automated machine-
checked verification of
safety and liveness of a non-
trivial distributed system
implementation
Guarantees a system
implementation meets a
high-level specification
Rules out race conditions,…,
invariant violations, & bugs!
Uses TLA style state-machine
refinements to reason about
protocol level concurrency
(ignoring implementation)
Floyd-Hoare style imperative
verification to reason about
implementation complexities
(ignoring concurrency)
plus
Key Takeaways
“… As the developer writes a given
method or proof, she typically sees
feedback in 1–10 seconds indicating
whether the verifier is satisfied. Our
build system tracks dependencies
across files and outsources, in parallel,
each file’s verification to a cloud virtual
machine. While a full integration build
done serially requires approximately 6
hours, in practice, the developer rarely
waits more than 6–8 minutes“
Formally specified
algorithms gives us the
most confidence that our
systems are doing the
right thing
No testing strategy will
ever give you a
completeness guarantee
that no bugs exist
Keep In Mind
HeyBritney,
i’m readyto build
bettersoftware
And TEST
it too
Justin!
Consistency
We want highly available systems so we must use
weaker forms of consistency (remember CAP)
Application semantics helps us make better
tradeoffs
Do not recreate the wheel, leverage existing
research allows us to not repeat past mistakes
Forced into a feral world but this may change soon!
Tl;DR
Verification
Verification of distributed systems is a
complicated matter but we still need it
Today we leverage a multitude of methods to
gain confidence that we are doing the right thing
Formal vs testing lines are starting to get blurry
Still not as many tools as we should have. We wish
for more confidence with less work
Tl;DR
github.com/Randommood/QConSF2015
@Caitie - @Randommood
Thank you!
Follow
your
dreams!

Contenu connexe

Tendances

Tendances (20)

Chaos Engineering: Injecting Failure for Building Resilience in Systems
Chaos Engineering: Injecting Failure for Building Resilience in SystemsChaos Engineering: Injecting Failure for Building Resilience in Systems
Chaos Engineering: Injecting Failure for Building Resilience in Systems
 
Typing Work by Complexity
Typing Work by ComplexityTyping Work by Complexity
Typing Work by Complexity
 
Software development practices & Infrastructure as Code - how well do they wo...
Software development practices & Infrastructure as Code - how well do they wo...Software development practices & Infrastructure as Code - how well do they wo...
Software development practices & Infrastructure as Code - how well do they wo...
 
Chaos Engineering 101: A Field Guide
Chaos Engineering 101: A Field GuideChaos Engineering 101: A Field Guide
Chaos Engineering 101: A Field Guide
 
The Case For Continuous Security
The Case For Continuous SecurityThe Case For Continuous Security
The Case For Continuous Security
 
Chaos Engineering
Chaos EngineeringChaos Engineering
Chaos Engineering
 
An Introduction to Chaos Engineering
An Introduction to Chaos EngineeringAn Introduction to Chaos Engineering
An Introduction to Chaos Engineering
 
Chaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsChaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient Systems
 
3 Reasons Why The Host Rules Intrusion Detection in The Cloud
3 Reasons Why The Host Rules Intrusion Detection in The Cloud 3 Reasons Why The Host Rules Intrusion Detection in The Cloud
3 Reasons Why The Host Rules Intrusion Detection in The Cloud
 
Craft 2019 - Security Chaos Engineering - Security Precognition
Craft 2019 - Security Chaos Engineering - Security PrecognitionCraft 2019 - Security Chaos Engineering - Security Precognition
Craft 2019 - Security Chaos Engineering - Security Precognition
 
SRE in Startup
SRE in StartupSRE in Startup
SRE in Startup
 
Antifragile Software Design
Antifragile Software DesignAntifragile Software Design
Antifragile Software Design
 
Chaos Engineering when you're not Netflix
Chaos Engineering when you're not NetflixChaos Engineering when you're not Netflix
Chaos Engineering when you're not Netflix
 
Predict Software Reliability Before the Code is Written
Predict Software Reliability Before the Code is WrittenPredict Software Reliability Before the Code is Written
Predict Software Reliability Before the Code is Written
 
Four things that are almost guaranteed to reduce the reliability of a softwa...
Four things that are almost guaranteed to reduce the reliability of a softwa...Four things that are almost guaranteed to reduce the reliability of a softwa...
Four things that are almost guaranteed to reduce the reliability of a softwa...
 
The Journey to DevSecOps
The Journey to DevSecOpsThe Journey to DevSecOps
The Journey to DevSecOps
 
Fault-tolerance on the Cheap: Making Systems That (Probably) Won't Fall Over
Fault-tolerance on the Cheap: Making Systems That (Probably) Won't Fall Over Fault-tolerance on the Cheap: Making Systems That (Probably) Won't Fall Over
Fault-tolerance on the Cheap: Making Systems That (Probably) Won't Fall Over
 
Revised IEEE 1633 Recommended Practices for Software Reliability
Revised IEEE 1633 Recommended Practices for Software ReliabilityRevised IEEE 1633 Recommended Practices for Software Reliability
Revised IEEE 1633 Recommended Practices for Software Reliability
 
4 Steps to Effectively Integrate DevOps Workflows With Cloud Security Practices
4 Steps to Effectively Integrate DevOps Workflows With Cloud Security Practices4 Steps to Effectively Integrate DevOps Workflows With Cloud Security Practices
4 Steps to Effectively Integrate DevOps Workflows With Cloud Security Practices
 
What to Expect When You're Expecting (to Own Production)
What to Expect When You're Expecting (to Own Production)What to Expect When You're Expecting (to Own Production)
What to Expect When You're Expecting (to Own Production)
 

Similaire à We hear you like papers

DevOps_SelfHealing
DevOps_SelfHealingDevOps_SelfHealing
DevOps_SelfHealing
Atul Dhingra
 
Faster Payments Service How To Ensure Compliance From AppLabs
Faster Payments Service How To Ensure Compliance From AppLabsFaster Payments Service How To Ensure Compliance From AppLabs
Faster Payments Service How To Ensure Compliance From AppLabs
VIJAYA BHASKARA VARMA YARAKARAJU
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
Ehsan Ilahi
 
Socio Technical Systems in Software Engineering SE2
Socio Technical Systems in Software Engineering SE2Socio Technical Systems in Software Engineering SE2
Socio Technical Systems in Software Engineering SE2
koolkampus
 

Similaire à We hear you like papers (20)

Chaos Engineering and Systems Reliability
Chaos Engineering and Systems ReliabilityChaos Engineering and Systems Reliability
Chaos Engineering and Systems Reliability
 
DevOps_SelfHealing
DevOps_SelfHealingDevOps_SelfHealing
DevOps_SelfHealing
 
High dependability of the automated systems
High dependability of the automated systemsHigh dependability of the automated systems
High dependability of the automated systems
 
Automatic Assessment of Failure Recovery in Erlang Applications
Automatic Assessment of Failure Recovery in Erlang ApplicationsAutomatic Assessment of Failure Recovery in Erlang Applications
Automatic Assessment of Failure Recovery in Erlang Applications
 
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed Systems
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed SystemsDBTest 2013 - In Data Veritas - Data Driven Testing for Distributed Systems
DBTest 2013 - In Data Veritas - Data Driven Testing for Distributed Systems
 
Faster Payments Service How To Ensure Compliance From AppLabs
Faster Payments Service How To Ensure Compliance From AppLabsFaster Payments Service How To Ensure Compliance From AppLabs
Faster Payments Service How To Ensure Compliance From AppLabs
 
Ch20
Ch20Ch20
Ch20
 
SEPM_MODULE 2 PPT.pptx
SEPM_MODULE 2 PPT.pptxSEPM_MODULE 2 PPT.pptx
SEPM_MODULE 2 PPT.pptx
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
 
Testing
TestingTesting
Testing
 
From Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.auFrom Monoliths to Microservices at Realestate.com.au
From Monoliths to Microservices at Realestate.com.au
 
Chaos Engineering to Establish Software Reliability
Chaos Engineering to Establish Software ReliabilityChaos Engineering to Establish Software Reliability
Chaos Engineering to Establish Software Reliability
 
Automating The Process For Building Reliable Software
Automating The Process For Building Reliable SoftwareAutomating The Process For Building Reliable Software
Automating The Process For Building Reliable Software
 
Does DevSecOps really exist?
Does DevSecOps really exist?Does DevSecOps really exist?
Does DevSecOps really exist?
 
Google, quality and you
Google, quality and youGoogle, quality and you
Google, quality and you
 
Distributed system
Distributed systemDistributed system
Distributed system
 
System testing
System testingSystem testing
System testing
 
Adaptive fault tolerance in cloud survey
Adaptive fault tolerance in cloud surveyAdaptive fault tolerance in cloud survey
Adaptive fault tolerance in cloud survey
 
Software Testing
Software Testing Software Testing
Software Testing
 
Socio Technical Systems in Software Engineering SE2
Socio Technical Systems in Software Engineering SE2Socio Technical Systems in Software Engineering SE2
Socio Technical Systems in Software Engineering SE2
 

Plus de Ines Sombra

Plus de Ines Sombra (15)

From 0 to Capacity Planning
From 0 to Capacity PlanningFrom 0 to Capacity Planning
From 0 to Capacity Planning
 
Agile, Rugged, and Lean - The Paper Edition
Agile, Rugged, and Lean - The Paper EditionAgile, Rugged, and Lean - The Paper Edition
Agile, Rugged, and Lean - The Paper Edition
 
Data antipatterns NYC Devops - 2014
Data antipatterns NYC Devops - 2014Data antipatterns NYC Devops - 2014
Data antipatterns NYC Devops - 2014
 
Computational Patterns of the Cloud - QCon NYC 2014
Computational Patterns of the Cloud - QCon NYC 2014Computational Patterns of the Cloud - QCon NYC 2014
Computational Patterns of the Cloud - QCon NYC 2014
 
How the Cloud is changing the world
How the Cloud is changing the worldHow the Cloud is changing the world
How the Cloud is changing the world
 
NoSQL Databases in the Cloud - Great Wide Open 2014
NoSQL Databases in the Cloud - Great Wide Open 2014NoSQL Databases in the Cloud - Great Wide Open 2014
NoSQL Databases in the Cloud - Great Wide Open 2014
 
Relational Databases in the Cloud - Great Wide Open 2014
Relational Databases in the Cloud - Great Wide Open 2014Relational Databases in the Cloud - Great Wide Open 2014
Relational Databases in the Cloud - Great Wide Open 2014
 
Hello data
Hello dataHello data
Hello data
 
Data Antipatterns
Data AntipatternsData Antipatterns
Data Antipatterns
 
Ricon east
Ricon eastRicon east
Ricon east
 
PgPyDay
PgPyDayPgPyDay
PgPyDay
 
Getting started with Riak in the Cloud
Getting started with Riak in the CloudGetting started with Riak in the Cloud
Getting started with Riak in the Cloud
 
Riak at Engine Yard Cloud
Riak at Engine Yard CloudRiak at Engine Yard Cloud
Riak at Engine Yard Cloud
 
Postgres Open
Postgres OpenPostgres Open
Postgres Open
 
North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911
 

Dernier

VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 

Dernier (20)

Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Netaji Nagar, Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 

We hear you like papers