searching for better code: presented by grant ingersoll, lucidworks

19
OCTOBER 13-16, 2016 AUSTIN, TX

Upload: lucidworks

Post on 07-Jan-2017

633 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

O C T O B E R 1 3 - 1 6 , 2 0 1 6 • A U S T I N , T X

Page 2: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

Searching for Better Code Grant Ingersoll

CTO, Lucidworks @gsingers

Page 3: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

3

Page 4: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks
Page 5: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

5

• Languages: Java, JS/HTML/CSS, Python, Clojure

• Tooling: Gradle, JIRA, Github, Jenkins, Docker, Slack

• Tests: TestNG, Karma, Pytest, Manual

• Lots of open source, downstream dependencies

• Agile (mostly)

• ~40 people, globally distributed

Lucidworks Eng

Page 6: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks
Page 7: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

Fusion: we wanted to call it Solr++, but our attorney said no!

Connector Framework

Index Pipelines (ETL)

( )ScaleFault ToleranceReal-Time

Fusion APIs

Recommendations Personalization Contextual SearchRelevancy Tool

Machine Learning / Signal ProcessingAnalytics

Security

Apps Mobile Silk

Database Web File Logs Hadoop

Page 8: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

Make your data smarter. Ask more interesting questions.

Massive scale. Real-time. Secure.

Any data. Any source.

Connector Framework

Index Pipelines (ETL)

( )ScaleFault ToleranceReal-Time

Fusion APIs

Recommendations Personalization Contextual SearchRelevancy Tool

Machine Learning / Signal ProcessingAnalytics

Security

Apps Mobile Silk

Database Web File Logs Hadoop

Page 9: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

Fusion: Solr and moreFeature Solr Fusion

Core Search/Faceting/…Alerting

Connectors JDBC only (60+)Integrated ETL Limited

Built-in RecommenderEditorial Controls Limited

Integrated NLP and Models Limited: UIMAAdmin UI

Fault tolerance/High ScaleSecurity LimitedAnalytics

Signal Capture and feedbackDashboards (reporting, monitoring)

Big data Integrations Limited: HDFS Index StorageLog Search

Page 10: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

Billions of Docs

Optional

REST

Security woven throughout

Prox

y/LB

Recs

Worker

Pipes Metrics

NLP Sched.

Blobs Msging

Connectors

Worker Cluster Mgr.

Spark

Shards Shards

Solr

HD

FS

Shared Config Mgmt

Leader Election

Load Balancing

ZK 1

Zookeeper

ZK N

Signals

Fusion Architecture

Millions of Users

Page 11: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

11

• Code search

• Operational problems

• Download Stats Analysis

• Heartbeat

Use Cases: Basic Search

Page 12: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

Demo I

Page 13: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

13

• Connectors

• e.g. JIRA, Github/SVN, Logstash, Zendesk (2.2)

• Pipelines for ETL, per doc analysis

• Spark/Aggregations for large scale analysis

Fusion for Code

Page 14: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

14

• Alerting

• PagerDuty, Slack, email

• Visualization: Silk built in!

• Security

• Kerberos, LDAP/AD, custom

Fusion for Code

Page 15: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

15

• Code Review

• Static Analysis

• Headers, required configuration

• Team/Developer/Commit/Bug Metrics

• Trends and Hotspots

• Legal issues

Use Cases: Better Code

Page 16: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

Demo II

Page 17: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

17

• OpenGrok Analysis coming soon (help wanted!)

• http://github.com/gsingers/open-grok-analyzers

• Findbugs, Linters

• IT Operations

• Realtime + Static

• Sales/Support Operations: Zendesk, Apache Mailing Lists, JIRA

Next Steps

Page 18: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

18

• Download Fusion 2.1: http://lucidworks.com/products/fusion/

• Check out http://github.com/LucidWorks/fusion-examples

• Contact Me:

[email protected]

• @gsingers on Twitter

More Info

Page 19: Searching for Better Code: Presented by Grant Ingersoll, Lucidworks

Grant Ingersoll CTO, Lucidworks

@gsingers [email protected]