Resources for Getting Started with Distributed Systems | Caitie McCaffrey

Caitie McCaffrey (Microsoft); Resources for Getting Started with Distributed Systems; In Her Blog; 2017-09-07.

tl;dr → Distributed Sagas, within the .NET culture of Microsoft.


  • Distributed SAGA
  • Simple API for Grid Applications (SAGA); In Jimi Wales’ Wiki.
  • Tao
  • Espresso
  • Transaction Processing Performance Council (TPPC, TPC)
  • Pre-materialized aggregates, a technique.

The Canon (A Canon)

Exemplars (Bloggists)

Post Mortems (After Action Reports)

Exemplars (NoSQL)

  • Bigtable, Google
  • Cassandra
  • CouchDB
  • Dynamo, Amazon
  • HBase of Apache
  • MongoDB
  • Neo4J
  • Redis
  • Riak
  • SimpleDB, Amazon

Exemplars (Full SQL)

  • MySQL
  • Oracle
  • … and so on.




The Suitcase Words
  • 2-Phase Commit (2PC)
  • Available Continuous Impressive Dancing (ACID)
    Atomic, Consistent, Isolated, Durable (ACID)
  • Basically-Available, Slow Soft State, Eventually-Consistent (BASE, BASSEC)
    BASE (i.e., not ACID)
  • BLOOM, a programming language, the CALM programming language
  • Consistency As Logical Monotonicity (CALM)
  • Conflict-free Replicated Data Type (CRDT)
  • Consistency, Availability, Partition-Tolerance (CAP), (Folk-) Theorem
  • Fisher, Lynch, Patterson (FLP) Theorem
  • Liveness
  • Lots of Labor (LOL)
  • Safety
  • Serializability
  • Single System Image (SSI)
  • Read Atomic Multi-Partition (RAMP) Transactions

Previously filled.

Marketing Technology Landscape Supergraphic (2017): Martech 5000

(ChiefMarTec); Marketing Technology Landscape Supergraphic (2017): Martech 5000; In Their Blog; 2017-05-10.


Martech 5000
copy, original
copy, original
copy, original

Licentious licentiate: <quote ref=”cite“>Feel free to cut-and-paste this data and use it as a starting point for your own research.</quote>


  • Integration-Platform-as-a-Service(iPaaS, IPaaS)
    • are “distributed” platforms
    • perform <quote>[as] dynamically piping data between marketing applications and [a] data lake.</quote>
  • Content Management System (CMS)
    • are platforms, per se
    • are centralized
    • are repositories of data and services
    • Gartner staff renamed them digital marketing hub
  • Among: DMP, CDP, RTIM
    • is a subtle blending among them
    • The Spectrum
      • Data Management Platforms (DMP),
      • Customer Data Platform (CDP),
      • Real-Time Interaction Management (RTIM)


Content Management System (CMS)

  • Adobe
  • HubSpot
  • IBM
  • Marketo
  • Oracle
  • Salesforce
  • Sitecore

IPaaS, now with Microservices!

  • Boomi, a wholly-owned subsidiary of Dell, a.k.a. Dell Boomi
  • Informatica
  • Jitterbit
  • Mulesoft
  • Segment
  • Zapier

The Spectrum Among: DMP, CDP, RTIM

Customer Data Platform (CDP)
  • AgilOne
  • Lytics
  • RedPoint
  • Tealium
  • Treasure Data
  • Usermind
Data Management Platform (DMP)
As a feature, not even Line of Business
  • Adobe
  • Oracle
  • Salesforce
  • DataXu
  • MediaMath
  • Neustar
  • Rocketfuel, (sic) Rocket Fuel of Sizmek
Real-Time Importance Management (RTIM)
  • Experian
    but not Acxiom? EXPM contra ACXM …”the same, but different” aren’t they?
  • Infor
  • Pegasystems
  • SAS
  • Teradata




  • Content Management System (CMS)
  • Customer Data Platform (CDP)
  • Customer Relationship Management (CRM)
  • Data Lake, an inelegant metaphor,
    a body corpora of water data facts in a controlled-but-unstructured format.
  • Data Management Platform (DMP)
  • Digital Marketing Hub (DMH)
    Gartner ‘lingo for the MarTech genre.
  • Enabler
    Doesn’t actually do the work, but still sends a bill for allowing it to occur.
    Usage: <quote>iPaaS and microservice platform enablers.</quote>
  • Integration-Platform-as-a-Service (iPaaS)
  • Long Tail
  • Marketing Automation Platform (MAP)
  • Microservices
  • Platform-as-a-Service (iPaaS)
  • Real-Time Interaction Management (RTIM)
  • Service-as-a-Service (SaaS)
  • Success-as-a-Service, a scheme.
    e.g. 2&20.



In Their Blog


Licentiate: ibidem.

Microservices at Amazon | Munns

Chris Munns (Amazon) Microservices at Amazon; In I Love APIs 2015 Conference; 2015; 42 slides.


  • Is it just a fad?
    tl;dr → yes, there will be a new shiny thing out in a fortnight, in a year; but that doesn’t matter.
  • Amazon, AWS
    • Apollo
    • Pipeline
    • CodePipeline
    • Code Deploy
  • Not treated
    • Latency
    • Debuggability (testability)
    • Failure models
    • again, what does one do with the spaghetti as it manifests in nested nasty HTTP cascades instead of multithreaded nested nasty call chains?


Application assumptions

  • Infinite, independent, query flow.
  • Load Balancing
    • Global Load Balancing; i.e. DNS & CDN
    • (in colo) Load Balancing
  • API Gateway, a universal broker
  • Caching
    (in colo) Caching
  • Monitoring
    • log everything
    • dashboard everything
  • Origin Servers
  • Lambda Architecture
    Lambda Service of AWS
  • Consistency
    • Basic-Availability, Soft State, Eventual Consistency (BASE)
    • Consistency, Availability, Partition-Tolerance (CAP)


Definitional & explanatory; alphabetical.


  • Phil Calçado; How we ended up with microservices; In His Blog; 2015-09-09.

    • Ruby on Rails
    • monolith was too hard to work with
    • more features were needed
    • business success occurred (oxygen to allow a rebuild)
    • The Next SoundCloud
    • refactoring was commissioned
    • refactoring actually occurred
    • Cake!
  • Bob Rubbart (Oracle); Microservices and SOA; In Their Blog; 2015-03.
    Teaser: Similarities, differences and were we go from here.
    Bob Rhubart is community manager of Oracle Technology Network (OTN), he hosts on ArchBeat, a podcast & tweetshow.
    tl;dr → sure, Microservices is “the same” as SOA; it is SOA “done right” and suitable for <buzz>Internet of Things (IoT)</buzz>
  • The two pizza teams, In Some Blog; WHEN?
  • You build it, you run it; In Some Blog promoting Agile; WHEN?
    tl;dr → DevOps, everyone on call, no QA, launch & react.


Testaments to the popularity of the fad

“From Monolith Ruby App to Distributed Scala Micro-Services” NYC Tech Talks
“Nike’s Journey to Microservices” – AWS Re:Invent 2014
”Building Products at SoundCloud—Part III: Microservices in Scala and Finagle”
Capital One
“Lack Of Legacy Lets Capital One Build Nimble Infrastructure” –
“A Journey into Microservices” –


Some tools, at GitHub
SmartStack, at Their Site
Mesos, at Apache
LinkedIn, at GitHub

Organization Design

  • Job Families
    the Roles & Responsibilities

    • SDE → Software Development Engineer
    • PM → Product Manager
    • TPM → Technical Program Manager
    • SE → Service Engineer
    • SDET → Software Development Engineer, Testing (a diminutive)
  • Management Theory
    same as it ever was

    Newspeak MBA-Speak
    Culture People
    Practices Processes
    Tools Technology

Microservices SOA
Substantial function requires an RPC, a network call Substantial function requires an RPC, a network call.
Many very small components Fewer more sophisticated components
Business logic lives inside a single service domain Business logic can live across multiple domains
Wire protocol must be HTTP JSON or (less preferably) XML Wire protocol is the Enterprise Service BUS (ESB), as a layer between services
(RPC) type API driven with client-deployed SDKs/Library. Middleware (?)


Via: backfill.

Microservices | Lewis, Fowler

James Lewis, Martin Fowler; Microservices; In His Blog (Fowler’s); 2014-03-10, with revisions; ~175 paragraphs; 7200 words; with diagrams & sidebars.




Building Microservices: Designing Fine-Grained Systems | Sam Newman

Sam Newman; Building Microservices; O’Reilly Media; 2015-02-20; 290 pages; Amazon kindle: $25, paper: $25+SHT



  • Design Datterns
  • API Design
  • Continuous Integration
  • Continuous Delivery
  • Testing
  • Automation
  • Virtualization
  • Containers
  • Monitoring
  • Security
  • Databases (SQL, NoSQL)
  • CAP Theorem

The Cloud Architect: A Necessary Evil? | DZone

The Cloud Architect: A Necessary Evil? Thomas Cozzolino; In DZone; 2015-10-24.

tl;dr → yes.  We are all cloud netizens now. On rented computers, multitenant service-bureau SaaS is the future, now!


<buzzword level=”high”>

  • Variants
    • Application Architects
    • Data Architects
    • Enterprise Architects (EA)
    • Infrastructure Architects
    • Technical Architects
    • Solution(s) Architect
    • $X Architect for any value $X
    • etc.
  • Cloud Architect
  • Competencies
    • software design
    • integration patterns
    • security perimeters
    • Software Development Life Cycle (SLDC)
  • Frameworks (Processes)
  • Line of Business (LOB)
  • <buzzzz>Agile</buzzzz>
  • Software as a Service (SaaS)
  • Service-Oriented Architecture (SOA)
  • Bounded Context
  • Team (Organization)
    • Scrum Teams
    • Agile Teams
    • Feature Teams
    • Component Teams
  • Minimum Viable Product (MVP)
  • Patterns contra Performance
  • Portfolio
    • Application
    • Capabilities
  • Customer Resource Management (CRM)
  • Microservices
  • Representational State Transfer (REST)
  • Enterprise Resource Planning (ERP)
  • OData
    • A scheme for doing REST on (some) data
      like ODBC, JDBC, but different, more & better.
    • Since 2007.
    • OData; In Jimi Wales Wiki



Via: backfill.