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

Sensu 2.0

Sensu 2.0

A story of how Sensu will evolve in its next iteration. It includes exploring a long history of loving Sensu, how it can and will evolve with the industry, why the Go programming language is a natural fit for our next version and about the human side of software design.

Greg Poirier

August 15, 2017
Tweet

More Decks by Greg Poirier

Other Decks in Technology

Transcript

  1. Who am I? • Sensu user since 2012 • Specialized

    in monitoring and observability • Introduced metrics to Sensu • Superfan of Sensu
  2. Why Go: Performance • Concurrency primitives • Natively utilize multiple

    cores • Compiled language (Go) vs interpreted language (Ruby) • No more VM (Ruby or JVM)
  3. Why Go: Packaging • Statically linked binaries • Easy to

    ship in a container • Easy to package for any OS • Cross-compilation
  4. Operational Burden • Easier for current orgs to use Sensu

    • Easier for new orgs to use Sensu • More cost-effective monitoring solution
  5. Operational Burden: Transport • Don’t have to operationalize RabbitMQ •

    AMQP inspired the new Sensu transport • WebSockets for the transport protocol • JSON message bodies
  6. Operational Burden: Data • Redis replaced by distributed datastore: Etcd

    • Configuration stored within Etcd • DR and HA facilitated entirely by Sensu+Etcd
  7. Operational Burden: CM What does CM do? • Deploys Sensu,

    RabbitMQ, Redis • Configure Sensu, RabbitMQ, Redis • Deploys and configures checks
  8. Operational Burden: CM • Configuration management no longer required •

    Read/write REST API • Assets delivered to client systems by Sensu
  9. 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
  10. 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
  11. API-Driven: Platforms • Higher order applications can be built with

    Sensu • Stronger integrations with IaaS/PaaS • Metrics as first-class citizens
  12. 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
  13. Multitenancy • Larger orgs yield more complex setups • Organizations

    and Environments • RBAC allows for cross-functional cross-team information sharing
  14. • ✔ Functioning Sensu 2.0 • ✔ Multitenancy • ✔

    API • ✔ Check execution • ✔ Alerting • ✔ Asset management Sensu 2.0: Alpha
  15. Sensu 2.0: Future • Sensu 1.0 Feature Complete • Growing

    the Sensu engineering team • Metrics integrations