SlideShare a Scribd company logo
1 of 207
Framing Our
Potential for Failure
Michelle Brush
InfoQ.com: News & Community Site
• Over 1,000,000 software developers, architects and CTOs read the site world-
wide every month
• 250,000 senior developers subscribe to our weekly newsletter
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• 2 dedicated podcast channels: The InfoQ Podcast, with a focus on
Architecture and The Engineering Culture Podcast, with a focus on building
• 96 deep dives on innovative topics packed as downloadable emags and
minibooks
• Over 40 new content items per week
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
architecture-failure-modes
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 San Francisco
www.qconsf.com
Michelle Brush
Engineering Director, Cerner Corporation
Chapter Leader, Kansas City Girl Develop It
Conference Organizer, Midwest.io
@michellebrush
Michelle Brush
Engineering Director, Cerner Corporation
Chapter Leader, Kansas City Girl Develop It
Conference Organizer, Midwest.io
@michellebrush
My Mom:
What is it that you do again?
Michelle Brush
Software Engineer, Various
Chapter Leader, Kansas City Girl Develop It
Conference Organizer, Midwest.io
@michellebrush
My Mom:
What is it that you do again?
Me:
I worry about failures and
manage them.
Me:
Sometimes I fail.
Me:
usually due to people stuff
Me:
I, as a person, don’t scale well.
Me:
so I teach people to worry
about failure and manage it
Me:
redundancy
Me:
Sometimes that fails too.
Michelle Brush
78.5 million unique lives
6.8 million managed lives
6.3 petabytes of data
Engineering Director, Population Health
data
computer
data
Big Data
redundancy
risk
updates?
?
?
updates
?
?
can fail.
It gets worse.
?
?
?
?
There’s no guarantee that things arrive in order.
8:01 8:04 8:00
8:00
?
?
There’s no guarantee that they arrive at all.
8:01 8:04 8:00
8:00
?
?
There are still more ways the system can be wrong,
than we can possibly reason about.
8:01 8:04 8:00
8:00
Welcome to The Cloud.
Welcome to The Cloud.
embedded systems
embedded systems
the tiny houses of engineering
200 sq. ft. of living space
Foundation optional
Emphasis on design to optimize reuse
of space.
1 GB of hard disk
1 MB of main memory
CPU that’s competitive with the average
computer in the late 90’s.
I can reuse my combined
toilet/shower as my closet.
While the specific technologies we use
may be the means by which we fail,
they are not the cause.
You need technology to manage it,
but if you don't even know how to
worry about failure, you won’t
know where to start.
I’m going to change the subject.
everyone’s favorite topic: Software Estimation
How many man-weeks/iterations/people
will it take to do this project?
We’re typically wrong by 30%.
confidence.
What is the distance in light years to
Alpha Centauri?
What year was helium discovered?
lower and upper bounds
with 90% confidence
What is the distance in
light years to Alpha
Centauri?
What is the distance in
light years to Alpha
Centauri?
10 - 1000
What is the distance in
light years to Alpha
Centauri?
10 - 1000
4.367
What year was helium
discovered?
What year was helium
discovered?
1850 - 1950
What year was helium
discovered?
1850 - 1950
1868
6 classes
32 people in each
192 people
best score: 7/10
1:32
overconfidence.
overoptimism.
bias.
structure beats bias.
eat your vegetables.
1. Develop system model.
2. Record known risk areas.
3. Publish model and risk areas.
4. Perform regular risk reviews. (Premortems)
5. Dissect and document missed risks.
1. Develop system model.
2. Record known risk areas.
3. Publish model and risk areas.
4. Perform regular risk reviews. (Premortems)
5. Dissect and document missed risks.
nailed it!
The behavior of a system cannot be known
just by knowing the elements of which the
system is made.
“Accidents occur due to relationships
not components.”
- Sidney Dekker
Drift Into Failure: From Hunting Broken
Components to Understanding Complex
Systems
We deal with a lot of relationships.
temporal
We deal with a lot of relationships.
temporal
spatial
We deal with a lot of relationships.
temporal
spatial
causal
We deal with a lot of relationships.
temporal
spatial
familial
causal
We deal with a lot of relationships.
System Model
logical development
physicalprocess
scenarios
logical
How would a user
reason about the
system?
development
How would the
developer reason about
the system?
development
What do I deploy?
physical
How would a system
engineer reason about
the system?
physical
What’s the hardware/
networking profile?
process
How would the
operating system
reason about the
system?
process
How are things
communicating?
Are they doing things at
the same time?
System Model
logical development
physicalprocess
scenarios
That seems like a lot of work.
Stocks,
Flows, &
Feedback Loops
+
Systems Thinking
W_Minshull, Hot Tub, CC BY 2.0
https://www.flickr.com/photos/23950335@N07/5497464077/in/photostream/
W_Minshull, Hot Tub, CC BY 2.0
https://www.flickr.com/photos/23950335@N07/5497464077/in/photostream/
STOCK
W_Minshull, Hot Tub, CC BY 2.0
https://www.flickr.com/photos/23950335@N07/5497464077/in/photostream/
STOCK
FLOW
W_Minshull, Hot Tub, CC BY 2.0
https://www.flickr.com/photos/23950335@N07/5497464077/in/photostream/
STOCK
FLOW
FEEDBACK
LOOP
“creating mental models.”
- Charles Duhrigg
Smarter Faster Better
“Models help us choose where to direct our
attention, so we can make decisions, rather than
just react.”
- Charles Duhrigg
Smarter Faster Better
CLOSED LIST EXAMPLE
A*
graph: nodes and edges that need to be
searched.
open list: a list of nodes that haven’t
been explored.
closed list: a list of nodes that have been
explored.
a graph search
algorithm
Open List Closed List
A
B
2
C
3
2
D
4
2
E
4
1
4
My Example Graph
0
2
2
1
3
Open List Closed List
A 3
A
B
2
C
3
D
4
My Example Graph
2
2
1
3
Open List Closed List
B 4
C 4
D 6
A 3
A
B
2
C
3
D
4
My Example Graph
2
2
1
3
Open List Closed List
A 3
A
B
2
C
3
2
D
4
E
4
My Example Graph
0
2
2
1
3
B 4
C 4
D 6
Open List Closed List
A 3
B 4
A
B
2
C
3
2
D
4
E
4
My Example Graph
0
2
2
1
3
C 4
D 6
E 6
1 GB of hard disk
1 MB of main memory
CPU that’s competitive with the average
computer in the late 90’s.
open
open
open
list
close
open
open
list
close
open
open
list
closed
list
close
open
open
list
found
new
nodes?
closed
list
close
open
open
list
visited
before?
found
new
nodes?
closed
list
close
open
open
list
visited
before?
closed
list
found
new
nodes?
SMALL FILES EXAMPLE
thousands a day
thousands a day
everyday for a year
thousands a day
everyday for a year
thousands a day
everyday for a year
In the file were identifiers that needed to be globally unique.
thousands a day
everyday for a year
In the file were identifiers that needed to be globally unique.
You could change anything in the file passively -
except that identifier.
thousands a day
everyday for a year
In the file were identifiers that needed to be globally unique.
You could change anything in the file passively -
except that identifier.
If you change the identifier , you have to
reprocess the file.
thousands a day
everyday for a year
In the file were identifiers that needed to be globally unique.
You could change anything in the file passively -
except that identifier.
If you change the identifier , you have to
reprocess the file.
Someone changed all of the identifiers.
hundreds of thousands
of small files
I hate small files.
ingest
ingest
data
sink
ingest
data
sink
update
ingest
data
sink
update
record
ingest
data
sink
update
record set last
update
marker
ingest
data
sink
update
record
rebuild
set last
update
marker
ingest
data
sink
update
record
rebuild
set last
update
marker
ingest
data
sink
update
record
rebuild
set last
update
marker
timing model
1. Ingest some data.
2.Transform it.
3.Map some attributes.
4.Link up some data.
5.Calculate the results.
Loosely scheduled map-reduce jobs.
transformingavarietyofdata
mapping
some
data
linking
some
data
calculating
some
results
9:01
9:30
10:00
9:48
10:18
10:15
10:32
8:45
1 hour 47 minutes
latency
9:00
9:05
9:00
9:31
9:00
9:21
9:00
8:45 10:32
transformingavarietyofdata
mapping
some
data
linking
some
data
calculating
some
results
9:30
10:00
9:48
10:18
10:15
10:32
8:45
9:01
9:00
9:05
9:00
9:31
9:00
9:21
9:00
another big data transportation analogy
A simpler metaphor for the nature of our
complex systems helps identify the essential
failure points.
It can provide a means to
identify a solution.
It can be better.
nominal time
“Show up at 8:45, but don’t leave until the bus is full.”
Real Systems
Real Problems
transformingavarietyofdata
mapping
some
data
linking
some
data
calculating
some
results
9:01
9:32
10:00
9:49
10:18
10:19
10:36
8:45
1 hour 51 minutes
latency
9:00
9:05
9:00
9:31
9:00
9:21
9:00
8:45 10:36
Pick the model(s) that work for you.
1. Develop system model.
2. Record known risk areas.
3. Publish model and risk areas.
4. Perform regular risk reviews. (Premortems)
5. Dissect and document missed risks.
time
unknownunknowns
In the beginning, you might
get it all wrong.
1. Develop system model.
2. Record known risk areas.
3. Publish model and risk areas.
4. Perform regular risk reviews. (Premortems)
5. Dissect and document missed risks.
RISK-1234
RISK-1234
RISK-1234
do not erase!!!
If you want your people to make good
decisions,they need context to more than
just their piece of the system.
Big, visible diagrams
are effective
learning aides.
1. Develop system model.
2. Record known risk areas.
3. Publish model and risk areas.
4. Perform regular risk reviews. (Premortems)
5. Dissect and document missed risks.
Premortems
1. Inform everyone the system has failed.
2. Ask the group to identify most likely causes.
3. Adjust the plan to account for those risks.
1. List ALL changes going in the release.
2. Review each change in terms of the risk matrix.
3. If it’s RED, it doesn’t go. (Pull the cord.)
4. If it’s ORANGE, we need a monitoring & mitigation plan.
5. If it’s YELLOW, we need at least a mitigation.
Risk Reviews
1. List ALL changes going in the release.
2. Review each change in terms of the risk matrix.
3. If it’s RED, it doesn’t go. (Pull the cord.)
4. If it’s ORANGE, we need a monitoring & mitigation plan.
5. If it’s YELLOW, we need at least a mitigation.
Risk Reviews
1. List ALL changes going in the release.
2. Review each change in terms of the risk matrix.
3. If it’s RED, it doesn’t go. (Pull the cord.)
4. If it’s ORANGE, we need a monitoring & mitigation plan.
5. If it’s YELLOW, we need at least a mitigation.
Risk Reviews
low
medium
high
low medium high
impact
likelihood
How do you measure likelihood & impact?
I don’t.
low
medium
high
low medium high
impact
likelihood
1. List ALL changes going in the release.
2. Review each change in terms of the risk matrix.
3. If it’s RED, it doesn’t go. (Pull the cord.)
4. If it’s ORANGE, we need a monitoring & mitigation plan.
5. If it’s YELLOW, we need at least a mitigation.
Risk Reviews
low
medium
high
low medium high
impact
likelihood
1. List ALL changes going in the release.
2. Review each change in terms of the risk matrix.
3. If it’s RED, it doesn’t go. (Pull the cord.)
4. If it’s ORANGE, we need a monitoring & mitigation plan.
5. If it’s YELLOW, we need at least a mitigation.
low
medium
high
low medium high
impact
likelihood
1. List ALL changes going in the release.
2. Review each change in terms of the risk matrix.
3. If it’s RED, it doesn’t go. (Pull the cord.)
4. If it’s ORANGE, we need a monitoring & mitigation plan.
5. If it’s YELLOW, we need at least a mitigation.
low
medium
high
low medium high
impact
likelihood
What if we get this wrong too?
return to a well-understood model
systems thinking:
“Models help us choose where to direct our
attention, so we can make decisions, rather than
just react.”
- Charles Duhrigg
Smarter Faster Better
W_Minshull, Hot Tub, CC BY 2.0
https://www.flickr.com/photos/23950335@N07/5497464077/in/photostream/
STOCK
FLOW
FEEDBACK
LOOP
close
open
open
list
visited
before?
closed
list
found
new
nodes?
?
?
observe
hypothesize
experiment
refine or reject
validate (repeat)
Let’s write down what we know to be true.
(again)
1. Develop system model.
2. Record known risk areas.
3. Publish model and risk areas.
4. Perform regular risk reviews. (Premortems)
5. Dissect and document missed risks.
post-incident retrospective
not just the technology stuff
1. List ALL changes going in the release.
2. Review each change in terms of the risk matrix.
3. If it’s RED, it doesn’t go. (Pull the cord.)
4. If it’s ORANGE, we need a monitoring & mitigation plan.
5. If it’s YELLOW, we need at least define a mitigation.
It’s really, really hard to pull the cord.
“I think we’re not ready, and I
already told leadership we’re
going to be late, should I go tell
them I’m wrong?”
Leaders need to be aware that
framing matters.
1. Develop system model.
2. Record known risk areas.
3. Publish model and risk areas.
4. Perform regular risk reviews. (Premortems)
5. Dissect and document missed risks.
As you go through this process…
time
unknownunknowns
time
unknownunknowns
Over time, you’ll get more right.
This feels very similar to…
analogy-based risk assessment
analogy-based assessment
leveraging a collection of previous
experiences to reflect on how a new
situation might play out
fail
bank of
analogies
retrospective
risks
analogy-based assessment
This is what experience gives us.
1. Develop system model.
2. Record known risk areas.
3. Publish model and risk areas.
4. Perform regular risk reviews. (Premortems)
5. Dissect and document missed risks.
Process
Process externalizes the things
great engineers have internalized.
It’s a way of thinking out loud.
Thinking out loud is a great
coaching tool.
Me:
redundancy
Me:
I teach people to worry about
failure and manage it
My mom is a very extroverted person.
She thinks out loud.
I learned to think like her.
Thank you for letting me think out loud.
Michelle Brush
Engineering Director, Cerner Corporation
Chapter Leader, Kansas City Girl Develop It
Conference Organizer, Midwest.io
@michellebrush
References
Thinking in Systems
Donella H. Meadows
Thinking in Systems
Donella H. Meadows
Smarter Faster Better
Charles Duhigg
Thank you, again.
Michelle Brush
Engineering Director, Cerner Corporation
Chapter Leader, Kansas City Girl Develop It
Conference Organizer, Midwest.io
@michellebrush
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
architecture-failure-modes

More Related Content

More from C4Media

More from C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Framing Our Potential for Failure