SlideShare uma empresa Scribd logo
1 de 99
Baixar para ler offline
The Economics of Scale Tyler Treat

WorkivaPromises and Perils of Going Distributed
September 19, 2015
About The Speaker
‱ Backend engineer at Workiva
‱ Messaging platform tech lead
‱ Distributed systems
‱ bravenewgeek.com @tyler_treat
tyler.treat@workiva.com
About The Talk
‱ Why distributed systems?
‱ Case study
‱ Advantages/Disadvantages
‱ Strategies for scaling and resilience patterns
‱ Scaling Workiva
What does it mean to “scale” a system?
Scale Up vs. Scale Out
❖ Add resources to a node

❖ Increases node capacity, load
is unaïŹ€ected

❖ System complexity unaïŹ€ected
Vertical Scaling
❖ Add nodes to a cluster

❖ Decreases load, capacity is
unaïŹ€ected

❖ Availability and throughput w/
increased complexity
Horizontal Scaling
Okay, cool—but what does this actually mean?
Let’s look at a real-world example

How does Twitter work?
Just write tweets to a big database table.
Getting a timeline is a simple join query.
But
this is crazy expensive.
Joins are sloooooooooow.
Prior to 5.5, MySQL used table-level locking. Now
it uses row-level locking. Either way,‹
lock contention everywhere.
As the table grows larger, lock contention on
indexes becomes worse too.
And UPDATES get higher priority than SELECTS.
So now what?
Distribute!
SpeciïŹcally, shard.
Partition tweets into different databases using
some consistent hash scheme‹
(put a hash ring on it).
This alleviates lock contention and improves
throughput
‹
‹
but fetching timelines is still extremely costly
(now scatter-gather query across multiple DBs).
Observation: Twitter is a consumption mechanism
more than an ingestion one

i.e. cheap reads > cheap writes
Move tweet processing to the write path‹
rather than read path.
Ingestion/Fan-Out Process
1. Tweet comes in
2. Query the social graph service for followers
3. Iterate through each follower and insert tweet ID into
their timeline (stored in Redis)
4. Store tweet on disk (MySQL)
Ingestion/Fan-Out Process
‱ Lots of processing on ingest, no computation on reads
‱ Redis stores timelines in memory—very fast
‱ Fetching timeline involves no queries—get timeline from
Redis cache and rehydrate with multi-get on IDs
‱ If timeline falls out of cache, reconstitute from disk
‱ O(n) on writes, O(1) on reads
‱ http://www.infoq.com/presentations/Twitter-Timeline-Scalability
Key Takeaway: think about your access patterns
and design accordingly.
‹
Optimize for the critical path.
Let’s Recap

‱ Advantages of single database system:
‱ Simple!
‱ Data and invariants are consistent (ACID transactions)
‱ Disadvantages of single database system:
‱ Slow
‱ Doesn’t scale
‱ Single point of failure
Going distributed solved the problem,‹
but at what cost?
(hint: your sanity)
Distributed systems are all about trade-oïŹ€s.
By choosing availability, we give up consistency.
This problem happens all the time on Twitter.‹
‹
For example, you tweet, someone else replies, and
I see the reply before the original tweet.
Can we solve this problem?
Sure, just coordinate things before proceeding

“Have you seen this tweet? Okay, good.”
“Have you seen this tweet? Okay, good.”
“Have you seen this tweet? Okay, good.”
“Have you seen this tweet? Okay, good.”
“Have you seen this tweet? Okay, good.”
“Have you seen this tweet? Okay, good.”
Sooo what do you do when Justin Bieber tweets to
his 67 million followers?
Coordinating for consistency is expensive‹
when data is distributed‹
because processes‹
can’t make progress independently.
Source: Peter Bailis, 2015 https://speakerdeck.com/pbailis/silence-is-golden-coordination-avoiding-systems-design
Key Takeaway: strong consistency is slow and
distributed coordination is expensive (in terms of
latency and throughput).
Sharing mutable data at large scale is difïŹcult.
If we don’t distribute, we risk scale problems.
Let’s say we want to count the number of times a
tweet is retweeted.
“Get, add 1, and put”
transaction will not‹
scale.
If we do distribute, we risk consistency problems.
What do we do when our system is partitioned?
If we allow writes on both sides of the partition,
how do we resolve conïŹ‚icts when the partition
heals?
Distributed systems are hard!
But lots of good research going on to solve these
problems

CRDTs
Lasp
SyncFree
RAMP transactions
etc.
Twitter has 316 million monthly active users.
Facebook has 1.49 billion monthly active users.
NetïŹ‚ix has 62.3 million streaming subscribers.
How do you build resilient systems at this scale?
Embrace failure.
Provide partial availability.
If an overloaded service is not essential to‹
core business, fail fast to prevent availability or
latency problems upstream.
It’s better to fail predictably than fail in
unexpected ways.
Use backpressure to reduce load.
Flow-Control Mechanisms
‱ Rate limit
‱ Bound queues/buffers
‱ Backpressure - drop messages on the ïŹ‚oor
‱ Increment stat counters for monitoring/alerting
‱ Exponential back-off
‱ Use application-level acks for critical transactions
Bounding resource utilization and failing fast
helps maintain predictable performance and
impedes cascading failures.
Going distributed means more wire time.‹
How do you improve performance?
Cache everything.
“There are only two hard things in computer
science: cache invalidation and naming
things.”
Embrace asynchrony.
Distributed systems are not just about workload
scale, they’re about organizational scale.
In 2010, Workiva released a product to streamline
ïŹnancial reporting.
A speciïŹc solution to solve a very speciïŹc
problem, originally built by a few dozen
engineers.
Fast forward to today:
a couple hundred engineers,
more users, more markets, more solutions.
How do you ramp up new products quickly?
You stop thinking in terms of products and start
thinking in terms of platform.
From Product to Platform
At this point, going distributed is all but necessary.
Service-Oriented Architecture allows us to
independently build, deploy, and scale discrete
parts of the platform.
Loosely coupled services let us tolerate failure.
And things fail constantly.
Shit happens — network partitions, hardware
failure, GC pauses, latency, dropped packets

Build resilient systems.
–Ken Arnold
“You have to design distributed systems with
the expectation of failure.”
Design for failure.
Consider the trade-off between
consistency and availability.
Most important?
Don’t distribute until you have
a reason to!
Scale up until you have to‹
scale out.
–Paul Barham
“You can have a second computer once you’ve
shown you know how to use the ïŹrst one.”
And when you do distribute,‹
don’t go overboard.
Walk before you run.
Remember, when it comes to
distributed systems
‹
for every promise there’s a peril.
Thanks!
@tyler_treat

github.com/tylertreat‹
bravenewgeek.com

Mais conteĂșdo relacionado

Mais procurados

Error in hadoop
Error in hadoopError in hadoop
Error in hadoop
Len Bass
 
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVMState: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
Jonas Bonér
 
Designing large scale distributed systems
Designing large scale distributed systemsDesigning large scale distributed systems
Designing large scale distributed systems
Ashwani Priyedarshi
 
Cloudstate—Towards Stateful Serverless
Cloudstate—Towards Stateful ServerlessCloudstate—Towards Stateful Serverless
Cloudstate—Towards Stateful Serverless
Jonas Bonér
 
Distributed Systems: scalability and high availability
Distributed Systems: scalability and high availabilityDistributed Systems: scalability and high availability
Distributed Systems: scalability and high availability
Renato Lucindo
 

Mais procurados (20)

NoSQL databases, the CAP theorem, and the theory of relativity
NoSQL databases, the CAP theorem, and the theory of relativityNoSQL databases, the CAP theorem, and the theory of relativity
NoSQL databases, the CAP theorem, and the theory of relativity
 
CAP Theorem and Split Brain Syndrome
CAP Theorem and Split Brain SyndromeCAP Theorem and Split Brain Syndrome
CAP Theorem and Split Brain Syndrome
 
Error in hadoop
Error in hadoopError in hadoop
Error in hadoop
 
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVMState: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
State: You're Doing It Wrong - Alternative Concurrency Paradigms For The JVM
 
Architecting for the cloud elasticity security
Architecting for the cloud elasticity securityArchitecting for the cloud elasticity security
Architecting for the cloud elasticity security
 
Designing large scale distributed systems
Designing large scale distributed systemsDesigning large scale distributed systems
Designing large scale distributed systems
 
Cloudstate—Towards Stateful Serverless
Cloudstate—Towards Stateful ServerlessCloudstate—Towards Stateful Serverless
Cloudstate—Towards Stateful Serverless
 
Database Expert Q&A from 2600hz and Cloudant
Database Expert Q&A from 2600hz and CloudantDatabase Expert Q&A from 2600hz and Cloudant
Database Expert Q&A from 2600hz and Cloudant
 
Distributed Systems: scalability and high availability
Distributed Systems: scalability and high availabilityDistributed Systems: scalability and high availability
Distributed Systems: scalability and high availability
 
designing distributed scalable and reliable systems
designing distributed scalable and reliable systemsdesigning distributed scalable and reliable systems
designing distributed scalable and reliable systems
 
Lightning talk: highly scalable databases and the PACELC theorem
Lightning talk: highly scalable databases and the PACELC theoremLightning talk: highly scalable databases and the PACELC theorem
Lightning talk: highly scalable databases and the PACELC theorem
 
The CAP Theorem
The CAP Theorem The CAP Theorem
The CAP Theorem
 
All you didn't know about the CAP theorem
All you didn't know about the CAP theoremAll you didn't know about the CAP theorem
All you didn't know about the CAP theorem
 
Everything you always wanted to know about Distributed databases, at devoxx l...
Everything you always wanted to know about Distributed databases, at devoxx l...Everything you always wanted to know about Distributed databases, at devoxx l...
Everything you always wanted to know about Distributed databases, at devoxx l...
 
Hbase hivepig
Hbase hivepigHbase hivepig
Hbase hivepig
 
MicroServices architecture @ Ctrip v1.1
MicroServices architecture @ Ctrip v1.1MicroServices architecture @ Ctrip v1.1
MicroServices architecture @ Ctrip v1.1
 
Network Management and Flow Analysis in Today’s Dense IT Environments
Network Management and Flow Analysis in Today’s Dense IT EnvironmentsNetwork Management and Flow Analysis in Today’s Dense IT Environments
Network Management and Flow Analysis in Today’s Dense IT Environments
 
The Internet-of-things: Architecting for the deluge of data
The Internet-of-things: Architecting for the deluge of dataThe Internet-of-things: Architecting for the deluge of data
The Internet-of-things: Architecting for the deluge of data
 
From Divided to United - Aligning Technical and Business Teams
From Divided to United - Aligning Technical and Business TeamsFrom Divided to United - Aligning Technical and Business Teams
From Divided to United - Aligning Technical and Business Teams
 
Stability Patterns for Microservices
Stability Patterns for MicroservicesStability Patterns for Microservices
Stability Patterns for Microservices
 

Destaque

PrincĂ­pios de EstatĂ­stica Inferencial - I
PrincĂ­pios de EstatĂ­stica Inferencial - IPrincĂ­pios de EstatĂ­stica Inferencial - I
PrincĂ­pios de EstatĂ­stica Inferencial - I
Federal University of Bahia
 

Destaque (20)

Budowanie Aplikacji RIA
Budowanie Aplikacji RIABudowanie Aplikacji RIA
Budowanie Aplikacji RIA
 
Orientacion 3Âș eso mg
Orientacion 3Âș eso mgOrientacion 3Âș eso mg
Orientacion 3Âș eso mg
 
Drilling the Async Library
Drilling the Async LibraryDrilling the Async Library
Drilling the Async Library
 
Sigmoid akka stream
Sigmoid akka streamSigmoid akka stream
Sigmoid akka stream
 
Jak oszczędzać czas zespoƂu w ƛrodowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespoƂu w ƛrodowisku mikroserwisów, czyli efektywny flow ...Jak oszczędzać czas zespoƂu w ƛrodowisku mikroserwisów, czyli efektywny flow ...
Jak oszczędzać czas zespoƂu w ƛrodowisku mikroserwisów, czyli efektywny flow ...
 
RAML - The architecture
RAML  - The architectureRAML  - The architecture
RAML - The architecture
 
Introduction to Knockout Js
Introduction to Knockout JsIntroduction to Knockout Js
Introduction to Knockout Js
 
Functional programming in Javascript
Functional programming in JavascriptFunctional programming in Javascript
Functional programming in Javascript
 
Akka Streams
Akka StreamsAkka Streams
Akka Streams
 
Technologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT coreTechnologia Xamarin i wprowadzenie do Windows IoT core
Technologia Xamarin i wprowadzenie do Windows IoT core
 
КаĐș ĐżĐ”Ń€Đ”ŃŃ‚Đ°Ń‚ŃŒ Đ±ĐŸŃŃ‚ŃŒŃŃ Đž ĐœĐ°Ń‡Đ°Ń‚ŃŒ Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·ĐžŃ€ĐŸĐČать
КаĐș ĐżĐ”Ń€Đ”ŃŃ‚Đ°Ń‚ŃŒ Đ±ĐŸŃŃ‚ŃŒŃŃ Đž ĐœĐ°Ń‡Đ°Ń‚ŃŒ Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·ĐžŃ€ĐŸĐČатьКаĐș ĐżĐ”Ń€Đ”ŃŃ‚Đ°Ń‚ŃŒ Đ±ĐŸŃŃ‚ŃŒŃŃ Đž ĐœĐ°Ń‡Đ°Ń‚ŃŒ Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·ĐžŃ€ĐŸĐČать
КаĐș ĐżĐ”Ń€Đ”ŃŃ‚Đ°Ń‚ŃŒ Đ±ĐŸŃŃ‚ŃŒŃŃ Đž ĐœĐ°Ń‡Đ°Ń‚ŃŒ Đ°ĐČŃ‚ĐŸĐŒĐ°Ń‚ĐžĐ·ĐžŃ€ĐŸĐČать
 
QA ĐșĐ°Đș ЮраĐčĐČДр Ń‚Ń€Đ°ĐœŃŃ„ĐŸŃ€ĐŒĐ°Ń†ĐžĐž
QA ĐșĐ°Đș ЮраĐčĐČДр Ń‚Ń€Đ°ĐœŃŃ„ĐŸŃ€ĐŒĐ°Ń†ĐžĐžQA ĐșĐ°Đș ЮраĐčĐČДр Ń‚Ń€Đ°ĐœŃŃ„ĐŸŃ€ĐŒĐ°Ń†ĐžĐž
QA ĐșĐ°Đș ЮраĐčĐČДр Ń‚Ń€Đ°ĐœŃŃ„ĐŸŃ€ĐŒĐ°Ń†ĐžĐž
 
Real world games share point engage
Real world games share point engageReal world games share point engage
Real world games share point engage
 
SharePoint Saturday Cambridge 2016 Session
SharePoint Saturday Cambridge 2016 SessionSharePoint Saturday Cambridge 2016 Session
SharePoint Saturday Cambridge 2016 Session
 
Manual Da Qualidade
Manual Da QualidadeManual Da Qualidade
Manual Da Qualidade
 
PrincĂ­pios de EstatĂ­stica Inferencial - I
PrincĂ­pios de EstatĂ­stica Inferencial - IPrincĂ­pios de EstatĂ­stica Inferencial - I
PrincĂ­pios de EstatĂ­stica Inferencial - I
 
Aula 01 - MĂ©todos de AnĂĄlise de Dados
Aula 01 - MĂ©todos de AnĂĄlise de DadosAula 01 - MĂ©todos de AnĂĄlise de Dados
Aula 01 - MĂ©todos de AnĂĄlise de Dados
 
TÉCNICAS DE COLETA DE DADOS.
TÉCNICAS DE COLETA DE DADOS.TÉCNICAS DE COLETA DE DADOS.
TÉCNICAS DE COLETA DE DADOS.
 
Docker Security Deep Dive by Ying Li and David Lawrence
Docker Security Deep Dive by Ying Li and David LawrenceDocker Security Deep Dive by Ying Li and David Lawrence
Docker Security Deep Dive by Ying Li and David Lawrence
 
[devops REX 2016] Comment l’IT peut arrĂȘter de se faire vanner par les devs ?
[devops REX 2016] Comment l’IT peut arrĂȘter de se faire vanner par les devs ?[devops REX 2016] Comment l’IT peut arrĂȘter de se faire vanner par les devs ?
[devops REX 2016] Comment l’IT peut arrĂȘter de se faire vanner par les devs ?
 

Semelhante a The Economics of Scale: Promises and Perils of Going Distributed

DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleDevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
JAXLondon_Conference
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systems
elliando dias
 
Document Databases In Online Publishing
Document  Databases In  Online Publishing Document  Databases In  Online Publishing
Document Databases In Online Publishing
Irakli Nadareishvili
 

Semelhante a The Economics of Scale: Promises and Perils of Going Distributed (20)

Talk at the Boston Cloud Foundry Meetup June 2015
Talk at the Boston Cloud Foundry Meetup June 2015Talk at the Boston Cloud Foundry Meetup June 2015
Talk at the Boston Cloud Foundry Meetup June 2015
 
Microservices vs monolithics betabeers
Microservices vs monolithics   betabeersMicroservices vs monolithics   betabeers
Microservices vs monolithics betabeers
 
Unified approach to analytics
Unified approach to analyticsUnified approach to analytics
Unified approach to analytics
 
Session on scalability - by isaka traore - 19 may 2016 - rockstart
Session on scalability - by isaka traore - 19 may 2016 - rockstartSession on scalability - by isaka traore - 19 may 2016 - rockstart
Session on scalability - by isaka traore - 19 may 2016 - rockstart
 
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of HoneycombSRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
SRE Topics with Charity Majors and Liz Fong-Jones of Honeycomb
 
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve PooleDevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
DevOps and the cloud: all hail the (developer) king - Daniel Bryant, Steve Poole
 
Big Data
Big DataBig Data
Big Data
 
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
JAXLondon 2015 "DevOps and the Cloud: All Hail the (Developer) King"
 
Storage Systems For Scalable systems
Storage Systems For Scalable systemsStorage Systems For Scalable systems
Storage Systems For Scalable systems
 
Document Databases In Online Publishing
Document  Databases In  Online Publishing Document  Databases In  Online Publishing
Document Databases In Online Publishing
 
Webinar: Is Convergence right for you? – 4 questions to ask
Webinar: Is Convergence right for you? – 4 questions to askWebinar: Is Convergence right for you? – 4 questions to ask
Webinar: Is Convergence right for you? – 4 questions to ask
 
How Celtra Optimizes its Advertising Platform with Databricks
How Celtra Optimizes its Advertising Platformwith DatabricksHow Celtra Optimizes its Advertising Platformwith Databricks
How Celtra Optimizes its Advertising Platform with Databricks
 
Digital Transformation with Kubernetes, Containers, and Microservices
Digital Transformation with Kubernetes, Containers, and MicroservicesDigital Transformation with Kubernetes, Containers, and Microservices
Digital Transformation with Kubernetes, Containers, and Microservices
 
Intorducing Big Data and Microsoft Azure
Intorducing Big Data and Microsoft AzureIntorducing Big Data and Microsoft Azure
Intorducing Big Data and Microsoft Azure
 
Moving to Microservices with the Help of Distributed Traces
Moving to Microservices with the Help of Distributed TracesMoving to Microservices with the Help of Distributed Traces
Moving to Microservices with the Help of Distributed Traces
 
Data Engineer's Lunch #85: Designing a Modern Data Stack
Data Engineer's Lunch #85: Designing a Modern Data StackData Engineer's Lunch #85: Designing a Modern Data Stack
Data Engineer's Lunch #85: Designing a Modern Data Stack
 
How do we drive tech changes
How do we drive tech changesHow do we drive tech changes
How do we drive tech changes
 
Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 

Mais de Tyler Treat

The Observability Pipeline
The Observability PipelineThe Observability Pipeline
The Observability Pipeline
Tyler Treat
 
Distributed Systems Are a UX Problem
Distributed Systems Are a UX ProblemDistributed Systems Are a UX Problem
Distributed Systems Are a UX Problem
Tyler Treat
 

Mais de Tyler Treat (8)

Cloud-Native Observability
Cloud-Native ObservabilityCloud-Native Observability
Cloud-Native Observability
 
The Observability Pipeline
The Observability PipelineThe Observability Pipeline
The Observability Pipeline
 
Distributed Systems Are a UX Problem
Distributed Systems Are a UX ProblemDistributed Systems Are a UX Problem
Distributed Systems Are a UX Problem
 
The Future of Ops
The Future of OpsThe Future of Ops
The Future of Ops
 
Building a Distributed Message Log from Scratch - SCaLE 16x
Building a Distributed Message Log from Scratch - SCaLE 16xBuilding a Distributed Message Log from Scratch - SCaLE 16x
Building a Distributed Message Log from Scratch - SCaLE 16x
 
Building a Distributed Message Log from Scratch
Building a Distributed Message Log from ScratchBuilding a Distributed Message Log from Scratch
Building a Distributed Message Log from Scratch
 
So You Wanna Go Fast?
So You Wanna Go Fast?So You Wanna Go Fast?
So You Wanna Go Fast?
 
Probabilistic algorithms for fun and pseudorandom profit
Probabilistic algorithms for fun and pseudorandom profitProbabilistic algorithms for fun and pseudorandom profit
Probabilistic algorithms for fun and pseudorandom profit
 

Último

Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Bert Jan Schrijver
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] đŸ„ Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] đŸ„ Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] đŸ„ Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] đŸ„ Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Último (20)

WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Abortion Pill Prices Tembisa [(+27832195400*)] đŸ„ Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] đŸ„ Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] đŸ„ Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] đŸ„ Women's Abortion Clinic in T...
 
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 

The Economics of Scale: Promises and Perils of Going Distributed