On Monday, November 5th, I presented a talk I had written before leaving Microsoft. The first session ARC201 was entitled "Metropolis:Interchangeability of Operations" and the abstract and powerpoint deck are attached. Three more talks coming!
It was a LOT of fun and I enjoyed the crowd immensely.
ABSTRACT Through the 19th century, manufacturers invested in making machines to make the creation of machine parts faster and easier. In a separate effort largely by the armories producing small arms for the US War Department, significant investment was made to make parts so identical that they may be interchanged across two different guns. This work was surprisingly challenging over a forty year period. Simple machine tools created parts that were so inaccurate that they still required manual fitting and adjusting to make a working machine. It was only through the combination of machine tools and interchangeability that we arrived at the mass production techniques of manufacturing that have so changed our world.
If you consider the interaction of services as they send request for operational functions, we see the same challenges of interchangeability. Distrusting services won’t support classic distributed transactions and this necessitates the use of operational requests that may be subsequently canceled. For the service providing the functions, this is only practical to the extent that the tentative operations are interchangeable. Just as most people in the 19th century thought precision interchangeability of manufactured parts was a silly endeavor compared to fitting by highly skilled craftsmen, most programmers don’t recognize the importance of operations that are so equivalent that some may be canceled later without causing duress.