SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
IT’S FULL OF STARS
BUILDING, MEASURING AND LEARNING WITH EVENTS
Brent Snook - @brentsnook
@brentsnook
What is the bank balance?
@brentsnook
Jeena deposited $100
Mal withdrew $50
Bron withdrew $60
Overdrawn fee charged of $2
Mal deposited $50
Account
Balance: $ 38
What is the bank balance?
@brentsnook
How much has been charged in fees?
Account
Balance: $ 38
@brentsnook
@brentsnook
we know that there
are known knowns
but there are also
unknown unknowns
How are we going to use our data?
(the ones we don’t know we don’t know)
@brentsnook
your
data
hoard
@brentsnook
e e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
e
ee
e
e
ee
e
e
e
e
e
e
e
e
e
e
correlation
@brentsnook
projection
e
e
e
e
ee
e
e
e
e
@brentsnook
projection
e
e
e
e
ee
e
e
e
e
@brentsnook
projection
e
e
e
e
ee
e
e
e
e
@brentsnook
@brentsnook
LE POULPE COLOSSAL
or
L’INTÉGRATION VIA
LA BASE DE DONNÉES
Pierre Dénys de Montfort
1801
@brentsnook
Anatomy of an Event
{
"eventId": "F59774E7",
"sequenceId": 237893473,
"eventType": "withdrawalSuccess",
"createdAt": "2016-04-02 23239230",
"aggregateId": "5B7D5971",
"metadata": {
"correlationIds": [
"CD5B3E20",
"D12C18B7"
]
},
"data": {
"1.0": {
"accountId": "6CEB2C11",
"money": {
"currency": "AUD",
"amount": "34.45"
}
}
}
}
@brentsnook
request
collaboration
A B C D
@brentsnook
request
collaboration
A B C D
@brentsnook
event
collaboration
A B C D
@brentsnook
event
collaboration
A B C D
@brentsnook
event
collaboration
A B C D
e
e
@brentsnook
event
collaboration
A B C D
e
e
e
e
e
@brentsnook
SPLITTING THE MONOLITH
@brentsnook
SPLITTING THE MONOLITH
• EMIT EVENTS AT KEY PARTS OFTHE PROCESS
e e
@brentsnook
SPLITTING THE MONOLITH
• EMIT EVENTS AT KEY PARTS OFTHE PROCESS
• REACTTOTHEMTO ADD EVENT-DRIVEN SEAMS
e e
@brentsnook
SPLITTING THE MONOLITH
• EMIT EVENTS AT KEY PARTS OFTHE PROCESS
• REACTTOTHEMTO ADD EVENT-DRIVEN SEAMS
• MOVE RESPONSIBILITY BETWEENTWO SEAMS INTO A NEW SERVICE
e e
@brentsnook
SPLITTING THE MONOLITH
• EMIT EVENTS AT KEY PARTS OFTHE PROCESS
• REACTTOTHEMTO ADD EVENT-DRIVEN SEAMS
• MOVE RESPONSIBILITY BETWEENTWO SEAMS INTO A NEW SERVICE
• REPEAT
e e
@brentsnook
e e e e e e e e e e e e e e e e
Event Bus
MY GOD, IT’S FULL OF EVENTS …
ATM
Query
Event
Store
Billing
Internet
Banking
Web UI
Internet
Banking
API
Reports
User
Mgmt.
Accounts
Paper
Mail
@brentsnook
C H A L L E N G E S
@brentsnook
Q U E S T I O N S ?
@brentsnook
REFERENCES/FURTHER READING
• Event Collaboration
• http://martinfowler.com/eaaDev/EventCollaboration.html
• Event Sourcing
• http://martinfowler.com/eaaDev/EventSourcing.html
• https://www.thoughtworks.com/radar/techniques/event-sourcing
• Greg Young - Event Sourcing Talk at Code on the Beach 2014
• https://www.youtube.com/watch?v=JHGkaShoyNs
• Command/Query Responsibility Segregation (CQRS)
• http://martinfowler.com/bliki/CQRS.html
• Domain Driven Design incl. Aggregates, Bounded Contexts and Anti-Corruption Layers
• https://www.infoq.com/minibooks/domain-driven-design-quickly
• http://martinfowler.com/bliki/DDD_Aggregate.html
• http://martinfowler.com/bliki/BoundedContext.html

http://www.markhneedham.com/blog/2009/07/07/domain-driven-design-anti-corruption-layer/
• Event Storming
• http://ziobrando.blogspot.com.au/2013/11/introducing-event-storming.html
• Seams
• http://www.informit.com/articles/article.aspx?p=359417&seqNum=2
• Software Entropy
• https://en.wikipedia.org/wiki/Software_entropy
• AWS Technologies
• https://aws.amazon.com/kinesis/streams/
• https://aws.amazon.com/sqs/
• https://aws.amazon.com/sns/
• https://aws.amazon.com/lambda/details/
@brentsnook
IMAGES
• Images from “2001 - A Space Odyssey”
• COPYRIGHT © Metro-Goldwyn-Mayer Inc.; 3 April 1968; LP36136 (in copyright registry)
• © Renewed 1996 by Turner Entertainment Company
• Images from”Willy Wonka and the Chocolate Factory”
• COPYRIGHT © MCMLXXI BY WOLPER PICTURES, LTD. AND THE QUAKER OATS COMPANY ALL RIGHTS RESERVED
• © Renewed 1999 by Warner Bros., a division of Time Warner Entertainment Company, LP
• Rumsfeld
• https://commons.wikimedia.org/wiki/File:Donald_Rumsfeld_Defenselink.jpg
• Cluttered Store
• https://www.flickr.com/photos/tallkev/4082110101/
• Le Poulpe Colossal
• https://commons.wikimedia.org/wiki/File:Histoire_naturelle,_g%C3%A9n%C3%A9rale_et_particuli%C3%A8re_des_mollusques_(6261008252).jpg
• Dominoes
• https://www.flickr.com/photos/daxx13/6289764937/
• Stars
• https://www.flickr.com/photos/122323654@N05/15024418586/
• Waterfall
• https://www.flickr.com/photos/btf5/13958611932/
• Heart
• http://thegraphicsfairy.com/wp-content/uploads/2013/02/Anatomy-Heart-Images-Vintage-GraphicsFairy1.jpg
• Bear 1
• https://www.flickr.com/photos/deischi/7765087960/
• Bear 2
• https://www.flickr.com/photos/usfws_alaska/8384015991/
• Bear 3
• https://www.flickr.com/photos/deischi/7765098472/
• Bear 4
• https://www.flickr.com/photos/deischi/7765062054/
• Bucket Brigade
• http://digital.library.upenn.edu/women/brody/fire/4-100.jpeg
• Big Fire Engine Book by Virginia Brody (fl.1960), Illustrations by Mazoujian. New York, McGraw-Hill, 1958. Copyright not renewed.
• Paper Background
• https://www.flickr.com/photos/schmod/419640051
• Database
• https://commons.wikimedia.org/wiki/File:Database.svg
• Cloud
• https://commons.wikimedia.org/wiki/File:Emojione_2601.svg
@brentsnook

Contenu connexe

Similaire à It's Full of Stars - Building, Measuring and Learning With Events

Etailcore Live NYC 2015 - Using data to target customers
Etailcore Live NYC 2015 - Using data to target customersEtailcore Live NYC 2015 - Using data to target customers
Etailcore Live NYC 2015 - Using data to target customers
Jonathan Isernhagen
 
The Resume of Chris Waldron
The Resume of Chris WaldronThe Resume of Chris Waldron
The Resume of Chris Waldron
Chris Waldron
 

Similaire à It's Full of Stars - Building, Measuring and Learning With Events (20)

How to run a social media listening program, presented by Keith McArthur
How to run a social media listening program, presented by Keith McArthurHow to run a social media listening program, presented by Keith McArthur
How to run a social media listening program, presented by Keith McArthur
 
Giving Back: How to Volunteer Your Salesforce Skills and Make a Difference, A...
Giving Back: How to Volunteer Your Salesforce Skills and Make a Difference, A...Giving Back: How to Volunteer Your Salesforce Skills and Make a Difference, A...
Giving Back: How to Volunteer Your Salesforce Skills and Make a Difference, A...
 
Moving beyond request reply - designing smarter APIs
Moving beyond request reply - designing smarter APIsMoving beyond request reply - designing smarter APIs
Moving beyond request reply - designing smarter APIs
 
Core Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdf
Core Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdfCore Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdf
Core Web Vitals Audit - Sophie Gibson - PDF - BrightonSEO.pdf
 
Local Online Advertising
Local Online AdvertisingLocal Online Advertising
Local Online Advertising
 
UX Process
UX ProcessUX Process
UX Process
 
Pubcon Las Vegas Technical SEO
Pubcon Las Vegas Technical SEOPubcon Las Vegas Technical SEO
Pubcon Las Vegas Technical SEO
 
London, Ink Presents: (How) Can Web 2.0 Help Credit Unions Market More Effect...
London, Ink Presents: (How) Can Web 2.0 Help Credit Unions Market More Effect...London, Ink Presents: (How) Can Web 2.0 Help Credit Unions Market More Effect...
London, Ink Presents: (How) Can Web 2.0 Help Credit Unions Market More Effect...
 
The Marketing Analytics Stack - How to Use Customer Data for Traction and Growth
The Marketing Analytics Stack - How to Use Customer Data for Traction and GrowthThe Marketing Analytics Stack - How to Use Customer Data for Traction and Growth
The Marketing Analytics Stack - How to Use Customer Data for Traction and Growth
 
Jono Alderson — Speeding Up WordPress
Jono Alderson — Speeding Up WordPressJono Alderson — Speeding Up WordPress
Jono Alderson — Speeding Up WordPress
 
Etailcore Live NYC 2015 - Using data to target customers
Etailcore Live NYC 2015 - Using data to target customersEtailcore Live NYC 2015 - Using data to target customers
Etailcore Live NYC 2015 - Using data to target customers
 
Build Intelligent Fraud Prevention with Machine Learning and Graphs
Build Intelligent Fraud Prevention with Machine Learning and GraphsBuild Intelligent Fraud Prevention with Machine Learning and Graphs
Build Intelligent Fraud Prevention with Machine Learning and Graphs
 
Ryan Jones State of Search - Data Driven SEO Visualization
Ryan Jones State of Search - Data Driven SEO VisualizationRyan Jones State of Search - Data Driven SEO Visualization
Ryan Jones State of Search - Data Driven SEO Visualization
 
The Resume of Chris Waldron
The Resume of Chris WaldronThe Resume of Chris Waldron
The Resume of Chris Waldron
 
Google Webmaster Tools: The Search Consolation Prize? #BrightonSEO
Google Webmaster Tools: The Search Consolation Prize? #BrightonSEOGoogle Webmaster Tools: The Search Consolation Prize? #BrightonSEO
Google Webmaster Tools: The Search Consolation Prize? #BrightonSEO
 
UX and the Mobile App
UX and the Mobile AppUX and the Mobile App
UX and the Mobile App
 
#SOSUEU // BOOSTER Sourcing Paradigm
#SOSUEU // BOOSTER Sourcing Paradigm #SOSUEU // BOOSTER Sourcing Paradigm
#SOSUEU // BOOSTER Sourcing Paradigm
 
Data driven UX at World Usability Congress 2016 - Graz, Austria
Data driven UX at World Usability Congress 2016 - Graz, AustriaData driven UX at World Usability Congress 2016 - Graz, Austria
Data driven UX at World Usability Congress 2016 - Graz, Austria
 
TorCHI - Designing iPad Mobile Banking: the Inside Stories
TorCHI - Designing iPad Mobile Banking: the Inside StoriesTorCHI - Designing iPad Mobile Banking: the Inside Stories
TorCHI - Designing iPad Mobile Banking: the Inside Stories
 
JAMES COLTHAM: Better Connected Live 2016
JAMES COLTHAM: Better Connected Live 2016 JAMES COLTHAM: Better Connected Live 2016
JAMES COLTHAM: Better Connected Live 2016
 

Plus de fuglylogic

Plus de fuglylogic (10)

The Daily Grind - Milling Stories to Reduce Risk
The Daily Grind - Milling Stories to Reduce RiskThe Daily Grind - Milling Stories to Reduce Risk
The Daily Grind - Milling Stories to Reduce Risk
 
Agile/UX: Making the Marriage Work
Agile/UX: Making the Marriage WorkAgile/UX: Making the Marriage Work
Agile/UX: Making the Marriage Work
 
Microservices Without the Macrocost
Microservices Without the MacrocostMicroservices Without the Macrocost
Microservices Without the Macrocost
 
Building the Right Thing
Building the Right ThingBuilding the Right Thing
Building the Right Thing
 
Bumps - Live Features with Google Wave and Cucumber
Bumps - Live Features with Google Wave and CucumberBumps - Live Features with Google Wave and Cucumber
Bumps - Live Features with Google Wave and Cucumber
 
Wrangling Your Stuff
Wrangling Your StuffWrangling Your Stuff
Wrangling Your Stuff
 
Trio of Gems
Trio of GemsTrio of Gems
Trio of Gems
 
BDD: What's in it for me?
BDD: What's in it for me?BDD: What's in it for me?
BDD: What's in it for me?
 
Mopping Up With Groovy
Mopping Up With GroovyMopping Up With Groovy
Mopping Up With Groovy
 
We All Wii
We All WiiWe All Wii
We All Wii
 

Dernier

Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Lisi Hocke
 

Dernier (20)

OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
Abortion Pill Prices Mthatha (@](+27832195400*)[ 🏥 Women's Abortion Clinic In...
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
Team Transformation Tactics for Holistic Testing and Quality (NewCrafts Paris...
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 

It's Full of Stars - Building, Measuring and Learning With Events

  • 1. IT’S FULL OF STARS BUILDING, MEASURING AND LEARNING WITH EVENTS Brent Snook - @brentsnook
  • 3. What is the bank balance? @brentsnook
  • 4. Jeena deposited $100 Mal withdrew $50 Bron withdrew $60 Overdrawn fee charged of $2 Mal deposited $50 Account Balance: $ 38 What is the bank balance? @brentsnook
  • 5. How much has been charged in fees? Account Balance: $ 38 @brentsnook
  • 6. @brentsnook we know that there are known knowns but there are also unknown unknowns How are we going to use our data? (the ones we don’t know we don’t know) @brentsnook
  • 12. @brentsnook LE POULPE COLOSSAL or L’INTÉGRATION VIA LA BASE DE DONNÉES Pierre Dénys de Montfort 1801 @brentsnook
  • 13.
  • 14. Anatomy of an Event { "eventId": "F59774E7", "sequenceId": 237893473, "eventType": "withdrawalSuccess", "createdAt": "2016-04-02 23239230", "aggregateId": "5B7D5971", "metadata": { "correlationIds": [ "CD5B3E20", "D12C18B7" ] }, "data": { "1.0": { "accountId": "6CEB2C11", "money": { "currency": "AUD", "amount": "34.45" } } } } @brentsnook
  • 17. event collaboration A B C D @brentsnook
  • 18. event collaboration A B C D @brentsnook
  • 19. event collaboration A B C D e e @brentsnook
  • 20. event collaboration A B C D e e e e e @brentsnook
  • 22. SPLITTING THE MONOLITH • EMIT EVENTS AT KEY PARTS OFTHE PROCESS e e @brentsnook
  • 23. SPLITTING THE MONOLITH • EMIT EVENTS AT KEY PARTS OFTHE PROCESS • REACTTOTHEMTO ADD EVENT-DRIVEN SEAMS e e @brentsnook
  • 24. SPLITTING THE MONOLITH • EMIT EVENTS AT KEY PARTS OFTHE PROCESS • REACTTOTHEMTO ADD EVENT-DRIVEN SEAMS • MOVE RESPONSIBILITY BETWEENTWO SEAMS INTO A NEW SERVICE e e @brentsnook
  • 25. SPLITTING THE MONOLITH • EMIT EVENTS AT KEY PARTS OFTHE PROCESS • REACTTOTHEMTO ADD EVENT-DRIVEN SEAMS • MOVE RESPONSIBILITY BETWEENTWO SEAMS INTO A NEW SERVICE • REPEAT e e @brentsnook
  • 26. e e e e e e e e e e e e e e e e Event Bus MY GOD, IT’S FULL OF EVENTS … ATM Query Event Store Billing Internet Banking Web UI Internet Banking API Reports User Mgmt. Accounts Paper Mail @brentsnook
  • 27. C H A L L E N G E S @brentsnook
  • 28. Q U E S T I O N S ? @brentsnook
  • 29. REFERENCES/FURTHER READING • Event Collaboration • http://martinfowler.com/eaaDev/EventCollaboration.html • Event Sourcing • http://martinfowler.com/eaaDev/EventSourcing.html • https://www.thoughtworks.com/radar/techniques/event-sourcing • Greg Young - Event Sourcing Talk at Code on the Beach 2014 • https://www.youtube.com/watch?v=JHGkaShoyNs • Command/Query Responsibility Segregation (CQRS) • http://martinfowler.com/bliki/CQRS.html • Domain Driven Design incl. Aggregates, Bounded Contexts and Anti-Corruption Layers • https://www.infoq.com/minibooks/domain-driven-design-quickly • http://martinfowler.com/bliki/DDD_Aggregate.html • http://martinfowler.com/bliki/BoundedContext.html
 http://www.markhneedham.com/blog/2009/07/07/domain-driven-design-anti-corruption-layer/ • Event Storming • http://ziobrando.blogspot.com.au/2013/11/introducing-event-storming.html • Seams • http://www.informit.com/articles/article.aspx?p=359417&seqNum=2 • Software Entropy • https://en.wikipedia.org/wiki/Software_entropy • AWS Technologies • https://aws.amazon.com/kinesis/streams/ • https://aws.amazon.com/sqs/ • https://aws.amazon.com/sns/ • https://aws.amazon.com/lambda/details/ @brentsnook
  • 30. IMAGES • Images from “2001 - A Space Odyssey” • COPYRIGHT © Metro-Goldwyn-Mayer Inc.; 3 April 1968; LP36136 (in copyright registry) • © Renewed 1996 by Turner Entertainment Company • Images from”Willy Wonka and the Chocolate Factory” • COPYRIGHT © MCMLXXI BY WOLPER PICTURES, LTD. AND THE QUAKER OATS COMPANY ALL RIGHTS RESERVED • © Renewed 1999 by Warner Bros., a division of Time Warner Entertainment Company, LP • Rumsfeld • https://commons.wikimedia.org/wiki/File:Donald_Rumsfeld_Defenselink.jpg • Cluttered Store • https://www.flickr.com/photos/tallkev/4082110101/ • Le Poulpe Colossal • https://commons.wikimedia.org/wiki/File:Histoire_naturelle,_g%C3%A9n%C3%A9rale_et_particuli%C3%A8re_des_mollusques_(6261008252).jpg • Dominoes • https://www.flickr.com/photos/daxx13/6289764937/ • Stars • https://www.flickr.com/photos/122323654@N05/15024418586/ • Waterfall • https://www.flickr.com/photos/btf5/13958611932/ • Heart • http://thegraphicsfairy.com/wp-content/uploads/2013/02/Anatomy-Heart-Images-Vintage-GraphicsFairy1.jpg • Bear 1 • https://www.flickr.com/photos/deischi/7765087960/ • Bear 2 • https://www.flickr.com/photos/usfws_alaska/8384015991/ • Bear 3 • https://www.flickr.com/photos/deischi/7765098472/ • Bear 4 • https://www.flickr.com/photos/deischi/7765062054/ • Bucket Brigade • http://digital.library.upenn.edu/women/brody/fire/4-100.jpeg • Big Fire Engine Book by Virginia Brody (fl.1960), Illustrations by Mazoujian. New York, McGraw-Hill, 1958. Copyright not renewed. • Paper Background • https://www.flickr.com/photos/schmod/419640051 • Database • https://commons.wikimedia.org/wiki/File:Database.svg • Cloud • https://commons.wikimedia.org/wiki/File:Emojione_2601.svg @brentsnook