Top Banner
/ Leaving the Ivory Tower: Research in the Real World
71

Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Aug 24, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Leaving the Ivory Tower: Research in the Real World

Page 2: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Armon DadgarCo-Founder and CTO at HashiCorp

Page 3: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Copyright © 2018 HashiCorp ⁄ !3

HashiCorp Suite

C++

ProvisionOperations

Secure Security

DeployDevelopment

ConnectNetworking

Private Cloud AWS Azure GCP

Common Cloud Operating Model

Page 4: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Research Origins

Mitchell Hashimoto Armon Dadgar

Page 5: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Contributing Back

Page 6: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Standing on the Shoulder of Giants Or The Value of Research

▪ Discover the “State of the Art”

▪ Relevant works to challenge thinking

▪ Understand fundamental tradeoffs (e.g. FLP Theorem)

▪ Metrics for evaluation

Page 7: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Building Consul: A Story of (Service) Discovery

Page 8: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Immutable + Micro-services

Front End

API Layer

Data Layer

Immutable Artifact

Page 9: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Common Solutions Circa 2012

▪ Hard Coded IP of Host / Virtual IP / Load Balancer

▪ Config Management “Convergence Runs”

▪ Custom Zookeeper based systems

Page 10: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Imagining Solutions

API Layer

Data Layer

Database:330610.0.1.25:3306

API Layer

Data Layer

10.0.1.25:3306

Page 11: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Entirely Peer to Peer

B

C

AD

Page 12: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Exploring the Literature

Centralized DecentralizedCentral Servers “Super Peers” Peer To Peer

Page 13: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Exploring the Literature

Structured UnstructuredRings Spanning Trees Binary Trees

Adaptive Structure Hybrid Structures

Epidemic Broadcast Mesh Network Randomized

Page 14: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Exploring the Literature

Limited Visibility

Full Visibility

Few Members Known “Neighbors” Known All Members Known

Page 15: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Imposing Constraints Cloud Datacenter Environment

Low Latency and High Bandwidth We are operating within a cloud datacenter, where we expect low latencies and high bandwidth, relative to IoT or Internet-wide applications.

Few Nodes (< 5K) The operating environment was not large scale peer-to-peer public networks for file sharing, but private infrastructure. The scale is much smaller than some other target environments.

Simple To Implement Keep It Simple Stupid (KISS) was a goal. We wanted the simplest possible implementation, and no simpler. Complex protocols are more difficult to implement correctly.

Page 16: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

The SWIM Approach

Page 17: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

SWIM Properties

▪ Completely Decentralized

▪ Unstructured, with Epidemic Dissemination

▪ Full Visibility, All Members Known

▪ Trades more bandwidth use for simplicity and fault tolerance

Page 18: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Closely Considered

▪ Plumtree. Hybrid tree and epidemic style.

▪ T-Man. Adaptive, can change internal style.

▪ HyParView. Limited view of membership.

▪ Complexity of implementation deemed not worthy

▪ Size of clusters not a concern for full view

▪ Expected traffic minimal

Page 19: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Adaptations Used

▪ Bi-Modal Multicast. Active Push/Pull Synchronization.

▪ Steady State vs Recovery Messages. Optimize for efficient distribution in steady state.

▪ Lamport Clocks. Provide a causal relationship between messages.

▪ Vivaldi. Network Coordinates to determine “distance” of peers.

Page 20: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Serf Product (serf.io)

Page 21: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Gossip For Service Discovery

B

C

AD

“Web” at IP1

“DB” at IP2

“Cache” at IP3

“LB” at IP4

Page 22: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Serf in Practice

▪ (+) Immutable Simplified

▪ (+) Fault Tolerant, Easy to Operate

▪ (-) Eventual Consistency

▪ (-) No Key/Value Configuration

▪ (-) No “Central” API or UI

Page 23: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Rethinking Architecture

B CA D“Web” at IP1 “DB” at IP2 “Cache” at IP3“LB” at IP4

Server

Page 24: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Central Servers Challenges

▪ High Availability

▪ Durability of State

▪ Strong Consistency

Page 25: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Paxos or How Hard is it to Agree?

Page 26: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Paxos Made Simple (?)

Page 27: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Exploring The Literature

▪ Multi Paxos

▪ Egalitarian Paxos

▪ Fast Paxos

▪ Cheap Paxos

▪ Generalized Paxos

Page 28: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell
Page 29: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Raft or Paxos Made Simple

Page 30: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Consul Product (consul.io)

Hybrid CP / AP Design

- Strongly consistent servers (Raft) - Weekly consistent membership (SWIM) - Centralized API and State - Decentralized Operation

Page 31: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Work Embedded in Consul (and Serf)

▪ Consensus

▪ Gossip Protocols

▪ Network Tomography

▪ Capabilities Based Security

▪ Concurrency Control (MVCC)

▪ Lamport / Vector Clocks

Page 32: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Research across Products

- Security Systems (Kerberos) - Security Protocols - Access Control Systems - Cryptography

- Graph Theory - Type Theory - Automata Theory

- Scheduler Design (Mesos, Borg, Omega)

- Bin Packing - Pre-emption - Consensus - Gossip

Page 33: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Forming HashiCorp Research

Page 34: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Industrial Research Group Jon Currey joins as Director of Research

Page 35: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Focus on industrial research, working 18 to 24 months ahead of engineering, on novel work. HashiCorp Research Charter

Page 36: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Research Goals

Problem Novel Solution

Existing Solution

Publish

Integrate Product

Page 37: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Customer Problem

Frontend BackendInternet

Page 38: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Customer Problem

Frontend BackendInternet

Page 39: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Research Process

Collect Data Make Hypothesis

Design Solution

Design Experiment

Validate Hypothesis

Validate Solution

Page 40: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Gossip FSM

SuspectHealthy

Dead

Ping Timeout

Suspect Timeout

Refute Dead

Refute Suspect

Page 41: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Untimely Processing

SuspectHealthy

Dead

Ping Timeout

Suspect Timeout

Refute Dead

Refute Suspect

Page 42: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Reducing Sensitivity

Exponential Convergence - Replace Fixed Timers - Use Redundant

Confirmations - Insight from Bloom Filters, K

independent hashes

Local Health Awareness - Measure Local Health - Tune sensitivity as health

changes

Early Notification

- Send Suspicion Early - Send Suspicion Redundant - Enable faster refute

Page 43: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Evaluation of Solution

Page 44: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Publishing Lifeguard

Page 45: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Integration with Product

Page 46: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Picking the Problem

Page 47: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Vault Audit Logs

User Action Audit Log

Page 48: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Vault Anomaly Detector

Anomaly Detection

Audit LogUser Action

Page 49: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Anomaly Detector

Unexpected

ExpectedEvent Detector Model

Page 50: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Exploring the Literature

Few False Negatives

Few False Positives

Lots of false positives Lots of false negatives

Page 51: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Applications to Vault

Screen Millions of Events

Security Issues Missed

Page 52: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Defining a Model

Unexpected

ExpectedEvent Detector Model

Page 53: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Refining Configuration

Vault Advisor

Audit LogUser Action

Configuration

Page 54: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Vault Advisor in Depth

Page 55: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Research Status

Problem Novel Solution

Existing Solution

Publish

Integrate Product

Page 56: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Lifeguard Integration

Pull Request Upstream

Research Team Project Fork Eng Team

Page 57: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Product-ization

Research Team

| Advisor

Prototype

Eng Team Train Develop

Publish

Research Embedded

Page 58: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

What’s Coming

Problem Novel Solution

Existing Solution

Publish

Integrate Product

Page 59: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Research Culture

Page 60: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Fostering Research Culture

▪ Product / Engineering is 100x bigger than Research

▪ Cultural approach needed

▪ Consuming research

Page 61: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Publishing PRD / RFCs

Page 62: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Slack #talk-research

Page 63: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Brown bags and Conferences

Page 64: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Sponsorships & Memberships

Page 65: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Cultural Goals

▪ Build awareness of research

▪ Give access to published academic work

▪ Create channels to engage internally

▪ Promote involvement in external community

▪ Involve Research in Engineering, and visa versa

Page 66: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Conclusion

Page 67: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Real world value

▪ Leverage the “State of the Art”, instead of naive design

▪ Apply domain constraints against fundamental tradeoffs

▪ Improve product performance, security, and usability

Page 68: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Research used from Day 1

▪ Academic research fundamental to HashiCorp Products

▪ Day 1 core designs based on the literature

▪ Day 2+ improvements from literature

Page 69: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

HashiCorp Research

▪ Focused on Industrial Research

▪ Publishing work, not just consuming

▪ Advocate for research culture internally

▪ Features like Lifeguard

▪ New products like Vault Advisor

Page 70: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Promoting Research

▪ Build a culture around research

▪ Enable access, encourage consumption

▪ Create bridges between Research and Engineering

▪ Vocalize the benefits

Page 71: Leaving the Ivory Tower: Research in the Real World · Operations Secure Security ... Networking Private Cloud AWS Azure GCP Common Cloud Operating Model. Research Origins Mitchell

Thank You

www.hashicorp.com