Rudder 3.0 and beyond

32
Normation – Tous droits réservés normation.com Rudder 3.0 and beyond Jonathan Clarke [email protected] @jooooooon42 (7 'o's) Nicolas CHARLES [email protected] @nico_charles

Transcript of Rudder 3.0 and beyond

Normation – Tous droits réservésnormation.com

Rudder 3.0 and beyond

Jonathan Clarke

[email protected]@jooooooon42 (7 'o's)

Nicolas CHARLES

[email protected]@nico_charles

Normation – Tous droits réservésnormation.com

Who are we?

Jonathan Clarke

Origins: Sysadmin,infrastructure management

[email protected]@jooooooon42 (7 'o's)

Co-founded and work at

Creators of and ncf.io

Nicolas CHARLES

Origins: Development

[email protected]@nico_charles

Normation – Tous droits réservésnormation.com

This talk is about

RudderOverview & History

3.0 new features

Perspectives for 3.1 and beyond

Normation – Tous droits réservésnormation.com

Intro: Rudder overview

DesktopCloudDatacenter Smart infrastructureMobile

3. Universality – Lightweight & multi-platform agent technology

1. Simplification – Web interface, role separation

2. Compliance – Continuous checking

Normation – Tous droits réservésnormation.com

Intro: Rudder release history

2013 2014 2015Jan Apr Jul Nov Dec March July Feb

2.5 2.6 2.7 2.8 2.9 2.10 2.11 3.0

Release history

Release scheduleMajor version (2.x, 3.x) every 3 months

Minor versions (2.x.y) are strictly bug-fix only,release when needed or at minimum every month

Normation – Tous droits réservésnormation.com

Rudder 3.0

Rudder 3.0

A major step forward

Normation – Tous droits réservésnormation.com

Rudder 3.0: Redesigned web interface

Redesigned web interface

✔ Avoid wasted space✔ One click access to all screens✔ Familiar Bootstrap menu bar✔ Improved user experience✔ Refresh data in all tables

Normation – Tous droits réservésnormation.com

Rudder 3.0: Redesigned web interface

Before

After

Normation – Tous droits réservésnormation.com

Rudder 3.0: Redesigned web interface

Wasted space

Was

ted

sp

ace

Was

ted

sp

ace

Useful content

Pre-3.0

Normation – Tous droits réservésnormation.com

Rudder 3.0: Redesigned web interface

Useful content

Now in 3.0

Normation – Tous droits réservésnormation.com

Rudder 3.0: Redesigned web interface

One click access to all pages

Pre 3.0: double menu

First click

Second click

Now in 3.0: one menu

Normation – Tous droits réservésnormation.com

Rudder 3.0: Redesigned web interface

Improved user experiencePre 3.0: tabbed Directive page

Now in 3.0: one menu

Normation – Tous droits réservésnormation.com

Rudder 3.0: Redesigned web interface

As of 3.0: single page, improved layout

Always available Save button

Normation – Tous droits réservésnormation.com

Rudder 3.0: Redesigned web interface

As of 3.0: single page, improved layout

Normation – Tous droits réservésnormation.com

Rudder 3.0: Status reporting

Status reporting

✔ Display an overview of all states for a Rule✔ Proportional to number of nodes✔ Proportional to number of configurations

✔ Drilldown by node or by component✔ Display recent changes (repairs) over time✔ List recent changes (repairs)

Normation – Tous droits réservésnormation.com

Rudder 3.0: Status reporting

Status reporting

Error

Unexpected

No response

Applying...

Success

Not applicable(eg SSH on Windows)

Multi-colour progress bar displayed for each rule and as a global overview

Normation – Tous droits réservésnormation.com

Rudder 3.0: Status reporting

Status reporting

Recent changesCompliance

Normation – Tous droits réservésnormation.com

Rudder 3.0: Status reporting

Overview + drilldownExhaustiveFocus on what is relevant

Normation – Tous droits réservésnormation.com

Rudder 3.0: Status reporting

History of changes on nodesKeep an eye on what changed

Normation – Tous droits réservésnormation.com

Rudder 3.0: Status reporting

Overview: dashboard

Normation – Tous droits réservésnormation.com

Rudder 3.0: Status reporting

Reporting: behind the scenesTwo compliance modesFull complianceChanges only

Varies logs sent from nodes to server:Explicit “success” message vs silence means OK + regular heartbeat

10:00 ComponentA Success10:00 ComponentB Repaired10:05 ComponentA Success10:05 ComponentB Success10:10 ComponentA Success10:10 ComponentB Success

→ Saves a lot of bandwidth (syslog messages) + storage (DB)

10:00 ComponentB Repaired

10:10 Heartbeat I'm alive!

vs

Normation – Tous droits réservésnormation.com

Rudder 3.0: Technique editor

Create your own Techniques via a web interfaceTechnique editor

Normation – Tous droits réservésnormation.com

Rudder 3.0: Technique editor

Builds on the ncf framework and available methodsTechnique editor

Example of a method

66 generic methods as of today

Normation – Tous droits réservésnormation.com

Rudder 3.0: Node classification data

Insert external data to classify nodes on key=value pairsNode classification data

1. Set key=value pairs for any nodes via the REST API

See REST API documentation onhttp://www.rudder-project.org/rudder-api-doc/

Can be used to integrate with any third party CMDB, inventory/asset database, ...

Normation – Tous droits réservésnormation.com

Rudder 3.0: Node classification data

Insert external data to classify nodes on key=value pairsNode classification data

1. Set key=value pairs for any nodes via the REST API2. View, search and group in the web interface

Normation – Tous droits réservésnormation.com

Rudder 3.0: CLI

Wrapper for common commandsCommand line interface

# rudder agent

Usage: rudder agent help rudder agent <command> [parameters ...]

Run commands on agent.

Available commands: disable forbid rudder-agent to be run by cron or service enable re-enable a disabled rudder-agent inventory force the agent to create and send a new inventory reinit re-initialise the agent to make it be seen as a new node on the server reset reset agent status and cache run force run agent promises update update promises on agent version get the agent version

Normation – Tous droits réservésnormation.com

Rudder 3.0: CLI

Wrapper for common commandsCommand line interface

# rudder server debug <node_IP>

# Starts a temporary cf-serverd process on a different port# and uses a firewall rule to redirect traffic from that node# to the temporary server, running in verbose mode

Normation – Tous droits réservésnormation.com

Rudder 3.0: CLI

Collect and centralise usage statistics to help development

Usage statistics (opt-in, anonymous)

"audit_log_enabled": "true", "reportscleaner_frequency": "daily", "os_name": "Debian", "uuid": "9480df7a-249c-4972-9593-648a60f769a1", "report_line_count": "16427", "expected_report_count": "118", "nodes_count": "3", "parameter_count": "1", "report_db_size": "8272 kB", "rule_count": "10", "reportscleaner_archive_ttl": "3", "os_version": "7.4", "installation_date": "2015-01-30 08:56:58.982185054 +0000", "db_size": "16 MB", "package_version": "rudder-server-root 3.0.0-wheezy0", "report_count_last_day": "156", "directive_count": "14", "reportscleaner_delete_ttl": "90", "agent_run_interval": "5", "rudder_workflow_enabled": "false”

Sample statistics

Normation – Tous droits réservésnormation.com

What's new in Rudder 3.0

Performance improvementMuch faster interfaceSuper fast complianceTested with 5000+ nodes

Example: List nodes page for 2000 nodesRudder 2.11: 2 secondsRudder 3.0: 80 ms

Various other changes

Package (deb/rpm) for relay servers{yum,apt-get} install rudder-server-relay

systemd supportncf methodsRudder Techniques

New OS supportRHEL/CentOS 7Debian 8

Run frequency by nodeSet run frequency from5 minutes to 6 hourson a global schedule+ override by node

Normation – Tous droits réservésnormation.com

Rudder 3.1 and beyond

Rudder > 3.0

Perspectives for the future

Normation – Tous droits réservésnormation.com

Rudder roadmap

Rudder 3.1 with API focus in March 2015

Beyond:

● Tags everywhere

● RBAC authorisations

● Parameters by tags

● Check only mode

● Better forms for Directives

● Technique editor that exposes parameters

● Add extension points

● Plugins for third party tools

Normation – Tous droits réservésnormation.com

Rudder inside!

Questions?

Jonathan Clarke

[email protected]@jooooooon42 (7 'o's)

Nicolas CHARLES

[email protected]@nico_charles