What's new in JBoss ON 3.2

Post on 25-May-2015

463 views 2 download

Tags:

description

Slides from the Red Hat Summit 2014 session: What's new in JBoss ON 3.2

Transcript of What's new in JBoss ON 3.2

What's new in JBoss Operations NetworkHeiko W. Rupp, Alan Santos, Thomas SegismontRed Hat

AgendaOverviewNew ChartsNew Storage NodesFiner Bundle PermissionsREST-APIOutlook to JBossON 3.3

Overview

Let us ask some questions first

Who knows JBoss ON ?

Who uses JBoss ON?

What version?

•3.2

•3.1

•other

Did you know?

JBoss ON has an Open Source upstream project called RHQ?

http://jboss.org/rhq

You can reach the developers in

#rhq on

Irc.freenode.net

Architecture 100.000 feet

Architecture 10.000 feet

New charts

New charts

New charts

Storage nodesMetrics storage scalability

Runtime data in JON

•Traits (ex: Platform CPU architecture)

•Events (ex: Error reported in a log file)

•Call-time (ex: Servlet response time)

•Metrics (ex: Swap usage)

Metric definitions

•Per resource type

•Some enabled by default

Enabling collection

Collection process

•Agent plugin collects data

•Sends measurement report to JON server

•Server stores raw values

Data usage

•Display in UI (tables and graphs)

•Retrieval through REST API / CLI / Remote API

•Calculate baselines

•Trigger alerts

Raw metrics model

•Schedule id ~ Resource id + Metric Definition id

•Data (value collected)

•Time stamp

Aggregates

•Retention period: cannot keep data indefinitely

•Storage efficiency at the cost of precision loss

•Raw data -> 1h data

•1h -> 6h

•6h -> 24h 24 hours aggregates

6 hours aggregates 6 hours aggregates

1 hour 1 hour 1 hour 1 hour

Raw Raw Raw Raw Raw Raw Raw Raw

Metrics storage before 3.2

•Everything in the relational database

•Simple to access from JON server (@Resource)

•No extra deployment

So, what's the problem with metric storage?

Consider a large deployment

•3 metrics enabled per resource type on average

•1000 resources per agent

•1000 managed servers

=> 3 million raw data points every 30 seconds

Scale-up?

•Top-class hardware

•Top-class database

• ... and a top-notch DBA!

There must be a better approach

Scale-out with NoSQL

•Hybrid model (SQL + NoSQL)

• Incremental approach (only metrics)

•For a fraction of a cost

Solution criteria

•Management and support

•Solution needs to be black boxed, self-managed

•Performance and scalability

•No single point of failure

•Support single machine install

We created JBoss ON Storage Node

•Based on Cassandra

•Well suited for time series data

• Intensive write loads optimized

•Usual management tools (JMX)

User perspective

• 'Just' another JON component

• Install with rhqctl

•Add new nodes on demand

JBoss ON ServerJBoss ON

Storage Node

JBoss ONStorage Node

JBoss ONStorage Node

JBoss ONStorage Node

gossip

cql

Storage node management

•Agent plugin => requires an agent!

•Auto-imported in inventory

•Dedicated console in the admin pages

Simulator

Server Raw Metrics / Minute Heap

Blade ServeriSCSI2 Storage Nodes

680K 512M per nodeSlower due to virtualized environment

Bare MetalSSD2 Storage Nodes

1M 512M per node Higher number of agents

Adding a new storage node demo

Fine grained bundle permissionsEnabling complex provisioning workflows

What is a bundle?

Simply put, a zip file:

•With at least a recipe

•And (optionally) a set of files

010101010010101010

010101010

Files?

•Standalone application

•Web application alone

•Web application, static resources, and configuration files

•Full application server!

• ... etc

Pluggable provisioning

Out of the box:

•ANT bundles (powerful)

•File template (very basic)

Create your own!

Template engine

•Can process any of the bundle files

•@@my.property.to.replace@@

•Built-in variables

• rhq.system.hostname

• rhq.system.cpu.count

• rhq.system.sysprop.line.separator

• ... etc

Deployment

•To a group of resources (bundle targets)

•From a base location to a destination

Old security model

•Global MANAGE_BUNDLE permission

•Create / Delete / Deploy any bundle

•Kept in JON 3.2

•Non critical environments

•Beginners

Secure the system with bundle permissions

Groups

BUNDLE GROUPS

|

v

RESOURCE GROUPS ---> ROLES <--- USERS

^

|

permissions

Permission details

•View (implied)

•Create / Delete

•Assign / Unassign

•Deploy

Use cases

•Team leader creates, members deploy

•Team members create and deploy on specific resource group

•Dev team creates, Op team deploys

Flexible enough for your organization

The demo example

Human ResourcesEnvironment

FinanceEnvironment

HRBundles

FinanceBundles

Developers Operators

ANT Bundle demo

REST-API

REST-API

Fully supported

•For Output AND Input

•Will be used more (by JBossON) in the future

REST-API: External Out-of-Band processing

REST-API: External Out-of-Band processing

Demo

Outlook

●JBoss ON 3.2.CP1●Coming in JBoss ON 3.3

3.2.CP1

•Bug fix update for 3.2

•Cumulative patch

•Not full release

3.3: Reduced Agent footprint

•Agent uses less heap

• Inventory sync is less costy on the server

• Internal algorithms tuned

3.3 : Better support for EAP 6

•Communication via https

•Bundles and Drift for Domain Mode

•Patching

•Better align JBoss ON groups ↔ EAP groups

3.3 : Integration with Access.redhat.com

•Open cases from within JBoss ON

•Access Knowledge Base

•For JBoss ON

•For Managed EAP

Thanks for your attention

Questions?

There is a BOF @6pm – join us!