The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native...

26
The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

Transcript of The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native...

Page 1: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

The Path to Cloud Native Applications with Red Hat

Nacim BoukhedimiSolution Architect

5th May 2018

Page 2: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

CONTAINERS & CLOUD-NATIVE ROADSHOW2

MONOLITHIC ARCHITECTURE

Application Server

HTML Javascript Web

Shopping CartInventoryCatalogs

Rating Payment Review

Data Access

Page 3: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

CONTAINERS & CLOUD-NATIVE ROADSHOW3

CLOUD-NATIVE APPS

BUILDING APPLICATIONS FOR THE CLOUD

Page 4: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

CONTAINERS & CLOUD-NATIVE ROADSHOW4

WHY CLOUD-NATIVE APPS?

FASTER SERVICE DELIVERY

46x more deployments

INCREASE SERVICE QUALITY

5x less failure96x faster recovery

REDUCE RISK OF DELIVERY

https://puppet.com/resources/whitepaper/state-of-devops-report

Page 5: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

CONTAINERS & CLOUD-NATIVE ROADSHOW5

MICROSERVICES ARCHITECTURE

Runtime

Web

Runtime

Service

Runtime

Service

Runtime

Service

Runtime

Service

Runtime

Service

Runtime

Service

Application Server

HTML Javascript Web

ServiceServiceService

Service Service Service

Data Access

Page 6: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

CONTAINERS & CLOUD-NATIVE ROADSHOW6

CLOUD-NATIVE IS MUCH MORE THAN YOUR APPLICATION ARCHITECTURECLOUD NATIVE

MICROSERVICES

Page 7: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

CONTAINERS & CLOUD-NATIVE ROADSHOW7

CLOUD-NATIVE APPLICATIONS

Service-based Architecture Containers DevOpsAPI

Page 8: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

CONTAINERS & CLOUD-NATIVE ROADSHOW8

THE PATH TO CLOUD-NATIVE APPS

A DIGITAL DARWINISM

SELF-SERVICE ON-DEMAND INFRA

EMBRACE DEVOPS AUTOMATION CONTINUOUS

DELIVERY

ADVANCED DEPLOYMENT TECHNIQUES

MICROSERVICES

AND ONLY THEN!

Page 9: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

CONTAINERS & CLOUD-NATIVE ROADSHOW9

THE PATH TO CLOUD-NATIVE APPS

A DIGITAL DARWINISM

SELF-SERVICE ON-DEMAND INFRA

EMBRACE DEVOPS AUTOMATION CONTINUOUS

DELIVERY

ADVANCED DEPLOYMENT TECHNIQUES

MICROSERVICES

FASTMONOLITH

Page 10: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

OpenShift Application Runtimes

Page 11: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

THE APPSERVER 2000-2014

Framework / APIs

App

Middleware Services

Operational Platform

App App App App App

Persistence | Security | Transaction | Messaging | HTTP

Deployment | Management | Monitoring | HA | Logging

Virtual Machine | Operating System

11

Page 12: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

SOFTWARE DEVELOPMENT IS CHANGING

ArchitectureInfrastructure

Monolith

N-Tier

Microservices

Datacenter

Hosted

Hybrid

Process

Waterfall

Agile

DevOps

Page 13: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

THE APPSERVER 2014-...

Runtime

App

Cloud Platform

Data

Build | Deploy | Scheduling | Scaling | Elasticity | Metrics | Logging

Security IMDG Messaging

Runtime

Svc

Runtime

Svc

Cloud Provider

Page 14: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

DEVELOPERS HAVE MORE CHOICE THAN EVER

Funktion

50% OF THE ENTERPRISE APP MARKET

Page 15: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

Modern, cloud-native application runtimes and an opinionated developer experience for organizations that are moving beyond 3-tier architectures and embracing cloud-native application development.

Page 16: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

RUNTIMES(Container images and Maven Artifacts)

JAVA EE(JBoss EAP)

MICROPROFILE(WildFly Swarm)

OPENSHIFT SERVICES

REACTIVE(vert.x)

NODE.JS APACHETOMCAT

TESTED FRAMEWORKS(Maven Artifacts)

SPRING BOOT / CLOUD

NETFLIX OSS Ribbon

Dev Experience/ OpenShift.io

Generators

IDE

etc.

Management

APM

Metrics

ServiceDiscovery Config.

Logging

Health Check

Load Balancing

CI/CDSSOMessaging IMDG API Mgmt

NETFLIX OSSHysterix ...

OpenShift Application Runtimes

Page 17: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

RUNTIMES(Container images and Maven Artifacts)

JAVA EE(JBoss EAP)

MICROPROFILE(WildFly Swarm)

REACTIVE(vert.x)

NODE.JS APACHETOMCAT

TESTED FRAMEWORKS(Maven Artifacts)

SPRING BOOT / CLOUD

NETFLIX OSS Ribbon

NETFLIX OSSHysterix ...

OpenShift Application Runtimes

Page 18: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

RUNTIMES(Container images and Maven Artifacts)

JAVA EE(JBoss EAP)

MICROPROFILE(WildFly Swarm)

OPENSHIFT SERVICES

REACTIVE(vert.x)

NODE.JS APACHETOMCAT

TESTED FRAMEWORKS(Maven Artifacts)

SPRING BOOT / CLOUD

NETFLIX OSS Ribbon

ServiceDiscovery Config.

Logging

Health Check

Load Balancing

CI/CDSSOMessaging IMDG API Mgmt

NETFLIX OSSHysterix ...

OpenShift Application Runtimes

Page 19: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

WILDFLY SWARM

Page 20: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

● Microservices offering for Java EE developers○ Wildfly Swarm components come from wildfly.

● Repackaging exercise○ Package only what you need○ Packaging the app server with your app

● Implementation of microprofile○ Combines Java EE and microservices technologies

● Built from WildFly○ Trusted and Reliable

Wildfly Swarm

Page 21: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

SPRING

Page 22: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

• First release of Rod Johnson’s work - June 2003

• Collection of Frameworks, Patterns & Templates

• IoC (Beans, Context, Core), ORM, Persistence/Tx, AOP, Web (MVC), Messaging, testing

• Mainly used as replacement of EJB (1.0, 2.0)

What is Spring ?

Page 23: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

● Path for developers already developing to the Spring Framework

○ Microservices for Developers using Spring Framework

● An opinionated approach to developing Spring-based microservices

● Getting started experience● Already Red Hat Certified with:

○ OpenShift Java S2I Image○ JBoss Web Server Embedded Tomcat Container

What is Spring Boot?

23

Page 24: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

ECLIPSE VERT.X

Page 25: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

Eclipse Vert.x

● Reactive Microservices toolkit to build distributed and reactive systems

● Polyglot - Java, JavaScript, jRuby, Python, Groovy, Scala

● Asynchronous Non-Blocking development model

● Simplified concurrency (event loop)● Ideal high-volume, low-latency applications Home - http://www.vertx.io

Page 26: The Path to Cloud Native Applications with Red Hat · 2018-05-23 · The Path to Cloud Native Applications with Red Hat Nacim Boukhedimi Solution Architect 5th May 2018

THANKS