Slide 1

Slide 1 text

Sensu 2.0 Greg Poirier - VP of Engineering

Slide 2

Slide 2 text

What is happening?

Slide 3

Slide 3 text

Things are happening.

Slide 4

Slide 4 text

We’re rewriting Sensu.

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Who am I? ● Sensu user since 2012 ● Specialized in monitoring and observability ● Introduced metrics to Sensu ● Superfan of Sensu

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

I <3 Sensu

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

What about my checks?

Slide 11

Slide 11 text

You do not have to rewrite plugins.

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

WHYYYYY?

Slide 14

Slide 14 text

Mechanical Sympathy

Slide 15

Slide 15 text

Human-Centered Design

Slide 16

Slide 16 text

Make things easier.

Slide 17

Slide 17 text

Easier ● Reduce operational burden and complexity ● API focused ● Multitenancy

Slide 18

Slide 18 text

Why Go?

Slide 19

Slide 19 text

Why Go ● Performance ● Safety ● Packaging ● Developer Experience

Slide 20

Slide 20 text

Why Go: Performance ● Concurrency primitives ● Natively utilize multiple cores ● Compiled language (Go) vs interpreted language (Ruby) ● No more VM (Ruby or JVM)

Slide 21

Slide 21 text

Why Go: Developer Experience ● Mechanical sympathy ● Easily learned by new engineers ● Uniformity

Slide 22

Slide 22 text

Why Go: Safety ● Static types ● Explicit error handling ● Race detection

Slide 23

Slide 23 text

Why Go: Packaging ● Statically linked binaries ● Easy to ship in a container ● Easy to package for any OS ● Cross-compilation

Slide 24

Slide 24 text

gopherize.me IT ME!

Slide 25

Slide 25 text

OK. I get it.

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

MAKE EVERYTHIN G

Slide 28

Slide 28 text

Reducing Operational Burden

Slide 29

Slide 29 text

Operational Burden ● Easier for current orgs to use Sensu ● Easier for new orgs to use Sensu ● More cost-effective monitoring solution

Slide 30

Slide 30 text

No more RabbitMQ

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

Operational Burden: Transport ● Don’t have to operationalize RabbitMQ ● AMQP inspired the new Sensu transport ● WebSockets for the transport protocol ● JSON message bodies

Slide 33

Slide 33 text

No more Redis

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Operational Burden: Data ● Redis replaced by distributed datastore: Etcd ● Configuration stored within Etcd ● DR and HA facilitated entirely by Sensu+Etcd

Slide 36

Slide 36 text

No more CM

Slide 37

Slide 37 text

Just kidding

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

Operational Burden: CM What does CM do? ● Deploys Sensu, RabbitMQ, Redis ● Configure Sensu, RabbitMQ, Redis ● Deploys and configures checks

Slide 40

Slide 40 text

Operational Burden: CM ● Configuration management no longer required ● Read/write REST API ● Assets delivered to client systems by Sensu

Slide 41

Slide 41 text

Operational Burden: CM Sensu 2.0 has the ability to deliver “assets” ● Assets are specially-formed zip files ● Assets are versioned ● No more CM needed to deliver checks ● Does not interfere with OS packages

Slide 42

Slide 42 text

Hidden costs of CM.

Slide 43

Slide 43 text

API Focused

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

API-Driven: Empowerment ● All configuration ● Faster time-to-change ● Empower organizations

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

API-Driven: Multiple UIs - Dashboard - CLI - Choose your own adventure

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

Monitoring is Alive and Well

Slide 51

Slide 51 text

Easier Integrations: monitoring.yaml .monitoring.yaml: metrics: - name: nsq.queue_length.results assertions: - comparison: > 0 time: 5m http_check: - method: get path: /health assertions: - status: 200

Slide 52

Slide 52 text

API-Driven: Platforms ● Higher order applications can be built with Sensu ● Stronger integrations with IaaS/PaaS ● Metrics as first-class citizens

Slide 53

Slide 53 text

Time-Series Data

Slide 54

Slide 54 text

API-Driven: Time Series Data - Still focused on being a “router” - Metrics as first-class citizen - Deep integrations with time-series databases - Metrics as a core part of monitoring with Sensu

Slide 55

Slide 55 text

RBAC & Multitenancy

Slide 56

Slide 56 text

Multitenancy ● Larger orgs yield more complex setups ● Organizations and Environments ● RBAC allows for cross-functional cross-team information sharing

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

How do we get there?

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

● ✔ Functioning Sensu 2.0 ● ✔ Multitenancy ● ✔ API ● ✔ Check execution ● ✔ Alerting ● ✔ Asset management Sensu 2.0: Alpha

Slide 61

Slide 61 text

Sensu 2.0: Future ● Sensu 1.0 Feature Complete ● Growing the Sensu engineering team ● Metrics integrations

Slide 62

Slide 62 text

Thanks!