Vous êtes sur la page 1sur 41

January 2018

TRANSITIONING TO CLOUD-NATIVE DEVELOPMENT WITH


RED HAT OPENSHIFT APPLICATION RUNTIMES (RHOAR)

Syed Rasheed
Solution Marketing Manager
AGENDA

• Drivers of change

• Understand Cloud Native Development

• Customer Pains and Needs

• Introduction to RHOAR

• Cloud Native Journey

• Conclusion and Q&A


BUSINESS REALITIES OF SOFTWARE DRIVEN WORLD

74% 72% 68% 66%


New Relevance of
Keeping Competitors
entrants products or
current with ability to
disrupting services 3
new take business
the business years from
technologies away
model now

WHAT TO DO? HOW TO PREPARE?


KMPG CEO Outlook Survey https://home.kpmg.com/xx/en/home/insights/2015/07/ceo-outlook-survey.html 3
SOFTWARE – APPROACHING A ZERO DAY EVENT
Years

Months

Zero
Weeks Day

16 MINUTES
…FROM CODE CHECK-IN TO A MULTIREGIONAL
DEPLOYMENT
4
"THE ONLY SUSTAINABLE ADVANTAGE YOU CAN
HAVE OVER OTHERS IS AGILITY, THAT’S IT.
BECAUSE NOTHING ELSE IS SUSTAINABLE."
CLOUD NATIVE DEVELOPMENT IS ABOUT
RESPONDING TO CHANGE WITH

SPEED, RESILIENCY AND AGILITY

46X 440X 96X 5X


More Faster Lead Faster Mean Lower
Deployment time for time to Change rate
frequency changes recovery failure

6
2017 State of DevOps Report https://puppet.com/system/files/2017-09/2017-state-of-devops-report-puppet-dora.pdf
CLOUD NATIVE APPLICATION DEVELOPMENT
Red Hat Perspective

Cloud-native is an approach to building and


running applications.

Service based • Service based as in modular, loose coupling e.g


Containers Microservices
Architecture
• Containers as in portable deployment and
execution unit
• DevOps Automation as in using collaborative
processes and automation from dev to deploy e.g
CI/CD, Autoscale
APIs based DevOps • APIs based communication e.g no shared models,
Comms. Automation
no direct linking

It is not about infrastructure like public, private


or hybrid cloud
Customers are adopting Private, Hybrid and
Multi-cloud strategies.

59% are planning or already have a multi-cloud


environment

Red Hat Global Technology Adoption Outlook, 2017


“Microservices are being used to modernize
existing applications as much as build new
applications”
(66% JBoss, 70% OpenShift Customers)

Red Hat TechValidate Survey, Nov 2017


Customers need multiple runtimes and
frameworks for microservices
87% of respondents are using or considering
multiple technologies for microservices

Red Hat TechValidate Survey, Nov 2017


CLOUD NATIVE RAMP UP JOURNEY

Cloud
Cloud Native
Microservices
Resilient and API first
Fault tolerant and
Cloud resilient design
architecture

Enabled
Strangle the
Monolith
Cloud
Ready
Lift and Shift to
Containers
11
RED HAT OPENSHIFT APPLICATION RUNTIMES
Providing curated set of integrated runtimes and frameworks that standardizes Cloud Native App Dev

YOUR APPS AND SERVICES

✓ Simplified RED HAT OPENSHIFT APPLICATION RUNTIMES

development Launch Service

Reactive MicroProfile Spring Boot JavaScript Java EE JBoss

✓ Strategic
Vert.x WildFly Swarm Tomcat Node.js EAP

APPLICATIONS LIFECYCLE MANAGEMENT


flexibility
SUPPORTING MIDDLEWARE SERVICES

✓ DevOps
CONTAINER ORCHESTRATION & MANAGEMENT (KUBERNETES)

automation RED HAT OPENSHIFT

Laptop Datacenter OpenStack Amazon Web Services Microsoft Azure Google Cloud

YOUR INFRASTRUCTURE
12
SPEED UP APPLICATION DEVELOPMENT AND DELIVERY
RHOAR Pain-features-benefits

Distributed App • Integration with OpenShift and Middleware services


Development (MSA) is • Launch Service Simpler
• Application Missions and Boosters
hard
(ARCHITECTURE)
Development

One “opinionated” tool • Multi-Cloud deployment


for everything and • Multi-Runtimes and Frameworks Strategic
Right fit for your apps
lockin risks
(PLATFORM)

Flexibility

Siloed development, • Integration with CI/CD tools e.g. Git, Jenkins and Maven etc.
test, deployment and • DevOps pipeline automation e.g. A/B, Canary deployments DevOps
etc.
waterfall processes
(PROCESS) • Alignment with Openshift.io dev tools Automation

Simplicity + Choice + Automation = Speed with Standardization


RHOAR RUNTIMES USE CASES
Build and Deploy All Your Java or JavaScript Apps on OpenShift
Runtimes Development Target

JBoss EAP Leading open-source Java EE-based application runtime for building, deploying, and
executing highly transactional Java applications and services.
WildFly Builds bootable Java applications with only the needed Java libraries and bootstrap
Swarm code. With its MicroProfile compatibility, it accelerates the transition to
microservices leveraging existing Java EE experience.
Vert.x Builds distributed and reactive applications on top of a JVM using an asynchronous,
non-blocking development model. Vert.x is great for building very responsive
applications that require high concurrency and low latency.
Node.js Node.js enables developers to create reactive, event-driven, and non-blocking
server-side JavaScript applications.
Tomcat Red Hat supports the JBoss Web Server embedded Tomcat container for running
Spring Boot applications. 14
GOALS:
1. Accelerate Software Delivery
2. Escape The 80/20 Trap

Software Powered
Innovation

Build New Modernize Existing


Applications Applications

15
APPLICATIONS TODAY

Monolith Applications Deployed on Application


Servers

HTML Javascript Web

Service Service Service

Service Service Service

Data Access

Application Server

16
MATURING THE APPLICATION LIFECYCLE
Monolith Java EE Lifecycle

Month Week Week Week Week Week Week Week Week Week Week Week Month
0 1 2 3 4 5 6 7 8 9 10 11 3
LIFT-AND-SHIFT MONOLITH TO CLOUD

HTML Javascript Web HTML Javascript Web

Service Service Service Service Service Service

Service Service Service Service Service Service

Data Access Data Access

Application Server

18
LIFT-AND-SHIFT MONOLITH TO CLOUD

CONTAINER CONTAINER CONTAINER

HTML Javascript Web

JBoss EAP JBoss EAP JBoss EAP


Service Service Service

CONTAINER CONTAINER CONTAINER


Service Service Service

Data Access
JBoss EAP JBoss EAP JBoss EAP

19
MATURING THE APPLICATION LIFECYCLE
Monolith Java EE Lifecycle
Fast Moving Java EE Monolith

Month Week Week Week Week Week Week Week Week Week Week Week Month
0 1 2 3 4 5 6 7 8 9 10 11 3
20
THE FAST MOVING MONOLITH

• Refactored to REST and JavaScript


• Adopted Container on Red Hat OpenShift
• Automated Testing
• Redefined Dev and Ops Boundaries
• Continuous Deployment Pipeline
• Zero Downtime Release to Production
• Release Cycles From 3 months to 1 Week

21
MICROSERVICES

Web

HTML Javascript Web


Runtime

Service Service Service

Service Service Service Service Service Service

Data Access Runtime Runtime Runtime

Service Service Service


Application Server
Runtime Runtime Runtime

22
MATURING THE APPLICATION LIFECYCLE
Monolith Lifecycle
Fast Moving Java EE Monolith
Java EE Microservices

Optimizing for Speed

Month Week Week Week Week Week Week Week Week Week Week Week Month
0 1 2 3 4 5 6 7 8 9 10 11 3
23
VERT.X REACTIVE TOOLKIT FOR MICROSERVICES
Vert.x is a toolkit to build distributed and reactive
applications on top of the JVM using an asynchronous
nonblocking development model.

● Responsive: fast, is able to handle a large


number of events / connections
● Elastic: scale up and down by just starting
and stopping nodes, round-robin
● Resilient: failure as first-class citizen, self-
healing
● Asynchronous message-passing:
asynchronous nonblocking development
model
● Very efficient resource utilization, ideal
for cloud
WILDFLY SWARM
RIGHTSIZE RUNTIME FOR YOUR JAVA APPS

WildFly Decomposed
● Compose WildFly around your
application
● Just enough Enterprise Java for your
microservices package in Uber jar
● With additional functionality outside
Java EE like NetFlix OSS libraries etc.
UberJar
● Bundle your application
● The fractions to support it
● Maven repositories with dependencies
● With bootstrap code
Fractions
● WF Swarm compositional units providing
specific runtimes capabilities and means
to configure them
Optimizing Java EE for a Microservices Architecture

Release 1.2 Rapidly Build Standardize


iterate consensus
and innovate
JAX-RS
CDI
JSON-P
Config

26
MICROPROFILE COMMUNITY

27
• Microservices for Developers using Spring Framework
• Make OpenShift the best place to run Spring (MicroProfile, Java EE, Vert.x, ...) apps.
• Tested and verified

• OpenShift Java Runtime


• JBoss Web Server (Tomcat) Embedded Container
• JPA, JAX-RS, Health Checks, SSO and more

• Leverage Kubernetes and (istio in the future)


• Spring-cloud-kubernetes project

• Provide a “supported” stack


• Replace Pivotal services with Red Hat services

28
SPRING BOOT CAPABILITIES

Feature Red Hat Feature Replaces

Servlet Container JWS Tomcat Community Tomcat


Undertow (Future)

Service Discovery Kubernetes DNS Pivotal Registry


Istio Eureka/Zookeeper

Health Check Kubernetes / Istio N/A

Configuration Kubernetes Configmap Spring Config Server


Zookeeper

Single Sign-on Red Hat SSO / Istio-auth Single Sign-on for PCF

Load Balancing Kubernetes w/Ribbon Plain Ribbon


Envoy Proxy
ON THE HORIZON
Evolution of Microservices (2014 - Future)
Simplification
Microservice Business Logic Microservice Business Logic Microservice Business Logic

Client-side Load Service Client-side Load Supporting Services


Circuit Breaker
Balancing Registration Balancing
API Mgmt Messaging

Commodification
Distributed
Circuit Breaker Supporting Services Cache / DataGrid SSO Service
Tracing
Distrib. Tracing Smart Routing
Container Platform
Supporting Services API Mgmt Messaging Services
Distributed
Smart Routing Cache / DataGrid SSO Service + Istio
Tracing
Distrib. Tracing Smart Routing
API Mgmt Messaging Container Platform
Cache / Services Server-side Circuit Server-side
SSO Service Load Balancing Breaking Load Balancing
DataGrid
Configuration Service Configuration Service Configuration Service
Service Registry (configmap) Registry (configmap) Registry

Infrastructure Infrastructure Infrastructure

2014 Current Future


31
Istio
Service Mesh via sidecar containers

● Intelligent Routing & Load Balancing

● Language-agnostic resilience

● Fleet-wide policy enforcement

● In-depth telemetry and reporting

32
GET STARTED @ developers.redhat.com/rhoar
● developers.redhat.com/launch

● learn.openshift.com
BUILD YOUR SOFTWARE WITH RED HAT IN
OPEN INNOVATION LABS

EXPERIMENT IMMERSE YOUR TEAM CATALYZE INNOVATION


Rapidly build prototypes, do Work side-by-side with experts Bring modern application
DevOps, and be agile in a residency-style engagement development back to your team

3
4
HOW TO GET STARTED
GUIDANCE BOOKS FOR YOU

https://developers.redhat.com/resources/
35
HOW TO GET STARTED
REFERENCE ARCHITECTURES FOR YOU

https://access.redhat.com/article-type/reference-architecture
36
Conclusion
TRANSFORM YOUR BUSINESS - CLOUD NATIVE WAY

Business Development Operations


Align application strategy Choice of runtimes Standardization and
with business goals frameworks and guided dev predictability of DevOps

Respond to changes in Rapidly iterate, deploy to Deploy consistent platforms


marketplace quickly production faster with application visibility

Capture new business Self-service with automated High availability with auto
opportunities provisioning scaling

38
RED HAT OFFERINGS CLOUD NATIVE DEVELOPMENT

Service based
Containers and
Architecture
Orachestration
Microservices

API DevOps
Management Automation

39
THANK YOU
plus.google.com/+RedHat facebook.com/redhatinc

linkedin.com/company/red-hat twitter.com/RedHatNews

youtube.com/user/RedHatVideos
DECISION POINTS FOR SELECTING THE RUNTIMES
Selection
Project Type Framework Pref Learning Effort Deployment Pkg
Consideration
Cloud
Runtimes Native Cloud Enable (existing) Java EE Non-Java EE No Little Invest Thin Fat Hollow
(new)
Connect Refactor
Lift &
& &
Shift
Enhance Rewrite

EAP + + + + + + +
Swarm + + + + + + + + + +
Vert.x + + + + + + +
Node.js + + + + + +
Spring Spring
Tomcat + Boot + + + + + Boot

41

Vous aimerez peut-être aussi