SlideShare une entreprise Scribd logo
1  sur  74
⁄
Leaving the Ivory Tower:
Research in the Real World
InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
hashicorp-research/
Presented at QCon New York
www.qconnewyork.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Armon Dadgar
Co-Founder and CTO at HashiCorp
Copyright © 2018 HashiCorp ⁄ !3
HashiCorp Suite
C++
Provision

Operations
Secure

Security
Deploy

Development
Connect

Networking
Private Cloud AWS Azure GCP
Common Cloud Operating Model
Research
Origins
Mitchell Hashimoto Armon Dadgar
Contributing Back
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
⁄
Building Consul:
A Story of (Service)
Discovery
Immutable + Micro-services
Front End
API Layer
Data Layer
Immutable Artifact
Common Solutions
Circa 2012
▪ Hard Coded IP of Host / Virtual IP / Load Balancer
▪ Config Management “Convergence Runs”
▪ Custom Zookeeper based systems
Imagining Solutions
API Layer
Data Layer
Database:3306
10.0.1.25:3306
API Layer
Data Layer
10.0.1.25:3306
Entirely Peer to Peer
B
C
A
D
Exploring the Literature
Centralized Decentralized
Central Servers “Super Peers” Peer To Peer
Exploring the Literature
Structured Unstructured
Rings
Spanning Trees
Binary Trees
Adaptive Structure
Hybrid Structures
Epidemic Broadcast
Mesh Network
Randomized
Exploring the Literature
Limited
Visibility
Full
Visibility
Few Members Known “Neighbors” Known All Members Known
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.
The SWIM Approach
SWIM Properties
▪ Completely Decentralized
▪ Unstructured, with Epidemic Dissemination
▪ Full Visibility, All Members Known
▪ Trades more bandwidth use for simplicity and fault tolerance
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
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.
Serf Product (serf.io)
Gossip For Service Discovery
B
C
A
D
“Web” at IP1
“DB” at IP2
“Cache” at IP3
“LB” at IP4
Serf in Practice
▪ (+) Immutable Simplified
▪ (+) Fault Tolerant, Easy to Operate
▪ (-) Eventual Consistency
▪ (-) No Key/Value Configuration
▪ (-) No “Central” API or UI
Rethinking Architecture
B CA D
“Web” at IP1
“DB” at IP2 “Cache” at IP3“LB” at IP4
Server
Central Servers Challenges
▪ High Availability
▪ Durability of State
▪ Strong Consistency
Paxos or How Hard is it to Agree?
Paxos Made Simple (?)
Exploring The Literature
▪ Multi Paxos
▪ Egalitarian Paxos
▪ Fast Paxos
▪ Cheap Paxos
▪ Generalized Paxos
Raft or Paxos Made Simple
Consul Product (consul.io)
Hybrid CP / AP Design
- Strongly consistent servers (Raft)
- Weekly consistent membership (SWIM)
- Centralized API and State
- Decentralized Operation
Work Embedded in Consul (and Serf)
▪ Consensus
▪ Gossip Protocols
▪ Network Tomography
▪ Capabilities Based Security
▪ Concurrency Control (MVCC)
▪ Lamport / Vector Clocks
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
⁄
Forming HashiCorp
Research
Industrial Research Group
Jon Currey joins as Director of Research
Focus on industrial research,
working 18 to 24 months ahead of
engineering, on novel work.
HashiCorp Research Charter
Research Goals
Problem Novel Solution
Existing
Solution
Publish
Integrate
Product
Customer Problem
Frontend BackendInternet
Customer Problem
Frontend BackendInternet
Research Process
Collect Data
Make
Hypothesis
Design
Solution
Design
Experiment
Validate
Hypothesis
Validate
Solution
Gossip FSM
SuspectHealthy
Dead
Ping Timeout
Suspect Timeout
Refute Dead
Refute Suspect
Untimely Processing
SuspectHealthy
Dead
Ping Timeout
Suspect Timeout
Refute Dead
Refute Suspect
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
Evaluation of Solution
Publishing Lifeguard
Integration with Product
⁄
Picking the Problem
Vault Audit Logs
User Action Audit Log
Vault Anomaly Detector
Anomaly Detection
Audit LogUser Action
Anomaly Detector
Unexpected
ExpectedEvent Detector Model
Exploring the Literature
Few False
Negatives
Few False
Positives
Lots of false positives Lots of false negatives
Applications to Vault
Screen Millions
of Events
Security Issues
Missed
Defining a Model
Unexpected
ExpectedEvent Detector Model
Refining Configuration
Vault Advisor
Audit LogUser Action
Configuration
Vault Advisor in Depth
Research Status
Problem Novel Solution
Existing
Solution
Publish
Integrate
Product
Lifeguard Integration
Pull Request
Upstream
Research Team Project Fork Eng Team
Product-ization
Research Team
| Advisor
Prototype
Eng Team Train Develop
Publish
Research
Embedded
What’s Coming
Problem Novel Solution
Existing
Solution
Publish
Integrate
Product
⁄
Research Culture
Fostering Research Culture
▪ Product / Engineering is 100x bigger than Research
▪ Cultural approach needed
▪ Consuming research
Publishing PRD / RFCs
Slack #talk-research
Brown bags and Conferences
Sponsorships & Memberships
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
⁄
Conclusion
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
Research used from Day 1
▪ Academic research fundamental to HashiCorp Products
▪ Day 1 core designs based on the literature
▪ Day 2+ improvements from literature
HashiCorp Research
▪ Focused on Industrial Research
▪ Publishing work, not just consuming
▪ Advocate for research culture internally
▪ Features like Lifeguard
▪ New products like Vault Advisor
Promoting Research
▪ Build a culture around research
▪ Enable access, encourage consumption
▪ Create bridges between Research and Engineering
▪ Vocalize the benefits
Thank You
www.hashicorp.com
Watch the video with slide
synchronization on InfoQ.com!
https://www.infoq.com/presentations/
hashicorp-research/

Contenu connexe

Similaire à Leaving the Ivory Tower: Research in the Real World

Similaire à Leaving the Ivory Tower: Research in the Real World (20)

The road to CGSpace
The road to CGSpaceThe road to CGSpace
The road to CGSpace
 
2022-Devnexus-StatefulMicroservices.pptx.pdf
2022-Devnexus-StatefulMicroservices.pptx.pdf2022-Devnexus-StatefulMicroservices.pptx.pdf
2022-Devnexus-StatefulMicroservices.pptx.pdf
 
EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS EBSCO Digital Transformation with AWS
EBSCO Digital Transformation with AWS
 
Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17Status Quo on the automation support in SOA Suite OGhTech17
Status Quo on the automation support in SOA Suite OGhTech17
 
Coding Secure Infrastructure in the Cloud using the PIE framework
Coding Secure Infrastructure in the Cloud using the PIE frameworkCoding Secure Infrastructure in the Cloud using the PIE framework
Coding Secure Infrastructure in the Cloud using the PIE framework
 
Engineering Culture and Infrastructure
Engineering Culture and InfrastructureEngineering Culture and Infrastructure
Engineering Culture and Infrastructure
 
Network research
Network researchNetwork research
Network research
 
Beyond DevOps: How Netflix Bridges the Gap?
Beyond DevOps: How Netflix Bridges the Gap?Beyond DevOps: How Netflix Bridges the Gap?
Beyond DevOps: How Netflix Bridges the Gap?
 
8base Hyperledger Miami Meetup Presentation
8base Hyperledger Miami Meetup Presentation8base Hyperledger Miami Meetup Presentation
8base Hyperledger Miami Meetup Presentation
 
8base Hyperledger Miami Meetup 20180719
8base Hyperledger Miami Meetup 201807198base Hyperledger Miami Meetup 20180719
8base Hyperledger Miami Meetup 20180719
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
 
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
 
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
 
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
Panel: Open Infrastructure for an Open Society: OSG, Commercial Clouds, and B...
 
Sundance's presentation at B:RAI 2020
Sundance's presentation at B:RAI 2020Sundance's presentation at B:RAI 2020
Sundance's presentation at B:RAI 2020
 
Research Data (and Software) Management at Imperial: (Everything you need to ...
Research Data (and Software) Management at Imperial: (Everything you need to ...Research Data (and Software) Management at Imperial: (Everything you need to ...
Research Data (and Software) Management at Imperial: (Everything you need to ...
 
A Tight Ship: How Containers and SDS Optimize the Enterprise
 A Tight Ship: How Containers and SDS Optimize the Enterprise A Tight Ship: How Containers and SDS Optimize the Enterprise
A Tight Ship: How Containers and SDS Optimize the Enterprise
 
Palringo : a startup's journey from a data center to the cloud
Palringo : a startup's journey from a data center to the cloudPalringo : a startup's journey from a data center to the cloud
Palringo : a startup's journey from a data center to the cloud
 
NATS Connector Framework - Boulder Meetup
NATS Connector Framework - Boulder MeetupNATS Connector Framework - Boulder Meetup
NATS Connector Framework - Boulder Meetup
 
After summit catch up
After summit catch upAfter summit catch up
After summit catch up
 

Plus de C4Media

Plus de C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

Leaving the Ivory Tower: Research in the Real World