5 minutes to enterprise javascript - lance ball...rhoar - red hat openshift application runtime for...
TRANSCRIPT
![Page 1: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/1.jpg)
5 Minutes to Enterprise JavaScript With Red Hat OpenShift Application Runtimes
Lance BallPrincipal Software Engineer
Wednesday, May 9 2018
John ClinganProduct Manager RHOAR
![Page 2: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/2.jpg)
NODE.JSIs a Thing at Red Hat
![Page 3: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/3.jpg)
![Page 4: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/4.jpg)
● 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?
![Page 5: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/5.jpg)
OK… But Why Node.js?
![Page 6: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/6.jpg)
In the Beginning, there was the Monolith
My App
![Page 7: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/7.jpg)
The Monolith Begat Microservices
µ svcA
µ svcB
µ svcC
µ svcD
µ svcJ
µ svcH
µ svcF
µ svcG
µ svcE
![Page 8: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/8.jpg)
Small, discrete services that do one thing well - usually as REST over HTTP
![Page 9: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/9.jpg)
This is what Node.js does well
![Page 10: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/10.jpg)
But waitMy application is very complex!
![Page 11: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/11.jpg)
Application complexity shifts from application code to the runtime platform
![Page 12: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/12.jpg)
Logging
µ svcA
µ svcB
µ svcC
µ svcD
µ svcJ
µ svcH
µ svcF
µ svcG
µ svcE
Service Discovery
Routing Elasticity
Tracing
Authn/z Resilience
Service Mesh
![Page 13: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/13.jpg)
Application logic should be simple
![Page 14: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/14.jpg)
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
![Page 15: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/15.jpg)
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
![Page 16: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/16.jpg)
Yeah and… now what?
![Page 17: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/17.jpg)
Didn’t you say “Enterprise”?
![Page 18: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/18.jpg)
µ-Services are not a panacea
µ svcA
µ svcB
µ svcC
µ svcD
µ svcJ
µ svcH
µ svcF
µ svcG
µ svcE
![Page 19: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/19.jpg)
Some services will fail
µ svcA
µ svcB
µ svcC
µ svcD
µ svcJ
µ svcH
µ svcF
µ svcG
µ svcE
![Page 20: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/20.jpg)
Causing more services to fail
µ svcA
µ svcB
µ svcC
µ svcD
µ svcJ
µ svcH
µ svcF
µ svcG
µ svcE
![Page 21: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/21.jpg)
eval(cascading failures) > dead application
µ svcA
µ svcB
µ svcC
µ svcD
µ svcJ
µ svcH
µ svcF
µ svcG
µ svcE
![Page 22: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/22.jpg)
Let’s get enterpriseyWith RHOAR circuit breakers
![Page 23: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/23.jpg)
![Page 24: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/24.jpg)
![Page 25: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/25.jpg)
![Page 26: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/26.jpg)
![Page 27: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/27.jpg)
![Page 28: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/28.jpg)
![Page 29: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/29.jpg)
RHOAR Demo
![Page 30: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/30.jpg)
Logging
µ svcA
µ svcB
µ svcC
µ svcD
µ svcJ
µ svcH
µ svcF
µ svcG
µ svcE
Service Discovery
Routing Elasticity
Tracing
Authn/z Resilience
Service Mesh
![Page 31: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/31.jpg)
Commercial Break
![Page 32: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/32.jpg)
F7212-090617
DEVELOPERS DEMAND MORE OPTIONS
32
ENTERPRISES EXPAND USE OF LANGUAGES, FRAMEWORKS, & RUNTIMES
![Page 33: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/33.jpg)
F7212-090617
Developers are Asked to Manage a Lot of Change
DevOps
Container-ization
Micro-Services
New Runtime
![Page 34: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/34.jpg)
F7212-090617
Helping Developers find their Inner Peace
![Page 35: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/35.jpg)
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
![Page 36: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/36.jpg)
RED HAT OPENSHIFT APPLICATION RUNTIMESProviding 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 CloudOpenStackDatacenterLaptop
YOUR INFRASTRUCTURE
YOUR APPS AND SERVICES
SUPPORTING MIDDLEWARE SERVICES
ReactiveVert.x
MicroProfile WildFly Swarm
Spring BootTomcat
JavaScript Node.js
Java EE JBoss EAP
Launch Service✓ Simplified
development
✓ Strategic flexibility
✓ DevOps automation
![Page 37: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/37.jpg)
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
![Page 38: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/38.jpg)
RHOAR Node.js Support and Lifecycle
● Support LTS releases
● Align with Node.js lifecycle
● Developer builds of non-LTS releases
![Page 39: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/39.jpg)
https://developers.redhat.com/launchhttps://github.com/bucharest-gold/node-rpmhttps://github.com/bucharest-gold/centos7-s2i-nodejs
![Page 40: 5 Minutes to Enterprise JavaScript - Lance Ball...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](https://reader035.vdocuments.us/reader035/viewer/2022062602/5ece47272f3e8428982a4104/html5/thumbnails/40.jpg)
THANK YOUplus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHat