Move fast and s/break/make things - Rafael Schloming, Datawire.io

Download Move fast and s/break/make things - Rafael Schloming, Datawire.io

Post on 15-Apr-2017

135 views

Category:

Software

0 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>Microservices: move fast and break make things</p><p>(topologies of business logic)Rafael Schloming</p><p>CTO</p></li><li><p>datawire.io</p><p>Three components of Microservices</p><p>2</p><p>Technology</p><p>ProcessPeople</p></li><li><p>datawire.io</p><p>Process</p><p>3</p></li><li><p>datawire.io</p><p>Microservices: Service Oriented Development</p><p>What this means</p><p>Why it works</p><p>How to do it</p><p>4</p></li><li><p>datawire.io</p><p>Architecture vs Development</p><p>5</p></li><li><p>datawire.io</p><p>Engineering is Guess &amp; Check</p><p>6</p></li><li><p>datawire.io</p><p>Cost of Guess/Check</p><p>7</p></li><li><p>datawire.io</p><p>Cost of Guess/Check</p><p>8</p><p>Mod</p><p>ern </p><p>Deve</p><p>lopm</p><p>ent</p><p>Punc</p><p>h Ca</p><p>rds</p><p>Moores Law</p></li><li><p>datawire.io</p><p>Cost of Guess/Check</p><p>9</p><p>Serv</p><p>ice </p><p>O. D</p><p>evel</p><p>opm</p><p>ent</p><p>Serv</p><p>ice </p><p>O. A</p><p>rchi</p><p>tect</p><p>ure</p><p>Cloud</p></li><li><p>datawire.io</p><p>Software vs SaaS</p><p>10</p><p>VS</p></li><li><p>datawire.io</p><p>Microservices is Service Oriented Development</p><p>The output of the process:</p><p> Continuously improving Software as a Service</p><p>The process:</p><p> Guess (incremental improvements) Check (both functionality and health)</p><p>The tools:</p><p> Deployment - make small guesses Observability - measure the impact on health Resilience - ensure negative health impacts are not catastrophic</p><p>11</p></li><li><p>datawire.io</p><p>People</p><p>12</p></li><li><p>datawire.io</p><p>Microservices: Architecture for Distributing Accountability</p><p>What this means</p><p>Why it works</p><p>How to do it</p><p>13</p></li><li><p>datawire.io</p><p>Cheap Guess/Check merges roles</p><p>14</p></li><li><p>datawire.io</p><p>Aggregate Health: Christmas Tree Lights</p><p>15</p><p>A B C D EX</p></li><li><p>datawire.io</p><p>Two Perspectives</p><p> Cs problem: Is it worth it? Ds problem: Did I break C?</p><p>16</p><p>C DX</p></li><li><p>datawire.io</p><p>Two Solutions</p><p> Operational Responsibility System Visibility &amp; Resilience</p><p>17</p></li><li><p>datawire.io</p><p>Microservices is Service Oriented Development</p><p>The output of the process:</p><p> Continuously improving Software as a Service</p><p>The process:</p><p> Guess (incremental improvements) Check (functionality, individual health, overall toxicity)</p><p>The tools:</p><p> Deployment - make small guesses Observability - measure the impact on individual health &amp; overall toxicity Resilience - ensure negative impact is not catastrophic and doesnt cascade</p><p>18</p></li><li><p>datawire.io</p><p>Technology</p><p>19</p></li><li><p>datawire.io</p><p>Microservices Technology: SoD Scaffolding</p><p>Requirements</p><p>Design</p><p>Implementation</p><p>20</p></li><li><p>datawire.io</p><p>Early (Small/Shallow Topologies)</p><p>Deployment</p><p> Fast pipeline (minimum time from git -&gt; cloud) Self service provisioning</p><p>Observability</p><p> Service level metrics (throughput, latency, availability)</p><p>Resilience</p><p> Incremental rollout</p><p>21</p></li><li><p>datawire.io</p><p>Later (Large/Deep Topologies)</p><p>Deployment</p><p> Fast pipeline (minimum time from git -&gt; cloud) Self service provisioning</p><p>Observability</p><p> Service level metrics &amp; logging (throughput, latency, availability) Trace level visibility (profiling, logging, stack traces)</p><p>Resilience</p><p> Incremental rollout Timeouts, Deadlines, Retries, Budgets, Circuit Breakers, Rate Limiting</p><p>22</p></li><li><p>datawire.io</p><p>Microservices Scaffolding Design</p><p>Resource Orchestration:</p><p> PaaS Cluster Managers (kubernetes and friends)</p><p>Traffic Management</p><p> L7 Sidecar SDK</p><p>23</p></li><li><p>datawire.io</p><p>Example Implementation Options</p><p>Resource Orchestration</p><p> Kubernetes, Mesos, AWS ECS, ...</p><p>Traffic Management (L7 Sidecar)</p><p> Envoy, SmartStack, L8d, ...</p><p>Traffic Management (SDK)</p><p> gRPC, finagle, ...</p><p>24</p></li><li><p>datawire.io</p><p>For more information...</p><p>Resources:</p><p> https://www.datawire.io/guide https://www.microservices.com https://eng.lyft.com/announcing-envoy-c-l7-proxy-and-communication-bus-925</p><p>20b6c8191 https://engineeringblog.yelp.com</p><p>Contact:</p><p> rhs@datawire.io</p><p>25</p><p>https://www.datawire.io/guidehttps://www.datawire.io/guidehttps://www.microservices.comhttps://www.microservices.comhttps://eng.lyft.com/announcing-envoy-c-l7-proxy-and-communication-bus-92520b6c8191https://eng.lyft.com/announcing-envoy-c-l7-proxy-and-communication-bus-92520b6c8191https://eng.lyft.com/announcing-envoy-c-l7-proxy-and-communication-bus-92520b6c8191https://engineeringblog.yelp.comhttps://engineeringblog.yelp.com</p></li></ul>