triangle node.js devops

21
Shubhra Kar Product Manager @shubhrakar Oct 2014

Upload: shubhra-kar

Post on 01-Jul-2015

491 views

Category:

Software


0 download

DESCRIPTION

Node.js toolchains developed by StrongLoop for efficient DevOps in Production

TRANSCRIPT

Page 1: Triangle Node.js DevOps

Shubhra Kar

Product Manager

@shubhrakar

Oct 2014

Page 2: Triangle Node.js DevOps

StrongLoop is the biggest contributor to Node Core

2

Page 3: Triangle Node.js DevOps

StrongLoop

Commercial Support

Training/Consulting

Express

API Gateway

Loopback API Framework

Controller

Strong-agent – Monitoring

Connectors to enterprise systems

Mesh

Page 4: Triangle Node.js DevOps

Node..

Roadmap past v0.12

Upgrade v8 and debugger interface

Flow Control

– Promises, Generators, Zones, etc

Error Reporting

– Zones

– Async-Tracker

Ecosystem

Reference deployments

Concurrency

4

Breaking C++ API Changes

Page 5: Triangle Node.js DevOps

Async-tracker

5

Page 6: Triangle Node.js DevOps

Async-tracker: get involved

6

Page 7: Triangle Node.js DevOps

Error tracking/recovery

7

Page 8: Triangle Node.js DevOps

Error tracking/recovery

8

Page 9: Triangle Node.js DevOps

Error tracking/recovery

9

Page 10: Triangle Node.js DevOps

Controller features

Debugging

Deployment Management

Scale on demand (vertically)

– Resize cluster, HA, hot deploy

Process Management

– Deployment extractor and Booting service

– Start , Restart (hot/cold), Rolling restarts

– Status and Fault Isolation

State Management

Log Management

Page 11: Triangle Node.js DevOps

Debugging

Page 12: Triangle Node.js DevOps

Cluster Management

CPU Core 1Worker

1

CPU Core 2 Worker2

CPU Core 2 Workern

Master

Cluster-Store / Redis Memcache (State Mgmt.)

• SSL Termination• Load Balancing• Routing

Databases

Services (SOAP/REST)

Nginx /HAProxy

• Bare Metal• Virtual Machine

Controller

Controller

Controller

Controller

Agent

Agent

Agent

Agent

Page 13: Triangle Node.js DevOps

Runtime Mgmt. & Dynamic Scaling

Page 14: Triangle Node.js DevOps

Docker Container

Mesh

Nginx (LB / SSL) Red

is/ Store (State)

Master

Docker Container

Worker Worker

Controller

Agent

Docker Container

Docker Container

Nginx (LB / SSL) Red

is/ Store (State)

Master

Docker Container

Worker Worker

Controller

Agent

Docker Container

Redis/ Store (Groups, Routes and State) and Scheduler Server

Provision and Deploy App

REST/JSON

API Gateway (Routing, Throttling,

Proxy, OAuth)

DockerMgr (Exec.)

DockerMgr.

Page 15: Triangle Node.js DevOps

Agent features

Application Performance Monitoring

Profiling (CPU footprint)

Heap Allocations

Heap Snapshots and Memory Leak diagnosis

Dynamic Instrumentation and Transaction Tracing

Page 16: Triangle Node.js DevOps

Monitoring

Page 17: Triangle Node.js DevOps

Agnostic Ops integration

17

APM Metrics

In your own

Console

Page 18: Triangle Node.js DevOps

Log Management features

Log Aggregation across workers and master in a cluster

Log Structuring (worker ID, app ID, timestamp, etc prepended to

events)

Log rollover

Logging Levels (Info, Debug, Warn, Error)

Log filtering (log stash)

Integration with Splunk and/or other log management tools

Page 19: Triangle Node.js DevOps

Log Aggregation and Splunk Integration

CPU Core 1Worker

1

CPU Core 2 Worker2

CPU Core 2 Workern

Master

Splunk Server

Controller

Controller

Controller

Controller

Worker 1 Log

Worker 2 Log

Worker n Log

AggregatedLog

System LogAggregated

Splunk UniversalForwarder

API Events and Metrics

Page 20: Triangle Node.js DevOps

Let’s StartAPI Serverhttp://strongloop.com/node-js/api-server/

Loopbackhttp://loopback.io

Expresshttp://expressjs.com/

mBaaShttp://strongloop.com/node-js/mBaaS/

Controllerhttp://strongloop.com/node-js/controller/

Monitoringhttp://strongloop.com/node-js/monitoring/

Studiohttp://strongloop.com/node-js/studio-beta/

Page 21: Triangle Node.js DevOps

First there was NodeThank you!