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

133 views

Category:

Software

0 download

TRANSCRIPT

  • Microservices: move fast and break make things

    (topologies of business logic)Rafael Schloming

    CTO

  • datawire.io

    Three components of Microservices

    2

    Technology

    ProcessPeople

  • datawire.io

    Process

    3

  • datawire.io

    Microservices: Service Oriented Development

    What this means

    Why it works

    How to do it

    4

  • datawire.io

    Architecture vs Development

    5

  • datawire.io

    Engineering is Guess & Check

    6

  • datawire.io

    Cost of Guess/Check

    7

  • datawire.io

    Cost of Guess/Check

    8

    Mod

    ern

    Deve

    lopm

    ent

    Punc

    h Ca

    rds

    Moores Law

  • datawire.io

    Cost of Guess/Check

    9

    Serv

    ice

    O. D

    evel

    opm

    ent

    Serv

    ice

    O. A

    rchi

    tect

    ure

    Cloud

  • datawire.io

    Software vs SaaS

    10

    VS

  • datawire.io

    Microservices is Service Oriented Development

    The output of the process:

    Continuously improving Software as a Service

    The process:

    Guess (incremental improvements) Check (both functionality and health)

    The tools:

    Deployment - make small guesses Observability - measure the impact on health Resilience - ensure negative health impacts are not catastrophic

    11

  • datawire.io

    People

    12

  • datawire.io

    Microservices: Architecture for Distributing Accountability

    What this means

    Why it works

    How to do it

    13

  • datawire.io

    Cheap Guess/Check merges roles

    14

  • datawire.io

    Aggregate Health: Christmas Tree Lights

    15

    A B C D EX

  • datawire.io

    Two Perspectives

    Cs problem: Is it worth it? Ds problem: Did I break C?

    16

    C DX

  • datawire.io

    Two Solutions

    Operational Responsibility System Visibility & Resilience

    17

  • datawire.io

    Microservices is Service Oriented Development

    The output of the process:

    Continuously improving Software as a Service

    The process:

    Guess (incremental improvements) Check (functionality, individual health, overall toxicity)

    The tools:

    Deployment - make small guesses Observability - measure the impact on individual health & overall toxicity Resilience - ensure negative impact is not catastrophic and doesnt cascade

    18

  • datawire.io

    Technology

    19

  • datawire.io

    Microservices Technology: SoD Scaffolding

    Requirements

    Design

    Implementation

    20

  • datawire.io

    Early (Small/Shallow Topologies)

    Deployment

    Fast pipeline (minimum time from git -> cloud) Self service provisioning

    Observability

    Service level metrics (throughput, latency, availability)

    Resilience

    Incremental rollout

    21

  • datawire.io

    Later (Large/Deep Topologies)

    Deployment

    Fast pipeline (minimum time from git -> cloud) Self service provisioning

    Observability

    Service level metrics & logging (throughput, latency, availability) Trace level visibility (profiling, logging, stack traces)

    Resilience

    Incremental rollout Timeouts, Deadlines, Retries, Budgets, Circuit Breakers, Rate Limiting

    22

  • datawire.io

    Microservices Scaffolding Design

    Resource Orchestration:

    PaaS Cluster Managers (kubernetes and friends)

    Traffic Management

    L7 Sidecar SDK

    23

  • datawire.io

    Example Implementation Options

    Resource Orchestration

    Kubernetes, Mesos, AWS ECS, ...

    Traffic Management (L7 Sidecar)

    Envoy, SmartStack, L8d, ...

    Traffic Management (SDK)

    gRPC, finagle, ...

    24

  • datawire.io

    For more information...

    Resources:

    https://www.datawire.io/guide https://www.microservices.com https://eng.lyft.com/announcing-envoy-c-l7-proxy-and-communication-bus-925

    20b6c8191 https://engineeringblog.yelp.com

    Contact:

    rhs@datawire.io

    25

    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