SlideShare ist ein Scribd-Unternehmen logo
1 von 127
EffectiveEffective
MicroserviceMicroservice
DesignDesign
David Dawson
CEO GoMicro.Services
(and Simplicity Itself)
david.dawson@gomicro.services
@davidthecoder
What is
Design?
What is
Architecture?
Architecture
vs
Design
Limitless Options
For Design
Only a few
Architectures
What is
Architecture?
Architecture
Is Philosophy
What is your
Philosophy?
Microservices
Philosophy?
The path toThe path to
MicroservicesMicroservices
The path toThe path to
MicroservicesMicroservices
ThisThis
SucksSucks
What are
Microservices?
Isolation
Aspiration
“Microservices”
are not about
design
What will make
Microservices
Awesome?
Mid 2014 
.
Mid 2014 
.
Mid 2014 
.
other design
disciplines
apply below
The brave new
world of
DDD
Microservices
What do
we care
about?
Events
Events
The One True
Ubiquitous Language
Events
The Stream is the
Only Truth that Matters
Messaging
Is
Cool
Event Sourced
Microservices
Event Sourced
Microservices
Upgrades!
Event Sourced
Microservices
Replay!
Entity
Entity
Many
Representations
Hand
Waving
Consultant
Real World
ExampleTM
Company Analysis
Company Analysis
Social analysis
Anomoly Detection
Introspect an
Enterprise
Audient.ly
Groups
'Source' Pipeline
Event
Store
WordCloud
Map
View
Gender
Detection
Sentiment
Analysis
Etc...
Users
Event
Store
Gateway
Users
Microservice
microservice Microservice
Event
Store
Microservice
Microservice
Microservicemicroservice Microservice
Microservice
Event
Store
Gateway
Microservice
Event
Store
Event
Store
Gateway
Function
Event
Store
Event
Store
Gateway
Source Function
Event
Store
ServiceService Service
Event
Store
Gateway
View
Source Function
Event
Store
View
View
ServiceService Service
Event
Store
Gateway
View
Source Function
Event
Store
View
View
ServiceService Service
Function
Event
Store
Gateway
Function
View
Source Function
Event
Store
View
View
ServiceService Service
Function
Event
Store
Gateway
Function
Gateway?
View
Function
Event
Store
View
View
ServiceService Service
Function
Event
Store
Gateway
Function
Gateway
Gateway
Gateway
Adapt
world views
Gateway
Adapt
world views
Events
Messaging
HTTP
REST
What else?
View
Function
Event
Store
View
View
ServiceService Service
Function
Event
Store
Gateway
Function
Function
FunctionFunction Function
'Chatter'
Sentiment
Analysis
Gender
Detection
Etc...
Microservice
MicroserviceMicroservice MIcroservice
What else?
View
Functions
Event
Store
View
View
ServiceService Service
Function
Event
Store
Gateway
Function
View View
View
Gateway
View View
View
Gateway●Eventually Consistent
View View
View
Gateway●Eventually Consistent
●No Database!
View View
View
Gateway●Eventually Consistent
●No Database!
●Totally Isolated
Event Sourcing!
View View
View
Gateway
Product
Gateway
Product
Gateway
Router
Gateway
Product Product Product
Router
Gateway
Product Product Product
Event Store
Upgrade?
Router
Gateway
Product Product Product
Event Store
Router
Gateway
Product Product Product
Event Store
Product
Router
Gateway
Product Product Product
Event Store
Product
REPLAY
Router
Gateway
Product Product Product
Event Store
Product
REPLAY
Scaling?
Event Streams
Router
Gateway
Product Product Product
Router
Gateway
Product
Router
Gateway
Product
Router
Gateway
Product
Router
Gateway
Product
1 .. 200
What does an event look
like?
Action The intent behind the
event
What does an event look
like?
Action The intent behind the
event
Event ID A unique identifier
What does an event look
like?
Action The intent behind the
event
Event ID A unique identifier
Parent ID The event that 'caused'
this one
What does an event look
like?
Action The intent behind the
event
Event ID A unique identifier
Parent ID The event that 'caused'
this one
Service ID The service or process
that created it
What does an event look
like?
Action The intent behind the
event
Event ID A unique identifier
Parent ID The event that 'caused'
this one
Service ID The service or process
that created it
Payload Your Stuff
What does an event look
like?
Fun stuff
this gives you
Chains of
Events
Order Stream
Notification Stream
Payment Stream
Order Stream
Notification Stream
Payment Stream
Order Stream
Notification Stream
Payment Stream
Order Stream
Notification Stream
Payment Stream
Order Stream
Notification Stream
Payment Stream
Order Placed
Payment Taken
Email Sent Email Sent
Dependencies
Dependencies
Order Placed
Payment Taken
Email Sent Email Sent
Dependencies
Order Placed
Order Creation Service
Payment Taken
Payment Processor
Email Sent
Email
Gateway
Email Sent
Email
Gateway
Audit
Audit
Order Placed
Payment Taken
Email Sent Email Sent
Audit
Order Placed
User = X
Payment Taken
Email Sent Email Sent
Testing Microservices
is Hard!
Testing Microservices
is Hard?
The Network
Process Management in a Test
The Network
Process Management in a Test
The Network
Coupling between services
Process Management in a Test
The Network
Coupling between services
The Network
Testing!
Order Placed
Payment Taken
Email Sent Email Sent
Testing!
Order Placed
Payment Taken
Email Sent Email Sent
A TEST
Testing!
Order Placed
Email Sent
A TEST Mock Payment
Service?
Order Stream
Notification Stream
Payment Stream
Testing!
Order Placed
Payment Taken
Email Sent Email Sent
A TEST
Testing!
Order Placed
Payment Taken
Email Sent Email Sent
How can you do
this?
Event Store
Event Distribution
Projections
Security
Event chain materialisation
Client replay
Checkpoints
Scaling
Testing
Serialisation
Schema Change
Service Upgrade

..
Want to help us
make it easy?
david.dawson@gomicro.services
http://gomicro.services
Want to help us
make it easy?
David Dawson @davidthecoder
Questions?
David Dawson @davidthecoder
Thanks!
http://www.slideshare.net/DavidDawson9
”Con 2015”Con 2015
Stockholm - 5th
/6th
Nov
London - 9th
/10th
Nov
Next Time!Next Time!
Deployment Options
for Microservices
4th
November

Weitere Àhnliche Inhalte

Was ist angesagt?

Going Serverless with CQRS on AWS
Going Serverless with CQRS on AWSGoing Serverless with CQRS on AWS
Going Serverless with CQRS on AWSAnton Udovychenko
 
#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...Chris Richardson
 
Microservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event SourcingMicroservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event SourcingBen Wilcock
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkbanq jdon
 
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasJavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasChris Richardson
 
Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Chris Richardson
 
A practical introduction to Event Sourcing and CQRS
A practical introduction to Event Sourcing and CQRSA practical introduction to Event Sourcing and CQRS
A practical introduction to Event Sourcing and CQRSRobert Lemke
 
A Pattern Language for Microservices (@futurestack)
A Pattern Language for Microservices (@futurestack)A Pattern Language for Microservices (@futurestack)
A Pattern Language for Microservices (@futurestack)Chris Richardson
 
Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)Chris Richardson
 
Developing microservices with aggregates (devnexus2017)
Developing microservices with aggregates (devnexus2017)Developing microservices with aggregates (devnexus2017)
Developing microservices with aggregates (devnexus2017)Chris Richardson
 
Building microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring BootBuilding microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring BootChris Richardson
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event SourcingMike Bild
 
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...Chris Richardson
 
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...Chris Richardson
 
Microservices in Java and Scala (sfscala)
Microservices in Java and Scala (sfscala)Microservices in Java and Scala (sfscala)
Microservices in Java and Scala (sfscala)Chris Richardson
 
Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)Chris Richardson
 
#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architectureChris Richardson
 
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...Chris Richardson
 
Developing microservices with aggregates (SpringOne platform, #s1p)
Developing microservices with aggregates (SpringOne platform, #s1p)Developing microservices with aggregates (SpringOne platform, #s1p)
Developing microservices with aggregates (SpringOne platform, #s1p)Chris Richardson
 
Events on the outside, on the inside and at the core (jfokus jfokus2016)
Events on the outside, on the inside and at the core (jfokus jfokus2016)Events on the outside, on the inside and at the core (jfokus jfokus2016)
Events on the outside, on the inside and at the core (jfokus jfokus2016)Chris Richardson
 

Was ist angesagt? (20)

Going Serverless with CQRS on AWS
Going Serverless with CQRS on AWSGoing Serverless with CQRS on AWS
Going Serverless with CQRS on AWS
 
#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...#JaxLondon: Building microservices with Scala, functional domain models and S...
#JaxLondon: Building microservices with Scala, functional domain models and S...
 
Microservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event SourcingMicroservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event Sourcing
 
DDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFrameworkDDD Framework for Java: JdonFramework
DDD Framework for Java: JdonFramework
 
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with SagasJavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
JavaOne2017: ACID Is So Yesterday: Maintaining Data Consistency with Sagas
 
Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)Microservices + Events + Docker = A Perfect Trio (dockercon)
Microservices + Events + Docker = A Perfect Trio (dockercon)
 
A practical introduction to Event Sourcing and CQRS
A practical introduction to Event Sourcing and CQRSA practical introduction to Event Sourcing and CQRS
A practical introduction to Event Sourcing and CQRS
 
A Pattern Language for Microservices (@futurestack)
A Pattern Language for Microservices (@futurestack)A Pattern Language for Microservices (@futurestack)
A Pattern Language for Microservices (@futurestack)
 
Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)Developing microservices with aggregates (melbourne)
Developing microservices with aggregates (melbourne)
 
Developing microservices with aggregates (devnexus2017)
Developing microservices with aggregates (devnexus2017)Developing microservices with aggregates (devnexus2017)
Developing microservices with aggregates (devnexus2017)
 
Building microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring BootBuilding microservices with Scala, functional domain models and Spring Boot
Building microservices with Scala, functional domain models and Spring Boot
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
 
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
 
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
#hacksummit 2016 - event-driven microservices – Events on the outside, on the...
 
Microservices in Java and Scala (sfscala)
Microservices in Java and Scala (sfscala)Microservices in Java and Scala (sfscala)
Microservices in Java and Scala (sfscala)
 
Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)Developing functional domain models with event sourcing (oakjug, sfscala)
Developing functional domain models with event sourcing (oakjug, sfscala)
 
#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture#JaxLondon keynote: Developing applications with a microservice architecture
#JaxLondon keynote: Developing applications with a microservice architecture
 
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
ArchSummit Shenzhen - Using sagas to maintain data consistency in a microserv...
 
Developing microservices with aggregates (SpringOne platform, #s1p)
Developing microservices with aggregates (SpringOne platform, #s1p)Developing microservices with aggregates (SpringOne platform, #s1p)
Developing microservices with aggregates (SpringOne platform, #s1p)
 
Events on the outside, on the inside and at the core (jfokus jfokus2016)
Events on the outside, on the inside and at the core (jfokus jfokus2016)Events on the outside, on the inside and at the core (jfokus jfokus2016)
Events on the outside, on the inside and at the core (jfokus jfokus2016)
 

Andere mochten auch

Events, Picos, and Microservices
Events, Picos, and MicroservicesEvents, Picos, and Microservices
Events, Picos, and MicroservicesPhil Windley
 
The Reactive Manifesto
The Reactive ManifestoThe Reactive Manifesto
The Reactive ManifestoReza Samei
 
Events & Microservices
Events & MicroservicesEvents & Microservices
Events & MicroservicesYamen Sader
 
Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...Chris Richardson
 
Iron.io Technical Overview
Iron.io Technical OverviewIron.io Technical Overview
Iron.io Technical OverviewChad Arimura
 
OpenWhisk: Event-driven Design
OpenWhisk: Event-driven DesignOpenWhisk: Event-driven Design
OpenWhisk: Event-driven DesignAltoros
 
Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...drnugent
 
Reactive Design Patterns — J on the Beach
Reactive Design Patterns — J on the BeachReactive Design Patterns — J on the Beach
Reactive Design Patterns — J on the BeachRoland Kuhn
 
Networking Overview for Docker Platform
Networking Overview for Docker PlatformNetworking Overview for Docker Platform
Networking Overview for Docker PlatformAditya Patawari
 
Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)Chris Richardson
 
100 blue mix days technical training
100 blue mix days technical training100 blue mix days technical training
100 blue mix days technical trainingAjit Yohannan
 
Docker serverless v1.0
Docker serverless v1.0Docker serverless v1.0
Docker serverless v1.0Thomas Chacko
 
Building Scalable Stateless Applications with RxJava
Building Scalable Stateless Applications with RxJavaBuilding Scalable Stateless Applications with RxJava
Building Scalable Stateless Applications with RxJavaRick Warren
 
Why Reactive Architecture Will Take Over The World (and why we should be wary...
Why Reactive Architecture Will Take Over The World (and why we should be wary...Why Reactive Architecture Will Take Over The World (and why we should be wary...
Why Reactive Architecture Will Take Over The World (and why we should be wary...Steve Pember
 
Reactive Design Patterns: a talk by Typesafe's Dr. Roland Kuhn
Reactive Design Patterns: a talk by Typesafe's Dr. Roland KuhnReactive Design Patterns: a talk by Typesafe's Dr. Roland Kuhn
Reactive Design Patterns: a talk by Typesafe's Dr. Roland KuhnZalando Technology
 
IBM Bluemix Workshop version 3
IBM Bluemix Workshop version 3IBM Bluemix Workshop version 3
IBM Bluemix Workshop version 3Nguyen Tai Dzung
 
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive SystemsGo Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive SystemsJonas Bonér
 
A Microservices Reference Architecture
A Microservices Reference ArchitectureA Microservices Reference Architecture
A Microservices Reference ArchitectureYamen Sader
 
API Strategy Austin - App-centric vs Job-centric Microservices
API Strategy Austin - App-centric vs Job-centric MicroservicesAPI Strategy Austin - App-centric vs Job-centric Microservices
API Strategy Austin - App-centric vs Job-centric MicroservicesIvan Dwyer
 

Andere mochten auch (20)

Events, Picos, and Microservices
Events, Picos, and MicroservicesEvents, Picos, and Microservices
Events, Picos, and Microservices
 
The Reactive Manifesto
The Reactive ManifestoThe Reactive Manifesto
The Reactive Manifesto
 
Events & Microservices
Events & MicroservicesEvents & Microservices
Events & Microservices
 
Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...Building microservices with Scala, functional domain models and Spring Boot (...
Building microservices with Scala, functional domain models and Spring Boot (...
 
Iron.io Technical Overview
Iron.io Technical OverviewIron.io Technical Overview
Iron.io Technical Overview
 
OpenWhisk: Event-driven Design
OpenWhisk: Event-driven DesignOpenWhisk: Event-driven Design
OpenWhisk: Event-driven Design
 
Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...
 
Reactive Design Patterns — J on the Beach
Reactive Design Patterns — J on the BeachReactive Design Patterns — J on the Beach
Reactive Design Patterns — J on the Beach
 
Networking Overview for Docker Platform
Networking Overview for Docker PlatformNetworking Overview for Docker Platform
Networking Overview for Docker Platform
 
Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)Developing event-driven microservices with event sourcing and CQRS (phillyete)
Developing event-driven microservices with event sourcing and CQRS (phillyete)
 
100 blue mix days technical training
100 blue mix days technical training100 blue mix days technical training
100 blue mix days technical training
 
Docker serverless v1.0
Docker serverless v1.0Docker serverless v1.0
Docker serverless v1.0
 
Building Scalable Stateless Applications with RxJava
Building Scalable Stateless Applications with RxJavaBuilding Scalable Stateless Applications with RxJava
Building Scalable Stateless Applications with RxJava
 
Reactive Design Patterns
Reactive Design PatternsReactive Design Patterns
Reactive Design Patterns
 
Why Reactive Architecture Will Take Over The World (and why we should be wary...
Why Reactive Architecture Will Take Over The World (and why we should be wary...Why Reactive Architecture Will Take Over The World (and why we should be wary...
Why Reactive Architecture Will Take Over The World (and why we should be wary...
 
Reactive Design Patterns: a talk by Typesafe's Dr. Roland Kuhn
Reactive Design Patterns: a talk by Typesafe's Dr. Roland KuhnReactive Design Patterns: a talk by Typesafe's Dr. Roland Kuhn
Reactive Design Patterns: a talk by Typesafe's Dr. Roland Kuhn
 
IBM Bluemix Workshop version 3
IBM Bluemix Workshop version 3IBM Bluemix Workshop version 3
IBM Bluemix Workshop version 3
 
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive SystemsGo Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
Go Reactive: Event-Driven, Scalable, Resilient & Responsive Systems
 
A Microservices Reference Architecture
A Microservices Reference ArchitectureA Microservices Reference Architecture
A Microservices Reference Architecture
 
API Strategy Austin - App-centric vs Job-centric Microservices
API Strategy Austin - App-centric vs Job-centric MicroservicesAPI Strategy Austin - App-centric vs Job-centric Microservices
API Strategy Austin - App-centric vs Job-centric Microservices
 

Ähnlich wie Effective Microservice Design

DDD & Microservices from the Front Lines: Building Evolvable Software with Ev...
DDD & Microservices from the Front Lines: Building Evolvable Software with Ev...DDD & Microservices from the Front Lines: Building Evolvable Software with Ev...
DDD & Microservices from the Front Lines: Building Evolvable Software with Ev...David Dawson
 
Cybersecurity Legos - We're all part of something bigger
Cybersecurity Legos - We're all part of something biggerCybersecurity Legos - We're all part of something bigger
Cybersecurity Legos - We're all part of something biggerBen Boyd
 
OReilly SACON2018 - Events on the outside, on the inside, and at the core
OReilly SACON2018 - Events on the outside, on the inside, and at the coreOReilly SACON2018 - Events on the outside, on the inside, and at the core
OReilly SACON2018 - Events on the outside, on the inside, and at the coreChris Richardson
 
Frank Gens - Clouds and Beyond: Positioning for the Next 20 Years in Enterpri...
Frank Gens - Clouds and Beyond: Positioning for the Next 20 Years in Enterpri...Frank Gens - Clouds and Beyond: Positioning for the Next 20 Years in Enterpri...
Frank Gens - Clouds and Beyond: Positioning for the Next 20 Years in Enterpri...innoforum09
 
NIT Company Profile
NIT Company ProfileNIT Company Profile
NIT Company ProfileAmr Omar
 
Building a Bank out of Microservices (NDC Sydney, August 2016)
Building a Bank out of Microservices (NDC Sydney, August 2016)Building a Bank out of Microservices (NDC Sydney, August 2016)
Building a Bank out of Microservices (NDC Sydney, August 2016)Graham Lea
 
Review of A Service Computing Manifesto : The Next 10 Years
Review of A Service Computing Manifesto : The Next 10 YearsReview of A Service Computing Manifesto : The Next 10 Years
Review of A Service Computing Manifesto : The Next 10 YearsAdi Purnama
 
AWS Enterprise Summit Netherlands - Keynote
AWS Enterprise Summit Netherlands - KeynoteAWS Enterprise Summit Netherlands - Keynote
AWS Enterprise Summit Netherlands - KeynoteAmazon Web Services
 
What is ? Modern business questions 2014
What is ? Modern business questions 2014What is ? Modern business questions 2014
What is ? Modern business questions 2014Exo Futures
 
.NET Architecture for Enterprises
.NET Architecture for Enterprises.NET Architecture for Enterprises
.NET Architecture for EnterprisesWade Wegner
 
Integration in the Enterprise Mobile World
Integration in the Enterprise Mobile WorldIntegration in the Enterprise Mobile World
Integration in the Enterprise Mobile Worldkidozen
 
Quantifying Cyber Risk, Insurance and The Value of Personal Data
Quantifying Cyber Risk, Insurance and The Value of Personal DataQuantifying Cyber Risk, Insurance and The Value of Personal Data
Quantifying Cyber Risk, Insurance and The Value of Personal DataSteven Schwartz
 
Agility matrix - Expanded!
Agility matrix - Expanded!Agility matrix - Expanded!
Agility matrix - Expanded!Clayton Costa
 
Devoxx London 2017 - Rethinking Services With Stateful Streams
Devoxx London 2017 - Rethinking Services With Stateful StreamsDevoxx London 2017 - Rethinking Services With Stateful Streams
Devoxx London 2017 - Rethinking Services With Stateful StreamsBen Stopford
 
AWS FSI Symposium 2017 NYC - 9 Cloud Enabled Security Designs
AWS FSI Symposium 2017 NYC - 9 Cloud Enabled Security DesignsAWS FSI Symposium 2017 NYC - 9 Cloud Enabled Security Designs
AWS FSI Symposium 2017 NYC - 9 Cloud Enabled Security DesignsAmazon Web Services
 
Med Hodet I Skyene Og Beina PĂ„ Bakken (Av Andersf@Microsoft Com)
Med Hodet I Skyene Og Beina PĂ„ Bakken (Av Andersf@Microsoft Com)Med Hodet I Skyene Og Beina PĂ„ Bakken (Av Andersf@Microsoft Com)
Med Hodet I Skyene Og Beina PĂ„ Bakken (Av Andersf@Microsoft Com)Microsoft Norge AS
 
There is no such thing as a microservice! (oracle code nyc)
There is no such thing as a microservice! (oracle code nyc)There is no such thing as a microservice! (oracle code nyc)
There is no such thing as a microservice! (oracle code nyc)Chris Richardson
 
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...apidays
 

Ähnlich wie Effective Microservice Design (20)

DDD & Microservices from the Front Lines: Building Evolvable Software with Ev...
DDD & Microservices from the Front Lines: Building Evolvable Software with Ev...DDD & Microservices from the Front Lines: Building Evolvable Software with Ev...
DDD & Microservices from the Front Lines: Building Evolvable Software with Ev...
 
Soa
SoaSoa
Soa
 
Soa
Soa Soa
Soa
 
Cybersecurity Legos - We're all part of something bigger
Cybersecurity Legos - We're all part of something biggerCybersecurity Legos - We're all part of something bigger
Cybersecurity Legos - We're all part of something bigger
 
OReilly SACON2018 - Events on the outside, on the inside, and at the core
OReilly SACON2018 - Events on the outside, on the inside, and at the coreOReilly SACON2018 - Events on the outside, on the inside, and at the core
OReilly SACON2018 - Events on the outside, on the inside, and at the core
 
Frank Gens - Clouds and Beyond: Positioning for the Next 20 Years in Enterpri...
Frank Gens - Clouds and Beyond: Positioning for the Next 20 Years in Enterpri...Frank Gens - Clouds and Beyond: Positioning for the Next 20 Years in Enterpri...
Frank Gens - Clouds and Beyond: Positioning for the Next 20 Years in Enterpri...
 
NIT Company Profile
NIT Company ProfileNIT Company Profile
NIT Company Profile
 
Building a Bank out of Microservices (NDC Sydney, August 2016)
Building a Bank out of Microservices (NDC Sydney, August 2016)Building a Bank out of Microservices (NDC Sydney, August 2016)
Building a Bank out of Microservices (NDC Sydney, August 2016)
 
Review of A Service Computing Manifesto : The Next 10 Years
Review of A Service Computing Manifesto : The Next 10 YearsReview of A Service Computing Manifesto : The Next 10 Years
Review of A Service Computing Manifesto : The Next 10 Years
 
AWS Enterprise Summit Netherlands - Keynote
AWS Enterprise Summit Netherlands - KeynoteAWS Enterprise Summit Netherlands - Keynote
AWS Enterprise Summit Netherlands - Keynote
 
What is ? Modern business questions 2014
What is ? Modern business questions 2014What is ? Modern business questions 2014
What is ? Modern business questions 2014
 
.NET Architecture for Enterprises
.NET Architecture for Enterprises.NET Architecture for Enterprises
.NET Architecture for Enterprises
 
Integration in the Enterprise Mobile World
Integration in the Enterprise Mobile WorldIntegration in the Enterprise Mobile World
Integration in the Enterprise Mobile World
 
Quantifying Cyber Risk, Insurance and The Value of Personal Data
Quantifying Cyber Risk, Insurance and The Value of Personal DataQuantifying Cyber Risk, Insurance and The Value of Personal Data
Quantifying Cyber Risk, Insurance and The Value of Personal Data
 
Agility matrix - Expanded!
Agility matrix - Expanded!Agility matrix - Expanded!
Agility matrix - Expanded!
 
Devoxx London 2017 - Rethinking Services With Stateful Streams
Devoxx London 2017 - Rethinking Services With Stateful StreamsDevoxx London 2017 - Rethinking Services With Stateful Streams
Devoxx London 2017 - Rethinking Services With Stateful Streams
 
AWS FSI Symposium 2017 NYC - 9 Cloud Enabled Security Designs
AWS FSI Symposium 2017 NYC - 9 Cloud Enabled Security DesignsAWS FSI Symposium 2017 NYC - 9 Cloud Enabled Security Designs
AWS FSI Symposium 2017 NYC - 9 Cloud Enabled Security Designs
 
Med Hodet I Skyene Og Beina PĂ„ Bakken (Av Andersf@Microsoft Com)
Med Hodet I Skyene Og Beina PĂ„ Bakken (Av Andersf@Microsoft Com)Med Hodet I Skyene Og Beina PĂ„ Bakken (Av Andersf@Microsoft Com)
Med Hodet I Skyene Og Beina PĂ„ Bakken (Av Andersf@Microsoft Com)
 
There is no such thing as a microservice! (oracle code nyc)
There is no such thing as a microservice! (oracle code nyc)There is no such thing as a microservice! (oracle code nyc)
There is no such thing as a microservice! (oracle code nyc)
 
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...
 

Mehr von David Dawson

Reactive APIs using Muon: for muCon 2017
Reactive APIs using Muon: for muCon 2017Reactive APIs using Muon: for muCon 2017
Reactive APIs using Muon: for muCon 2017David Dawson
 
Reactive APIs using Muon
Reactive APIs using MuonReactive APIs using Muon
Reactive APIs using MuonDavid Dawson
 
Reactive APIs using Muon
Reactive APIs using MuonReactive APIs using Muon
Reactive APIs using MuonDavid Dawson
 
Practical Event Systems - Microservices for the Data Architect
Practical Event Systems - Microservices for the Data ArchitectPractical Event Systems - Microservices for the Data Architect
Practical Event Systems - Microservices for the Data ArchitectDavid Dawson
 
Intro to Muon - How to build Polyglot Message and Event Microservices
Intro to Muon - How to build Polyglot Message and Event MicroservicesIntro to Muon - How to build Polyglot Message and Event Microservices
Intro to Muon - How to build Polyglot Message and Event MicroservicesDavid Dawson
 
Microservices Past, Present, Future
Microservices Past, Present, FutureMicroservices Past, Present, Future
Microservices Past, Present, FutureDavid Dawson
 
Microservices Pain: Testing
Microservices Pain: TestingMicroservices Pain: Testing
Microservices Pain: TestingDavid Dawson
 
Assorted Learnings of Microservices
Assorted Learnings of MicroservicesAssorted Learnings of Microservices
Assorted Learnings of MicroservicesDavid Dawson
 
Hexagonal Architecture using Grails
Hexagonal Architecture using GrailsHexagonal Architecture using Grails
Hexagonal Architecture using GrailsDavid Dawson
 
Groovy Architectural Flexibility
Groovy Architectural FlexibilityGroovy Architectural Flexibility
Groovy Architectural FlexibilityDavid Dawson
 

Mehr von David Dawson (10)

Reactive APIs using Muon: for muCon 2017
Reactive APIs using Muon: for muCon 2017Reactive APIs using Muon: for muCon 2017
Reactive APIs using Muon: for muCon 2017
 
Reactive APIs using Muon
Reactive APIs using MuonReactive APIs using Muon
Reactive APIs using Muon
 
Reactive APIs using Muon
Reactive APIs using MuonReactive APIs using Muon
Reactive APIs using Muon
 
Practical Event Systems - Microservices for the Data Architect
Practical Event Systems - Microservices for the Data ArchitectPractical Event Systems - Microservices for the Data Architect
Practical Event Systems - Microservices for the Data Architect
 
Intro to Muon - How to build Polyglot Message and Event Microservices
Intro to Muon - How to build Polyglot Message and Event MicroservicesIntro to Muon - How to build Polyglot Message and Event Microservices
Intro to Muon - How to build Polyglot Message and Event Microservices
 
Microservices Past, Present, Future
Microservices Past, Present, FutureMicroservices Past, Present, Future
Microservices Past, Present, Future
 
Microservices Pain: Testing
Microservices Pain: TestingMicroservices Pain: Testing
Microservices Pain: Testing
 
Assorted Learnings of Microservices
Assorted Learnings of MicroservicesAssorted Learnings of Microservices
Assorted Learnings of Microservices
 
Hexagonal Architecture using Grails
Hexagonal Architecture using GrailsHexagonal Architecture using Grails
Hexagonal Architecture using Grails
 
Groovy Architectural Flexibility
Groovy Architectural FlexibilityGroovy Architectural Flexibility
Groovy Architectural Flexibility
 

KĂŒrzlich hochgeladen

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂anilsa9823
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
(Genuine) Escort Service Lucknow | Starting â‚č,5K To @25k with A/C đŸ§‘đŸœâ€â€ïžâ€đŸ§‘đŸ» 89...
(Genuine) Escort Service Lucknow | Starting â‚č,5K To @25k with A/C đŸ§‘đŸœâ€â€ïžâ€đŸ§‘đŸ» 89...(Genuine) Escort Service Lucknow | Starting â‚č,5K To @25k with A/C đŸ§‘đŸœâ€â€ïžâ€đŸ§‘đŸ» 89...
(Genuine) Escort Service Lucknow | Starting â‚č,5K To @25k with A/C đŸ§‘đŸœâ€â€ïžâ€đŸ§‘đŸ» 89...gurkirankumar98700
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 

KĂŒrzlich hochgeladen (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Call Girls In Mukherjee Nagar đŸ“± 9999965857 đŸ€© Delhi đŸ«Š HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar đŸ“±  9999965857  đŸ€© Delhi đŸ«Š HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar đŸ“±  9999965857  đŸ€© Delhi đŸ«Š HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar đŸ“± 9999965857 đŸ€© Delhi đŸ«Š HOT AND SEXY VVIP 🍎 SE...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂
CALL ON ➄8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
(Genuine) Escort Service Lucknow | Starting â‚č,5K To @25k with A/C đŸ§‘đŸœâ€â€ïžâ€đŸ§‘đŸ» 89...
(Genuine) Escort Service Lucknow | Starting â‚č,5K To @25k with A/C đŸ§‘đŸœâ€â€ïžâ€đŸ§‘đŸ» 89...(Genuine) Escort Service Lucknow | Starting â‚č,5K To @25k with A/C đŸ§‘đŸœâ€â€ïžâ€đŸ§‘đŸ» 89...
(Genuine) Escort Service Lucknow | Starting â‚č,5K To @25k with A/C đŸ§‘đŸœâ€â€ïžâ€đŸ§‘đŸ» 89...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

Effective Microservice Design

Hinweis der Redaktion

  1. Not the solution! An approach to solving the problem. Tools to engage the world Sounds familiar.
  2. h
  3. Ask the audience. One big one.
  4. Some say XXX This is what we are going to discuss! Understand a man by walking in his shoes
  5. Flick through the pack of cards
  6. Flick through the pack of cards
  7. Flick through the pack of cards
  8. Isolation! Aspiration Evolution Ability to change
  9. Dan North Bounded/ Centred Community
  10. Dan North Bounded/ Centred Community
  11. Ask the audience. One big one.
  12. Ask the audience. One big one.
  13. Ask the audience. One big one.
  14. One inescapable conclusion...
  15. Same mistakes Same pain..
  16. Same mistakes Same pain..
  17. Ask the audience. One big one.
  18. Pull out cards! Throw them away!
  19. Ask the audience. One big one.
  20. Ask the audience. One big one.
  21. Ask the audience. One big one.
  22. HTTP is ok.
  23. Ask the audience. One big one.
  24. Ask the audience. One big one.
  25. Ask the audience. One big one.
  26. Ask the audience. One big one.
  27. Ask the audience. One big one.
  28. Ask the audience. One big one.
  29. Ask the audience. One big one.
  30. Ask the audience. One big one.
  31. Ask the audience. One big one.
  32. Ask the audience. One big one.
  33. Ask the audience. One big one.
  34. Ask the audience. One big one.
  35. Tectonic plates Areas that change together How can we figure this out?
  36. Tectonic plates Areas that change together How can we figure this out?
  37. Tectonic plates Areas that change together How can we figure this out?
  38. Tectonic plates Areas that change together How can we figure this out?
  39. Tectonic plates Areas that change together How can we figure this out?
  40. Tectonic plates Areas that change together How can we figure this out?
  41. Ask the audience. One big one.
  42. Tectonic plates Areas that change together How can we figure this out?
  43. Tectonic plates Areas that change together How can we figure this out?
  44. Tectonic plates Areas that change together How can we figure this out?
  45. Tectonic plates Areas that change together How can we figure this out?
  46. Tectonic plates Areas that change together How can we figure this out?
  47. Ask the audience. One big one.
  48. Tectonic plates Areas that change together How can we figure this out?
  49. Tectonic plates Areas that change together How can we figure this out?
  50. Tectonic plates Areas that change together How can we figure this out?
  51. Tectonic plates Areas that change together How can we figure this out?
  52. Ask the audience. One big one.
  53. Tectonic plates Areas that change together How can we figure this out?
  54. Tectonic plates Areas that change together How can we figure this out?
  55. Tectonic plates Areas that change together How can we figure this out?
  56. Tectonic plates Areas that change together How can we figure this out?
  57. Tectonic plates Areas that change together How can we figure this out?
  58. Ask the audience. One big one.
  59. Ask the audience. One big one.
  60. Ask the audience. One big one.
  61. Ask the audience. One big one.
  62. Ask the audience. One big one.
  63. Totally isolated Yet consistent
  64. Ask the audience. One big one.
  65. Totally isolated Yet consistent
  66. Totally isolated Yet consistent
  67. Totally isolated Yet consistent
  68. Totally isolated Yet consistent
  69. Ask the audience. One big one.
  70. Ask the audience. One big one.
  71. Totally isolated Yet consistent
  72. Totally isolated Yet consistent
  73. Totally isolated Yet consistent
  74. Totally isolated Yet consistent
  75. Totally isolated Yet consistent
  76. Totally isolated Yet consistent
  77. Totally isolated Yet consistent
  78. Totally isolated Yet consistent
  79. Totally isolated Yet consistent
  80. Totally isolated Yet consistent
  81. Totally isolated Yet consistent
  82. Ask the audience. One big one.
  83. Ask the audience. One big one.
  84. Ask the audience. One big one.
  85. Ask the audience. One big one.
  86. Ask the audience. One big one.
  87. Ask the audience. One big one.
  88. Ask the audience. One big one.
  89. Ask the audience. One big one.
  90. Ask the audience. One big one.
  91. Ask the audience. One big one.
  92. Ask the audience. One big one.
  93. Ask the audience. One big one.
  94. Ask the audience. One big one.
  95. Ask the audience. One big one.
  96. Ask the audience. One big one.
  97. Ask the audience. One big one.
  98. Ask the audience. One big one.
  99. Ask the audience. One big one.
  100. Ask the audience. One big one.
  101. Ask the audience. One big one.
  102. Ask the audience. One big one.
  103. Ask the audience. One big one.
  104. Ask the audience. One big one.
  105. Ask the audience. One big one.
  106. Ask the audience. One big one.
  107. Ask the audience. One big one.
  108. Ask the audience. One big one.
  109. Ask the audience. One big one.
  110. Not the first time we've ridden the trail
  111. Not the first time we've ridden the trail
  112. Not the first time we've ridden the trail
  113. Not the first time we've ridden the trail
  114. TALK TO MUNIB!