<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/https/speakerdeck.com/feed.rss.xml" type="text/xsl" media="screen"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Caitie McCaffrey</title>
    <description>Caitie McCaffrey is a Backend Brat and Distributed Systems Diva. She currently is the Architect &amp; Developer Manager of the Azure Sphere Security Services.  She’s been with the Azure Sphere project since it’s early days in Microsoft Research, and has had the great privilege of building out the services and the team to help secure IoT.  Caitie has spent her career building large scale services and systems at Twitter, 343 Industries, Microsoft Game Studios, and HBO.  Caitie has credits on several video games including Gears of War 2, Gears of War 3, Halo 4, and Halo 5.  She maintains a blog at “CaitieM.com”:https://caitiem.com/ and frequently discusses technology on Twitter</description>
    <link>https://speakerdeck.com/caitiem20</link>
    <atom:link rel="self" type="application/rss+xml" href="https://speakerdeck.com/caitiem20.rss"/>
    <lastBuildDate>2015-09-27 14:04:10 -0400</lastBuildDate>
    <item>
      <title>Distributed Sagas: A Protocol for Coordinating Microservices</title>
      <description>Microservices have become the defacto architecture pattern for building services. However separating business logic into small services that operate with a single logical data set has introduced consistency challenges. Previous attempts to solve this problem like two phase commit have not been widely adopted due to availability and liveness issues.

Instead developers implement feral concurrency control mechanism. This technique can be error prone, and often results in “Death Star” architectures which rely on chained calls to enforce application invariants. These architectures become more complicated over time, and are difficult to modify and extend, and often don't correctly handle all failure scenarios.

In this talk I propose a new solution for this problem, Distributed Sagas, a protocol for coordinating requests among multiple micro services, while ensuring application invariants.</description>
      <media:content url="https://files.speakerdeck.com/presentations/a802a00d36cb4904b800af03839a9f8e/preview_slide_0.jpg?7998089" type="image/jpeg" medium="image"/>
      <content:encoded>Microservices have become the defacto architecture pattern for building services. However separating business logic into small services that operate with a single logical data set has introduced consistency challenges. Previous attempts to solve this problem like two phase commit have not been widely adopted due to availability and liveness issues.

Instead developers implement feral concurrency control mechanism. This technique can be error prone, and often results in “Death Star” architectures which rely on chained calls to enforce application invariants. These architectures become more complicated over time, and are difficult to modify and extend, and often don't correctly handle all failure scenarios.

In this talk I propose a new solution for this problem, Distributed Sagas, a protocol for coordinating requests among multiple micro services, while ensuring application invariants.</content:encoded>
      <pubDate>Fri, 19 May 2017 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/distributed-sagas-a-protocol-for-coordinating-microservices</link>
      <guid>https://speakerdeck.com/caitiem20/distributed-sagas-a-protocol-for-coordinating-microservices</guid>
    </item>
    <item>
      <title>The Path Towards Simplifying Consistency in Distributed Systems</title>
      <description></description>
      <media:content url="https://files.speakerdeck.com/presentations/4bf7b0d992e343458bb1cc1848cafcd4/preview_slide_0.jpg?15165898" type="image/jpeg" medium="image"/>
      <content:encoded></content:encoded>
      <pubDate>Mon, 24 Apr 2017 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/the-path-towards-simplifying-consistency-in-distributed-systems</link>
      <guid>https://speakerdeck.com/caitiem20/the-path-towards-simplifying-consistency-in-distributed-systems</guid>
    </item>
    <item>
      <title>Argus Papers We Love </title>
      <description></description>
      <media:content url="https://files.speakerdeck.com/presentations/42db19ab22a0444ba1ce671d39e51516/preview_slide_0.jpg?7450637" type="image/jpeg" medium="image"/>
      <content:encoded></content:encoded>
      <pubDate>Fri, 20 Jan 2017 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/caitiem20/argus-papers-we-love</link>
      <guid>https://speakerdeck.com/caitiem20/argus-papers-we-love</guid>
    </item>
    <item>
      <title>The Verification of a Distributed System</title>
      <description>Given at YOW Sydney December 2016
References: https://github.com/CaitieM20/Talks/tree/master/TheVerificationOfADistributedSystem</description>
      <media:content url="https://files.speakerdeck.com/presentations/e170598d2195407eb0a39c67e5d81bbf/preview_slide_0.jpg?7328437" type="image/jpeg" medium="image"/>
      <content:encoded>Given at YOW Sydney December 2016
References: https://github.com/CaitieM20/Talks/tree/master/TheVerificationOfADistributedSystem</content:encoded>
      <pubDate>Thu, 08 Dec 2016 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/caitiem20/the-verification-of-a-distributed-system-3</link>
      <guid>https://speakerdeck.com/caitiem20/the-verification-of-a-distributed-system-3</guid>
    </item>
    <item>
      <title>We Hear You Like Papers: Eventual Consistency</title>
      <description>Given at Women Who Code Sydney IT meetup

Resources: https://github.com/CaitieM20/Talks/tree/master/SoWeHearYouLikePapers</description>
      <media:content url="https://files.speakerdeck.com/presentations/e6259dcac25949b494daddd7fc1368d3/preview_slide_0.jpg?7323806" type="image/jpeg" medium="image"/>
      <content:encoded>Given at Women Who Code Sydney IT meetup

Resources: https://github.com/CaitieM20/Talks/tree/master/SoWeHearYouLikePapers</content:encoded>
      <pubDate>Wed, 07 Dec 2016 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/caitiem20/we-hear-you-like-papers-eventual-consistency</link>
      <guid>https://speakerdeck.com/caitiem20/we-hear-you-like-papers-eventual-consistency</guid>
    </item>
    <item>
      <title>The Verification of a Distributed System</title>
      <description>YOW Brisbane
References &amp; Credits: https://github.com/CaitieM20/Talks/tree/master/TheVerificationOfADistributedSystem</description>
      <media:content url="https://files.speakerdeck.com/presentations/fefcafa741de457d9e45cecac36a86ee/preview_slide_0.jpg?7309841" type="image/jpeg" medium="image"/>
      <content:encoded>YOW Brisbane
References &amp; Credits: https://github.com/CaitieM20/Talks/tree/master/TheVerificationOfADistributedSystem</content:encoded>
      <pubDate>Mon, 05 Dec 2016 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/caitiem20/the-verification-of-a-distributed-system-2</link>
      <guid>https://speakerdeck.com/caitiem20/the-verification-of-a-distributed-system-2</guid>
    </item>
    <item>
      <title>The Verification of a Distributed System</title>
      <description>YOW 2016: Melbourne
References: https://github.com/CaitieM20/Talks/tree/master/TheVerificationOfADistributedSystem</description>
      <media:content url="https://files.speakerdeck.com/presentations/be834b9186034343b41ed334c1d92a8e/preview_slide_0.jpg?7286212" type="image/jpeg" medium="image"/>
      <content:encoded>YOW 2016: Melbourne
References: https://github.com/CaitieM20/Talks/tree/master/TheVerificationOfADistributedSystem</content:encoded>
      <pubDate>Wed, 30 Nov 2016 00:00:00 -0500</pubDate>
      <link>https://speakerdeck.com/caitiem20/the-verification-of-a-distributed-system-1</link>
      <guid>https://speakerdeck.com/caitiem20/the-verification-of-a-distributed-system-1</guid>
    </item>
    <item>
      <title>A Brief History of Distributed Programming: RPC</title>
      <description>Given at CodeMesh 2016</description>
      <media:content url="https://files.speakerdeck.com/presentations/0081de32b7ee4f5cbbde09818a2118f9/preview_slide_0.jpg?7113305" type="image/jpeg" medium="image"/>
      <content:encoded>Given at CodeMesh 2016</content:encoded>
      <pubDate>Thu, 03 Nov 2016 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/a-brief-history-of-distributed-programming-rpc</link>
      <guid>https://speakerdeck.com/caitiem20/a-brief-history-of-distributed-programming-rpc</guid>
    </item>
    <item>
      <title>Building Scalable Stateful Services</title>
      <description>Slides from Scaling Stateful Services Talk given at Nike Tech Talk 8/11/16</description>
      <media:content url="https://files.speakerdeck.com/presentations/83f473374c0c430bbd2182a4c2368a6c/preview_slide_0.jpg?6691930" type="image/jpeg" medium="image"/>
      <content:encoded>Slides from Scaling Stateful Services Talk given at Nike Tech Talk 8/11/16</content:encoded>
      <pubDate>Fri, 12 Aug 2016 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/building-scalable-stateful-services-1</link>
      <guid>https://speakerdeck.com/caitiem20/building-scalable-stateful-services-1</guid>
    </item>
    <item>
      <title>Papers we Love PDX </title>
      <description>Detection of Mutual Inconsistency in Distributed Systems</description>
      <media:content url="https://files.speakerdeck.com/presentations/946567f249934e35b4a682a9bb415e39/preview_slide_0.jpg?6509241" type="image/jpeg" medium="image"/>
      <content:encoded>Detection of Mutual Inconsistency in Distributed Systems</content:encoded>
      <pubDate>Tue, 28 Jun 2016 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/papers-we-love-pdx</link>
      <guid>https://speakerdeck.com/caitiem20/papers-we-love-pdx</guid>
    </item>
    <item>
      <title>Tackling Alert Fatigue</title>
      <description></description>
      <media:content url="https://files.speakerdeck.com/presentations/ebafe2b939b94808b3cda15a61b7c109/preview_slide_0.jpg?6502971" type="image/jpeg" medium="image"/>
      <content:encoded></content:encoded>
      <pubDate>Sun, 26 Jun 2016 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/tackling-alert-fatigue</link>
      <guid>https://speakerdeck.com/caitiem20/tackling-alert-fatigue</guid>
    </item>
    <item>
      <title>PWL NY: Simple Testing Can Prevent Most Critical Failures</title>
      <description></description>
      <media:content url="https://files.speakerdeck.com/presentations/7ca58fb6bf9145cbba0d595d95781427/preview_slide_0.jpg?6444448" type="image/jpeg" medium="image"/>
      <content:encoded></content:encoded>
      <pubDate>Tue, 14 Jun 2016 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/pwl-ny-simple-testing-can-prevent-most-critical-failures</link>
      <guid>https://speakerdeck.com/caitiem20/pwl-ny-simple-testing-can-prevent-most-critical-failures</guid>
    </item>
    <item>
      <title>QCon NewYork 2016: The Verification of a Distributed System</title>
      <description>Distributed Systems are difficult to build and test for two main reasons: partial failure &amp; asynchrony. These two realities of distributed systems must be addressed to create a correct system, and often times the resulting systems have a high degree of complexity. Because of this complexity, testing and verifying these systems is critically important. In this talk we will discuss strategies for proving a system is correct, like formal methods, and less strenuous methods of testing which can help increase our confidence that our systems are doing the right thing.</description>
      <media:content url="https://files.speakerdeck.com/presentations/2049d941a64348b1a90fabda3c848ed9/preview_slide_0.jpg?6443061" type="image/jpeg" medium="image"/>
      <content:encoded>Distributed Systems are difficult to build and test for two main reasons: partial failure &amp; asynchrony. These two realities of distributed systems must be addressed to create a correct system, and often times the resulting systems have a high degree of complexity. Because of this complexity, testing and verifying these systems is critically important. In this talk we will discuss strategies for proving a system is correct, like formal methods, and less strenuous methods of testing which can help increase our confidence that our systems are doing the right thing.</content:encoded>
      <pubDate>Tue, 14 Jun 2016 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/qcon-newyork-2016-the-verification-of-a-distributed-system</link>
      <guid>https://speakerdeck.com/caitiem20/qcon-newyork-2016-the-verification-of-a-distributed-system</guid>
    </item>
    <item>
      <title>The Verification of a Distributed System</title>
      <description>Goto Chicago 2016
References: https://github.com/CaitieM20/TheVerificationOfDistributedSystem</description>
      <media:content url="https://files.speakerdeck.com/presentations/1953990257fd414eb8a14adb10abef16/preview_slide_0.jpg?6345125" type="image/jpeg" medium="image"/>
      <content:encoded>Goto Chicago 2016
References: https://github.com/CaitieM20/TheVerificationOfDistributedSystem</content:encoded>
      <pubDate>Tue, 24 May 2016 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/the-verification-of-a-distributed-system</link>
      <guid>https://speakerdeck.com/caitiem20/the-verification-of-a-distributed-system</guid>
    </item>
    <item>
      <title>CraftConf 2016 - Building Scalable Stateful Services </title>
      <description>The Stateless Service design principle has become ubiquitous in the tech industry for creating horizontally scalable services. However our applications do have state, we just have moved all of it to caches and databases. Today as applications are becoming more data intensive and request latencies are expected to be incredibly low, we’d like the benefits of stateful services, like data locality and sticky consistency. In this talk I will address the benefits of stateful services, how to build them so that they scale, and discuss distributed and scalable services in the real world that implement these techniques successfully.</description>
      <media:content url="https://files.speakerdeck.com/presentations/41c12054c7c844be85e1a8cf3a1ca583/preview_slide_0.jpg?6211307" type="image/jpeg" medium="image"/>
      <content:encoded>The Stateless Service design principle has become ubiquitous in the tech industry for creating horizontally scalable services. However our applications do have state, we just have moved all of it to caches and databases. Today as applications are becoming more data intensive and request latencies are expected to be incredibly low, we’d like the benefits of stateful services, like data locality and sticky consistency. In this talk I will address the benefits of stateful services, how to build them so that they scale, and discuss distributed and scalable services in the real world that implement these techniques successfully.</content:encoded>
      <pubDate>Fri, 29 Apr 2016 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/craftconf-2016-building-scalable-stateful-services</link>
      <guid>https://speakerdeck.com/caitiem20/craftconf-2016-building-scalable-stateful-services</guid>
    </item>
    <item>
      <title>Papers We Love SF - Sagas</title>
      <description>A talk about Sagas https://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf

And the application of them in Distributed Systems</description>
      <media:content url="https://files.speakerdeck.com/presentations/8134580d7671432ca0d147ceb2c4f761/preview_slide_0.jpg?6011908" type="image/jpeg" medium="image"/>
      <content:encoded>A talk about Sagas https://www.cs.cornell.edu/andru/cs711/2002fa/reading/sagas.pdf

And the application of them in Distributed Systems</content:encoded>
      <pubDate>Fri, 18 Mar 2016 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/papers-we-love-sf-sagas</link>
      <guid>https://speakerdeck.com/caitiem20/papers-we-love-sf-sagas</guid>
    </item>
    <item>
      <title>Of the Order of Billions: Building Observability at Twitter</title>
      <description>Every minute Twitter’s Observability stack processes 1.5+ billion metrics in order to provide Visibility into Twitter’s distributed microservices architecture. In this talk will focus on some of the challenges associated with building and running this large scale distributed system. We will also focus on lessons learned and how to build services that scale that are applicable for services of any size.</description>
      <media:content url="https://files.speakerdeck.com/presentations/87eb9573bc974be9902e0fc8d3731fa0/preview_slide_0.jpg?5739733" type="image/jpeg" medium="image"/>
      <content:encoded>Every minute Twitter’s Observability stack processes 1.5+ billion metrics in order to provide Visibility into Twitter’s distributed microservices architecture. In this talk will focus on some of the challenges associated with building and running this large scale distributed system. We will also focus on lessons learned and how to build services that scale that are applicable for services of any size.</content:encoded>
      <pubDate>Wed, 21 Oct 2015 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/of-the-order-of-billions-building-observability-at-twitter</link>
      <guid>https://speakerdeck.com/caitiem20/of-the-order-of-billions-building-observability-at-twitter</guid>
    </item>
    <item>
      <title>Building Scalable Stateful Services</title>
      <description>The Stateless Service design principle has become ubiquitous in the tech industry for creating horizontally scalable services. However our applications do have state, we just have moved all of it to caches and databases. Today as applications are becoming more data intensive and request latencies are expected to be incredibly low, we’d like the benefits of stateful services, like data locality and sticky consistency. In this talk I will address the benefits of stateful services, how to build them so that they scale, and discuss projects from Halo and Twitter of highly distributed and scalable services that implement these techniques successfully.</description>
      <media:content url="https://files.speakerdeck.com/presentations/d5e3931d5c144146950e2c92c659e258/preview_slide_0.jpg?5310601" type="image/jpeg" medium="image"/>
      <content:encoded>The Stateless Service design principle has become ubiquitous in the tech industry for creating horizontally scalable services. However our applications do have state, we just have moved all of it to caches and databases. Today as applications are becoming more data intensive and request latencies are expected to be incredibly low, we’d like the benefits of stateful services, like data locality and sticky consistency. In this talk I will address the benefits of stateful services, how to build them so that they scale, and discuss projects from Halo and Twitter of highly distributed and scalable services that implement these techniques successfully.</content:encoded>
      <pubDate>Sun, 27 Sep 2015 00:00:00 -0400</pubDate>
      <link>https://speakerdeck.com/caitiem20/building-scalable-stateful-services</link>
      <guid>https://speakerdeck.com/caitiem20/building-scalable-stateful-services</guid>
    </item>
  </channel>
</rss>
