Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Multi-cloud Service Networking For Humans

Multi-cloud Service Networking For Humans

Conway's law tells us that our service communication patterns are inevitably linked with our human organization's communication structure. To understand the benefits of modern service networking technologies, we need to be clear on the organizational structures and goals they serve. Businesses see a continual growth in the amount of software they need to build and operate and are forced to form organizational structures that allow the management to scale. In this talk we will introduce this human perspective and then show some concrete technical examples of how tools like Consul Connect can be used to enable software teams to increase reliability, security, and agility across increasingly heterogeneous environments.

Avatar for Paul Banks

Paul Banks

July 09, 2019

Other Decks in Technology

Transcript

  1. Agenda ▪ Growing Organizations ▪ Service Mesh Pattern ▪ Service

    Mesh Features ▪ Consul Dynamic Routing ▪ Consul Mesh Gateways
  2. “organizations which design systems ... are constrained to produce designs

    which are copies of the communication structures of these organizations.” Melvin Conway, 1967
  3. Progressive Delivery Limit Deployment Blast Radius ▪ Canaries ▪ Feature

    Flags ▪ Regional Deployment ▪ User/Customer Segments ▪ A/B Tests ▪ Opt-In Public Betas
  4. Progressive Delivery Building Blocks ▪ Dynamic Traffic Management ▪ Dynamic

    Runtime Configuration ▪ Observability ▪ Automation (API Control)
  5. Configuring Traffic Splitting TERMINAL > cat api-split.json { "Kind": "service-splitting",

    "Name": "api", "Splits": [ { "Weight": 99, "Service": "api", "ServiceSubset": "v1" }, { "Weight": 1, "Service": "api", "ServiceSubset": "v2" } ] } > curl -X PUT -d @api-split.json localhost:8500/v1/config/service-sp…
  6. TERMINAL > cat api-split.json { "Kind": "service-splitting", "Name": "api", "Splits":

    [ { "Weight": 99, "Service": "api", "ServiceSubset": "v1" }, { "Weight": 1, "Service": "api", "ServiceSubset": "v2" } ] } > curl -X PUT -d @api-split.json localhost:8500/v1/config/service-sp… Configuring Traffic Splitting
  7. TERMINAL > cat api-split.json { "Kind": "service-splitting", "Name": "api", "Splits":

    [ { "Weight": 99, "Service": "api", "ServiceSubset": "v1" }, { "Weight": 1, "Service": "api", "ServiceSubset": "v2" } ] } > curl -X PUT -d @api-split.json localhost:8500/v1/config/service-sp… Configuring Traffic Splitting
  8. 10.0.2.1/24 10.0.1.1/24 IP2 IP1 Web DB API Connect 
 Mesh

    
 Gateway Connect 
 Mesh 
 Gateway
  9. 10.0.2.1/24 10.0.1.1/24 IP2 IP1 Web DB API Connect 
 Mesh

    
 Gateway Connect 
 Mesh 
 Gateway
  10. Summary ▪ Service Mesh pattern separates application and infrastructure concerns

    ▪ Service Mesh features enable advanced service delivery ▪ Consul provides service networking solutions from DNS to Service Mesh ▪ Consul runs wherever your workloads are ▪ Mesh Gateways connect services securely across network boundaries