5 Minutes to Enterprise JavaScript With Red Hat OpenShift - - PowerPoint PPT Presentation

5 minutes to enterprise javascript
SMART_READER_LITE
LIVE PREVIEW

5 Minutes to Enterprise JavaScript With Red Hat OpenShift - - PowerPoint PPT Presentation

5 Minutes to Enterprise JavaScript With Red Hat OpenShift Application Runtimes Lance Ball John Clingan Principal Software Engineer Product Manager RHOAR Wednesday, May 9 2018 NODE.JS Is a Thing at Red Hat So What Do You Mean? RHOAR - Red


slide-1
SLIDE 1

5 Minutes to Enterprise JavaScript

With Red Hat OpenShift Application Runtimes

Lance Ball Principal Software Engineer Wednesday, May 9 2018 John Clingan Product Manager RHOAR

slide-2
SLIDE 2

NODE.JS Is a Thing at Red Hat

slide-3
SLIDE 3
slide-4
SLIDE 4
  • RHOAR - Red Hat OpenShift Application Runtime for Node.js 8.x LTS
  • Supported Node.js RPMs and Runtime containers for Node.js 8.x LTS
  • Community Node.js RPMs and Runtime containers for Node.js 9.x and 10.x
  • Node.js tools and utilities for containerized deployment
  • Node.js Core Committers
  • Node.js Technical Steering Committee

So What Do You Mean?

slide-5
SLIDE 5

OK… But Why Node.js?

slide-6
SLIDE 6

In the Beginning, there was the Monolith

My App

slide-7
SLIDE 7

The Monolith Begat Microservices

µ svc A µ svc B µ svc C µ svc D µ svc J µ svc H µ svc F µ svc G µ svc E

slide-8
SLIDE 8

Small, discrete services that do one thing well - usually as REST over HTTP

slide-9
SLIDE 9

This is what Node.js does well

slide-10
SLIDE 10

But wait My application is very complex!

slide-11
SLIDE 11

Application complexity shifts from application code to the runtime platform

slide-12
SLIDE 12

Logging µ svc A µ svc B µ svc C µ svc D µ svc J µ svc H µ svc F µ svc G µ svc E

Service

Discovery

Routing

Elasticity

Tracing Authn/z

Resilience

Service Mesh

slide-13
SLIDE 13

Application logic should be simple

slide-14
SLIDE 14

Demo: set up minishift

$ minishift profile set 'summit-demo' $ minishift config set cpus 2 $ minishift config set vm-driver virtualbox $ minishift config set memory 4GB $ minishift start $ eval (minishift oc-env) # fish shell! $ oc new-project summit-demo

slide-15
SLIDE 15

Demo: create and deploy an application

$ mkdir myapp; and cd myapp $ npm install -g express-generator $ express . $ code-insiders package.json # fish shell! $ npx nodeshift --strictSSL=false --expose

slide-16
SLIDE 16

Yeah and… now what?

slide-17
SLIDE 17

Didn’t you say “Enterprise”?

slide-18
SLIDE 18

µ-Services are not a panacea

µ svc A µ svc B µ svc C µ svc D µ svc J µ svc H µ svc F µ svc G µ svc E

slide-19
SLIDE 19

Some services will fail

µ svc A µ svc B µ svc C µ svc D µ svc J µ svc H µ svc F µ svc G µ svc E

slide-20
SLIDE 20

Causing more services to fail

µ svc A µ svc B µ svc C µ svc D µ svc J µ svc H µ svc F µ svc G µ svc E

slide-21
SLIDE 21

eval(cascading failures) > dead application

µ svc A µ svc B µ svc C µ svc D µ svc J µ svc H µ svc F µ svc G µ svc E

slide-22
SLIDE 22

Let’s get enterprisey With RHOAR circuit breakers

slide-23
SLIDE 23
slide-24
SLIDE 24
slide-25
SLIDE 25
slide-26
SLIDE 26
slide-27
SLIDE 27
slide-28
SLIDE 28
slide-29
SLIDE 29

RHOAR Demo

slide-30
SLIDE 30

Logging µ svc A µ svc B µ svc C µ svc D µ svc J µ svc H µ svc F µ svc G µ svc E

Service

Discovery

Routing

Elasticity

Tracing Authn/z

Resilience

Service Mesh

slide-31
SLIDE 31

Commercial Break

slide-32
SLIDE 32

F7212-090617

DEVELOPERS DEMAND MORE OPTIONS

32

ENTERPRISES EXPAND USE OF LANGUAGES, FRAMEWORKS, & RUNTIMES

slide-33
SLIDE 33

F7212-090617

Developers are Asked to Manage a Lot of Change

DevOps

Container- ization

Micro- Services New Runtime

slide-34
SLIDE 34

F7212-090617

Helping Developers find their Inner Peace

slide-35
SLIDE 35

Support Services

> Smart Routing > API Management > Caching Service > Configuration > Messaging > SSO > Registry

35

Application Logic

> Client-side Load Balancing > Service Registration > Circuit Breaker > Distributed Tracing

Application Logic

> Client-side Load Balancing > Circuit Breaker

Support Services

> Distributed Tracing > API Management > Caching Service > Messaging > SSO > Registry > Configuration > Server-side Load Balancing

EVOLUTION OF MICROSERVICES (2014 - FUTURE)

Support Services

> API Management > Caching Service > Messaging > SSO

Application Logic

> Registry > Configuration > Server-side Load Balancing > Client-side Load Balancing > Distributed Tracing > Circuit Breaker > Fault Injection

2014 Current Future

slide-36
SLIDE 36

RED HAT OPENSHIFT APPLICATION RUNTIMES

Providing curated set of integrated runtimes and frameworks that standardizes Cloud Native App Dev

36

RED HAT OPENSHIFT

RED HAT OPENSHIFT APPLICATION RUNTIMES

APPLICATIONS LIFECYCLE MANAGEMENT CONTAINER ORCHESTRATION & MANAGEMENT (KUBERNETES)

Amazon Web Services Microsoft Azure Google Cloud OpenStack Datacenter Laptop

YOUR INFRASTRUCTURE YOUR APPS AND SERVICES

SUPPORTING MIDDLEWARE SERVICES Reactive Vert.x MicroProfile WildFly Swarm Spring Boot Tomcat JavaScript Node.js Java EE JBoss EAP

Launch Service

✓ Simplified development ✓ Strategic flexibility ✓ DevOps automation

slide-37
SLIDE 37

Optimized for Kubernetes and DevOps

  • Reduce complexity of build cloud native applications
  • Supports kubernetes features that replace traditional standalone backing

services

  • Externalized Configuration: Kubernetes ConfigMap
  • Service Discovery: Kubernetes Services (DNS)
  • Load Balancing: Kubernetes Replication Controller
  • Auto-Restart: Kubernetes Health Check w/MicroProfile Health Check API
  • Metrics: MicroProfile Metrics API with CNCF Prometheus
  • Distributed Tracing: Istio & OpenTracing with CNCF Jaeger
slide-38
SLIDE 38

RHOAR Node.js Support and Lifecycle

  • Support LTS releases
  • Align with Node.js

lifecycle

  • Developer builds of

non-LTS releases

slide-39
SLIDE 39

https://developers.redhat.com/launch https://github.com/bucharest-gold/node-rpm https://github.com/bucharest-gold/centos7-s2i-nodejs

slide-40
SLIDE 40

THANK YOU

plus.google.com/+RedHat linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat