MODERN IT ARCHITECTURE

Similar documents
MODERN APPLICATION ARCHITECTURE DEMO. Wanja Pernath EMEA Partner Enablement Manager, Middleware & OpenShift

Microservices with Red Hat. JBoss Fuse

Go Faster: Containers, Platforms and the Path to Better Software Development (Including Live Demo)

Red Hat Roadmap for Containers and DevOps

CUSTOMIZE & SECURE YOUR ENTERPRISE MOBILE SALESFORCE INTEGRATIONS LIKE RED HAT

ACCELERATE APPLICATION DELIVERY WITH OPENSHIFT. Siamak Sadeghianfar Sr Technical Marketing Manager, April 2016

Microservices and Container Development

Container in Production : Openshift 구축사례로 이해하는 PaaS. Jongjin Lim Specialist Solution Architect, AppDev

MOBILIZING AND SECURING RED HAT JBOSS BPM SUITE & BRMS

Monolith to Microservices

WHITE PAPER. RedHat OpenShift Container Platform. Benefits: Abstract. 1.1 Introduction

TEN LAYERS OF CONTAINER SECURITY

Backup strategies for Stateful Containers in OpenShift Using Gluster based Container-Native Storage

Cloud Native Architecture 300. Copyright 2014 Pivotal. All rights reserved.

Docker and Oracle Everything You Wanted To Know

Openshift: Key to modern DevOps

[Docker] Containerization

A4M36ISS: Introduction. Jiří Pechanec QA Engineer September 17 th, 2015

Red Hat OpenShift Roadmap Q4 CY16 and H1 CY17 Releases. Lutz Lange Solution

Amir Zipory Senior Solutions Architect, Redhat Israel, Greece & Cyprus

Przyspiesz tworzenie aplikacji przy pomocy Openshift Container Platform. Jarosław Stakuń Senior Solution Architect/Red Hat CEE

개발자와운영자를위한 DevOps 플랫폼 OpenShift Container Platform. Hyunsoo Senior Solution Architect 07.Feb.2017

RED HAT OPENSHIFT A FOUNDATION FOR SUCCESSFUL DIGITAL TRANSFORMATION

Cloud Native Java with Kubernetes

Containers, Serverless and Functions in a nutshell. Eugene Fedorenko

A Greybeard's Worst Nightmare

Eclipse MicroProfile with Thorntail (formerly WildFly Swarm)

Taming your heterogeneous cloud with Red Hat OpenShift Container Platform.

Accelerate at DevOps Speed With Openshift v3. Alessandro Vozza & Samuel Terburg Red Hat

Transforming the Internal IT Landscape with APIs. Scott Cranton Director, Application Platform SAs April 2018

I keep hearing about DevOps What is it?

RED HAT CLOUDFORMS. Chris Saunders Cloud Solutions

The four forces of Cloud Native

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

Learn. Connect. Explore.

Microservices a security nightmare? GOTO Nights Zürich - March 3, 2016 Maximilian Container Solutions Switzerland

CADEC 2016 MICROSERVICES AND DOCKER CONTAINERS MAGNUS LARSSON

JBOSS MIDDLEWARE TO THE CLOUD. MICHAEL EPLEY Sr JBoss Solutions Architect, IC Specialist 2014 June

Open Source IoT. Eclipse IoT. Tim De Borger - Senior Solution Architect 13/06/2017

Open Cloud Engine - An Open Source Cloud Native Transformer

AGILE RELIABILITY WITH RED HAT IN THE CLOUDS YOUR SOFTWARE LIFECYCLE SPEEDUP RECIPE. Lutz Lange - Senior Solution Architect Red Hat

Java Architectures A New Hope. Eberhard Wolff

Connecting your Microservices and Cloud Services with Oracle Integration CON7348

Hitchhikers Guide To Modern Enterprise JavaScript. Jay Balunas Senior Engineering Manager May 4th, 2017

Microservices mit Java, Spring Boot & Spring Cloud. Eberhard Wolff

RED HAT JBOSS FUSE. A lightweight, flexible integration platform

CREATING A CLOUD STRONGHOLD: Strategies and Methods to Manage and Secure Your Cloud

SBB. Java User Group 27.9 & Tobias Denzler, Philipp Oser

Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.

Oracle Application Container Cloud

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

OPENSHIFT CONTAINER PLATFORM TECHNICAL OVERVIEW. Presenter Presenter s title Date

API, DEVOPS & MICROSERVICES

Introduction to Container Technology. Patrick Ladd Technical Account Manager April 13, 2016

MICROSERVICES I PRAKTIKEN från tröga monoliter till en arkitektur för kortare ledtider, högre skalbarhet och ökad feltolerans

Open Cloud Engine - An Open Source Cloud Native Platform

Advanced Continuous Delivery Strategies for Containerized Applications Using DC/OS

IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion.

Software Design COSC 4353/6353 DR. RAJ SINGH

WHITEPAPER. Embracing Containers & Microservices for future-proof application modernization

FROM VSTS TO AZURE DEVOPS

THE STATE OF CONTAINERS

August, HPE Propel Microservices & Jumpstart

API Connect. Arnauld Desprets - Technical Sale

OpenShift 3 Technical Architecture. Clayton Coleman, Dan McPherson Lead Engineers

Red Hat Containers Roadmap. Red Hat A panel of product directors

CONTAINERS AND MICROSERVICES WITH CONTRAIL

OpenShift Roadmap Enterprise Kubernetes for Developers. Clayton Coleman, Architect, OpenShift

Nevin Dong 董乃文 Principle Technical Evangelist Microsoft Cooperation

ISTIO 1.0 INTRODUCTION & OVERVIEW OpenShift Commons Briefing Brian redbeard Harrington Product Manager, Istio

Microservices Meets Citizen Developers

A DEVOPS STATE OF MIND WITH DOCKER AND KUBERNETES. Chris Van Tuin Chief Technologist, West

Application Centric Microservices Ken Owens, CTO Cisco Intercloud Services. Redhat Summit 2015

UNDER THE HOOD. ROGER NUNN Principal Architect/EMEA Solution Manager 21/01/2015

To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,

The Modern & Agile Platform for Abstraction. Vasco Neves Application Platform Sales Specialist / Middleware

OPENSHIFT 3.7 and beyond

LOG AGGREGATION. To better manage your Red Hat footprint. Miguel Pérez Colino Strategic Design Team - ISBU

CONTINUOUS DELIVERY IN THE ORACLE CLOUD

There is no such thing as a microservice!

A Comparision of Service Mesh Options

OpenShift Dedicated 3 Release Notes

@unterstein #bedcon. Operating microservices with Apache Mesos and DC/OS

CLIs and Developers The Secret Sauce to a Brighter Mainframe. Chris Boehm Software Engineer CA Technologies

A DEVOPS STATE OF MIND. Chris Van Tuin Chief Technologist, West

Hiram Chirino Platform Architect June 5th Whats's new in Fuse 6.2

Love Containers, Love Devops, Love Openshift, Where's my business case?

Performance Monitoring and Management of Microservices on Docker Ecosystem

Industry-leading Application PaaS Platform

What s New in Red Hat OpenShift Container Platform 3.4. Torben Jäger Red Hat Solution Architect

Red Hat Atomic Details Dockah, Dockah, Dockah! Containerization as a shift of paradigm for the GNU/Linux OS

IT S COMPLICATED: THE ENTERPRISE OPEN SOURCE VENDOR RELATIONSHIP. Red Hat s POV

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

The Road to Istio: How IBM, Google and Lyft Joined Forces to Simplify Microservices

The Road to Digital Transformation: Increase Agility Building and Managing Cloud Infrastructure. Albert Law Solution Architect Manager

Multi-Arch Layered Image Build System

Red Hat OpenShift Application Runtimes 0.1

70-532: Developing Microsoft Azure Solutions

Transcription:

MODERN IT ARCHITECTURE

2 ABOUT ME

3 ABOUT ME

AGENDA 1. KEY CONCEPTS Microservices, containers, etc. 2. HOLISTIC VIEW Making businesses agile 3. ARCHITECTURE Faster, flatter, and more flexible 4. LAB MATERIALS Hands-on workshop 4

REST API WHAT ARE MICROSERVICES? CLIENT SERVICE CONTAINER Small, autonomous services that work together. DATASTOR E CONTAINER 5

HOW SMALL IS SMALL? As Robert C. Martin put it: Gather together those things that change for the same reason, and separate those things that change for different reasons. 6 http://bit.ly/2rnzusz

WHAT IS A CONTAINER? A container image is a lightweight, stand-alone, executable package of a piece of software that includes their entire runtime environment all of the files necessary to run: Programing language System tools Libraries, settings, etc. 7

8 CONTAINERS ARE BORING

2000 2005 2010 2015 CONTAINER HISTORY 2008: LINUX CONTAINER PROJECT (LXC) 2013: DOTCLOUD BECOMES DOCKER 2000: JAILS ADDED TO FREEBSD 2003: SELINUX ADDED TO LINUX MAINLINE 2006: GENERIC PROCESS CONTAINERS 2008: KERNEL AND USER NAMESPACES 2013: RED HAT ENTERPRISE LINUX 2015: RHT CONTAINER PLATFORM 2001: LINUX -VSERVER PROJECT 2005: FULL RELEASE OF SOLARIS ZONES 2007: GPC RENAMED CONTROL GROUPS 2013: DOTCLOUD PYCON LIGHTNING TALK 2014: GOOGLE KUBERNETES 2015: STANDARDS VIA OCI AND CNCF 9

1 0 REST API REST API REST API REST API REST API BUT, ENABLE TRUE MICROSERVICES CLIENT CLIENT CLIENT CLIENT CLIENT SERVICE NodeJS Service Spring Boot Service JBoss EAP Service Tomcat Service CONTAINER CONTAINER CONTAINER CONTAINER CONTAINER DATASTOR E JBoss DG Datastore MySQL Datastore PostgreSQL Datastore MongoDB Datastore CONTAINER CONTAINER CONTAINER CONTAINER CONTAINER

1 1 MICROSERVICES ARE JUST SOA 2.0? Monolith SOA MSA

1 2 MICROSERVICES ARE NOT A TECH-ONLY DISCUSSION

CONWAY S LAW Organizations which design systems... are constrained to produce designs which are copies of the communication structures of these organizations 1 3 http://bit.ly/2sqmc1r

HOW WILL YOU ACHIEVE ORGANIZATION AGILITY? SOA/ ESB DevOps Eventdriven Microservices API 14

WHAT IS A MICROSERVICES ARCHITECTURE (MSA)? 1 5 http://bit.ly/2suuabg

1 6 PRINCIPLES AND PRACTICES Independence aids agility Modeled around business domains Culture of automation (DevOps) Isolate deployment and configuration changes (independence) Control costs more effectively (scaling) Release independently (deployment) Adopt technology more quickly (polyglot) Antifragile - increased robustness and resilience under pressure API / contract focused (promises) Decentralized data management

1 7 BENEFITS OF MSA? FAST TIME TO MARKET EFFICIENCY SCALABILITY Small autonomous services can be developed and delivered faster Automating delivery and monitoring of small services is easier Fine grained scalability is easier and uses less resources

1 8 REST API REST API REST API REST API CHALLENGES OF MSA? CLIENT CLIENT CLIENT CLIENT HOW DO I MANAGE THIS? NodeJS Service Spring Boot Service JBoss EAP Service Tomcat Service CONTAINER JBoss DG Datastore CONTAINER MySQL Datastore CONTAINER PostgreSQL Datastore CONTAINER MongoDB Datastore CONTAINER CONTAINER CONTAINER CONTAINER

!? 1 9 http://bit.ly/2sttwxs

2 0 WE NEED STANDARDS! How is incomplete or outdated documentation handled? How are new services integrated into the ecosystem? What if a downstream service you call takes longer than normal to respond? What action do you take? What is a good citizen service in your system? How should all services emit health and general monitoring-related metrics? Mandate connection pooling? Circuit breaker criteria? What about build, test, deploy, and release? Etc...

2 1 http://bit.ly/2sqbrd8

2 2 http://bit.ly/2snfcrd

2 3 http://bit.ly/2snbrch

2 4 It s about finding the right BALANCE between both CULTURE and TOOLS

2 5 CONTAINER APPLICATION PLATFORM Self-Service Standards-based Multi-language Web-scale Automation Collaboration Seamless Secure Open Source Enterprise Grade

CONTAINER DEPLOYMENT & MANAGEMENT OpenShift Container Platform provides features like: Deploy Independently CI/CD (DevOps) Scale Independently Antifragile Release Independently Polyglot 26

27 POLYGLOT

SETUP WORKSHOP ENVIRONMENT

Workshop Material http://naps-redhat.com/ Login Credentials http://naps-redhat.com/files/lab_info.xlsx OpenShift Console 1 OpenShift Console 2 https://master.ocp.naps-redhat.com:8443/console/ https://master.ocp.lab-emergent360.com:8443/console/ 29 Remote Desktop 1 Remote Desktop 2 Remote Desktop 3 Remote Desktop 4 Remote Desktop 5 https://85.190.181.16/guacamole/#/ https://31.220.69.63/guacamole/#/ https://85.190.177.63/guacamole/#/ https://85.190.180.29/guacamole/#/ https://153.92.39.111/guacamole/#/

COOLSTORE APPLICATION

3 1 COOLSTORE APPLICATION Online shop for selling products Web-based polyglot application using AngularJS Node Java with multiple frameworks (Spring, Java EE, etc) Microservices architecture Deployed using containers

3 2 COOLSTORE MICROSERVICES

3 3 COOLSTORE MSA Web UI Angular NodeJS Coolstore Gateway JBoss FIS Inventory Service JBoss EAP Catalog Service JWS Cart Service JBoss EAP PSQL PSQL

LAB 1 DEPLOYING A FAST-MOVING MONOLITH

SOURCE CONTROL MANAGEMENT 2 clone 1 fork Developer commit Developer Git Repository 3 4 pull request Project Git Repository 35

OPS DEV BUILDING CONTAINER IMAGES WITH SOURCE-TO-IMAGE (S2I) CODE Git Repository code BUILD Source-to-Image (S2I) Container Image Image Registry DEPLOY Application Container deploy 36

DEPLOY CODE WITHOUT BUILD DELAYS OpenShift write code JBoss Developer Studio rsync HotSwap Spring Boot Service CONTAINER Developer Shell rsync HotSwap JBoss EAP Service CONTAINER 37

BUILDING QUALITY INTO THE PROCESS 2 clone 1 fork Developer commit Developer Git Repository 3 4 pull request Project Git Repository review pull request 5 6 merge pull request Code Reviewer 38

CONTINUOUS DELIVERY PIPELINE Inventory TEST git push Team Git Repo Build JAR Build docker Image Deploy to INV TEST Run Tests in INV TEST CoolStore TEST CoolStore PROD Deploy to TEST Run Tests in in TEST Deploy to PROD (no traffic) Go Live Switch Production Traffic Approve? 39

END TO END ENVIRONMENT CONSISTENCY VCS (Git) JBDS Run Build CDK Nexus (Library Management) Deployment Pipeline Jenkins Test Automatic Testing Developer s Local Env (laptop, desktop) Release management 40

LAB 2 STRANGLING THE MONOLITH

STRANGLING THE MONOLITH DESIGN PATTERN Strangling - incrementally replacing functionality in app with something better (cheaper, faster, easier to maintain). As functionality is replaced, dead parts of monolith can be removed/retired. You can also wait for all functionality to be replaced before retiring anything! You can optionally include new functionality during strangulation to make it more attractive to business stakeholders. Time 42 http://paulhammant.com/2013/07/14/legacy-application-strangulation-casestudies

LAB 3 MICROSERVICE INTEGRATION PATTERNS

CLIENT AGGREGATION BENEFITS No development bottleneck on the server / ESB-style funnel Reuse of functionality DRAWBACKS Network bandwidth Unfriendly protocols - web proxies, ports, etc. Unnecessarily complicated 44

CHAINING BENEFITS Client code simpler - there is only one single entry into the chain Less network bandwidth DRAWBACKS Cascading failures Complex stack traces when things go wrong Exposes internal structure of application logic 45

Client SERVICE RESILIENCE PATTERN microservice API JBoss Fuse microservice API JBoss Fuse microservice API JBoss Fuse microservice API microservice microservice API microservice SLOW!! Chain reaction 46

API GATEWAY BENEFITS Encapsulates internal structure Less chatty network traffic Simplified client code DRAWBACKS Bottlenecking with the addition of new services 47

API GATEWAY MICROSERVICE COMPOSITION Auto-detects routes Application Container Camel route Camel Spring Boot Starter Configurations Auto-configure Camelcontext, register Camel utilities Auto-wires components Tomcat, Undertow JDBC Messaging (application.properties/yml) 48

THANK YOU plus.google.com/+redhat facebook.com/redhatinc linkedin.com/company/red-hat twitter.com/redhatnews youtube.com/user/redhatvideos

MICROSERVICES ARE NOT A TECH-ONLY DISCUSSION

VALUE OF SERVICE 51 51

IT COMMODITIZATION 52 52

Hystrix Fallback Slow! API Service Timeout microservice API JBoss Fuse No response! SaaS <camelcontext xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="direct:start"/> <hystrix> <to uri="http://fooservice.com/slow"/> <onfallback> <transform> <constant>fallback message</constant> </transform> </onfallback> </hystrix> <to uri="mock:result"/> </route> </camelcontext> 53

5 4 COOLSTORE APPLICATION Web UI NodeJS Coolstore Gateway JBoss FIS Turbine Server Hystrix Dashboard Inventory Service JBoss EAP Catalog Service JWS Cart Service JBoss EAP PSQL MongoDB

EVENT-DRIVEN MICROSERVICES SERVICE ROUTE SERVICE Rebalance traffics Redirect request to available Pods POD POD POD Health Checks periodically performs diagnostics on a running container. POD POD Replace failing pod Starts another pod and bind to service 55

Twitter FB Salesforce XML JSON HL7... RED HAT JBOSS FUSE REST API microservice Resource Connector Database Msg Broker SaaS. HTTP Kafka. Netty FTP 160+ Smart Endpoints. 56

RED HAT JBOSS FUSE microservice Enterprise Integration Patterns microservice microservice microservice microservice 57

3Scale API management API microservice by RED HAT JBOSS FUSE Swagger API Doc Exposes REST DSL External clients Community, Partners, Customers Consume API Data Format Transform microservice by RED HAT JBOSS FUSE microservice by RED HAT JBOSS FUSE 58

59

60 Inventory

Inventory Catalog 61

62

63

BLUE/GREEN DEPLOYMENT PART 1 CI/CD PIPELINE Approve? Deploy PROD (no traffic) Go Live Switch Traffic On deploy new version Inventory Green Inventory Blue Router 64

BLUE/GREEN DEPLOYMENT PART 2 CI/CD PIPELINE Approve? Deploy PROD (no traffic) Go Live Switch Traffic On Inventory Green switch production traffic Inventory Blue Router 65

6 6 * Field survey conducted by ActualTech Media of more than 1,200 IT professionals with regard to their thoughts around Software-defined storage (SDS) and Human-computer interaction (HCI).

Agile Integration Distributed Integration Lightweight Pattern Based Reusable Connectors Community Sourced Container Cloud native solutions Lean artifacts, individually deployable Container based scaling and high availability Cloud native solutions Lean artifacts, individually deployable Container based scaling and high availability API Well defined, reusable, and well managed end-points Ecosystem leverage Flexibility Scalability Re-Usability 67