Modern Platform Migrating Your Middleware Applications

2y ago
50 Views
2 Downloads
2.24 MB
33 Pages
Last View : 8d ago
Last Download : 3m ago
Upload by : Oscar Steel
Transcription

Migrating Your Middleware Applications to aModern PlatformOpenShift Container PlatformScott SeighmanSolutions Architectsseighma@redhat.com1

Enterprise ApplicationsThe Spectrum of Enterprise ApplicationsTomcatSpring Boot/ MVCReactiveWebFast Monoliths(Java EE,Spring)FastMonolithsTomcat,Spring MVC,SpringBootExisting, Java EE,Spring MVCSpringMSAFaaSMonolithDecomposition,Enterprise JavaMSAExisting Applications2Server-lessJavaMSAReactiveJSJava EEMSAJava EE - Mono toMicro / GreenfieldGreenfieldReactive JavaReactive Java/ PolyglotMSAGreenfieldJava / SpringMSAReactiveclient riptNew Applications

Migration ApproachesMigration & Modernization ApproachesModernizing Existing Apps Reuse existing functionality anddata as much as possible API-centric polyglotmicroservices architecture Move existing workloads to amodern deployment platform Autonomous development teams Agile development, continuousdeployment, DevOps culture Containerized & orchestratedcloud deployments 3Developing New ApplicationsApply new processes, products,and technology to existing apps

Application ModernizationApplication ModernizationLift & ShiftSmaller or frozen appsare candidates hereConnect & ExtendHighly scaled andhigh rate of changeapps are candidatesRe-writeExisting AppsHow muchwork requiredto ain as is4Not a target

Patterns in Modernizing WorkloadsPatterns in Modernizing WorkloadsLIFT & SHIFT 5Containerize existingworkloadsDeploy them on PaaS/CaaSKeep external integrationsand data on legacyLegacy applications have tobe well written and suitedCONNECT & EXTEND Legacy remains intactNew layer - new capabilitiesDeploy on PaaS/CaaSNew integration pointsbetween legacy and newlayers (Need for AgileIntegration)RE-WRITE Legacy is totally replacedNew interfaces and dataUse PaaS/CaaS to runSome data and features canbe re-wrapped, but mostlyare retired.

Patterns in Modernizing WorkloadsPatterns in Modernizing WorkloadsCONNECT & EXTENDLIFT & SHIFT Containerize existingworkloadsDeploy them on a PaaSKeep external integrationsand data on legacyLegacy applications have tobe well written and suitedFOCUS FOR THIS SECTION6 Legacy remains intactNew layer - new capabilitiesDeploy on PaaSNew integration pointsbetween legacy and newlayers (Need for AgileIntegration)RE-WRITE Legacy is totally replacedNew interfaces and dataUse PaaS to runSome data and features canbe re-wrapped, but mostlyare retired.

Migration QuestionsQuestions to Consider .7 What is your overall business objective for app modernization? Biggest perceived risks? How much are you spending on app maintenance? Lack of automation/IT standardization often the culprit How long does it take to get changes into production? And what is your success/fail ratio? Current skill set? Do you need training on newer technology before modernization? Consider future availability of skills in the workforce Regulatory/compliance requirements? Regional CCSP workloads Data Sovereignty

Lift & ShiftLift-and-Shift Monolith to the ceServiceServiceServiceData AccessApplication Server8Data Access

Red Hat Application Migration Toolkit9

Red Hat Application Migration ToolkitRed Hat Application Migration Toolkit10 Red Hat Application Migration Toolkit (RHAMT) is an assembly of opensource tools that enables large-scale application migrations andmodernizations The tooling consists of multiple individual components that provide supportfor each phase of a migration process The migrations supported include application platform upgrades,migrations to a cloud-native deployment environment, and also migrationsfrom several commercial products to the Red Hat JBoss EnterpriseApplication Platform

Red Hat Application Migration ToolkitRed Hat Application Migration Toolkit RHAMT is a rule-based migration tool that analyzes the APIs, technologies,and architectures used by the applications you plan to migrate1.2.3.4.5.6.11Uses rules to extract files from archivesDecompile filesScans and classifies file typesAnalyzes XML and other file contentAnalyzes the application codeBuilds the reports

Red Hat Application Migration ToolkitRed Hat Application Migration ToolkitCatalyze large scale Java applicationmodernizations and migrationsIBMWebSphere ASOracleWebLogic ServerJava EEupgradesJBoss EAP upgradesCloud readiness,containerizationPluggable:add your own rulesOracle JDK to OpenJDK MigrationsCommand LineInterface12WebConsoleEclipsePluginMavenPlugin Automate analysis Support effort estimation Accelerate code migration Bring workloads to OpenShift Free & Open Source Assembly of tools for each phaseof a transformation processHomepage - Documentation

Red Hat Application Migration ToolkitRed Hat Application Migration Toolkit RHAMT provides a number of different distributions to meet your needs, andall include detailed reports that highlight migration issues with effortestimation13 CLI Web Console Eclipse Plugin

Red Hat Application Migration ToolkitRHAMT CLI Example bin/rhamt-cli --sourceMode --input /path/to/source folder/--output /path/to/output folder/ --target eap:7The options are straightforward: –sourceMode indicates the input files are source files instead of compiled binaries–input path to the file or directory containing the files to be analyzed–output path to the directory to contain the reports–target technology to migrate to; used to determine the rules for the analysisOnce the analysis finishes, a message will be seen in the console indicating thepath to the report.Report created: /path/to/output folder/index.htmlAccess it at this URL: file:///path/to/output folder/index.html14

Red Hat Application Migration ToolkitRHAMT Web ConsoleStart the Web Console RHAMT HOME/run rhamt.shOpen the console in a browser: http://localhost:8080/rhamt-web15

Red Hat Application Migration ToolkitRHAMT Eclipse Plugin16

Red Hat Application Migration ToolkitRHAMT Oracle JDK to OpenJDK Migration OracleJDK to OpenJDK Migration Path 17This is accomplished by specifying oraclejdk as the source technology andopenjdk as the target technology, resulting in a report that highlights issueswhen performing this migration Analyze an existing Java application portfolio for required changes whenmoving from Oracle JDK to OpenJDK Source code of the application is not needed, binary format is sufficient App Server runtime independence that works for Tomcat, WebSphere,WebLogic, or Spring applications

RHAMT Demo18

Lift & ShiftLift-and-Shift Monolith to the viceServiceData AccessServiceServiceData Access19Service

Majestic MonolithMajestic nolith-29166d02222820

Majestic MonolithMajestic (Fast-Moving) Monolith21 Large organizations have a tremendous amount of resources invested in existingmonolith applications Looking for a sane way to capture the benefits of containers and orchestration withouthaving to complete rewrite OpenShift provides the platform for their existing investment with the benefit of a pathforward for microservice based apps in the future

Strangling the MonolithStrangling the Monolith22

Application RuntimesFrameworks & Runtimes for Kubernetes and OpenShift Build new and modernize existing applications,using cloud computing models and DevOpspractices to deliver applications and servicesquickly and frequently.23 Established and emergingruntimes, frameworks, andlanguagesLeverage your developers’enterprise Java expertise withminimal to no learning curve tomicroservicesPrescriptive/guideddevelopment via missions andboosters

Application RuntimesGuided Choice of Runtimes & Languages24ENTERPRISE JAVASPRING APPSJAVA MICROSERVICESJAVASCRIPT FLEXIBILITYREACTIVE SYSTEMSTOMCAT SIMPLICITY

AdvantagesAdvantages of a Modern (Container-Based) Architecture25 Be flexible Think bigger Work smarter Achieve (actual) standardization Write once, run anywhere Deliver exceptional application quality Use your favorite tools and languages

ResourcesSummary26 Application development teams are evolving their process, platform andarchitecture to meet modern business challenges There are multiple technical solutions for app modernization dependingon resources, regulations and risk Some organizations move faster than others Red Hat JBoss EAP and OpenShift Container Platforms RHOARprovides a trusted solution for today’s business-critical apps and asupported path to modern application architectures

ResourcesResources27 Path to Cloud Native Application Understanding Cloud-Native Apps Application Modernization Challenges on Integration Red Hat Process Automation IDC Business Value of OpenShift Whitepaper Agile Integration - A Blueprint for enterprise architecture

Red Hat Application Migration ToolkitRHAMT Resources Download Getting Started and-apis/RHAMT Forums lo-world/#fndtn-rhelDocumentation oad/https://developer.jboss.org/en/windup

29Thank youlinkedin.com/company/red-hatRed Hat is the world’s leading provider of enterpriseopen source software solutions. Award-winningsupport, training, and consulting services makeRed Hat a trusted adviser to the Fortune ideostwitter.com/RedHat

Why JBoss EAPWhy Migrate to JBoss EAP?Runtime [1][2](framework)Boot timeserver onlyBoot time including appdeploymentMemory usagewithout loadMemory usageunder loadMeasured[3]throughputJBoss EAP (Java EE)2 - 3 sec3 sec40 MB200 - 400 MB23K req/secJBoss EAP (Spring)2 - 3 sec7 sec40 MB500 - 700 MB9K req/secJBoss WS/Tomcat (Spring)0 - 1 sec8 sec40 MB0.5 - 1.5 GB8K req/secN/A3 sec30 MB0.5 - 2.0 GB11K req/secFat JAR (Spring Boot)Don’t believe it? Try it out yourself http://bit.ly/modern-java-runtimes[1] The microservice is a simple REST application.[2] All runtimes are using their default settings[3] The performance test was conducted with ApacheBench using 500K request with 50 users and keep-alive enabled.30

App Modernization & MigrationThe UmbrellaAPPLICATION MODERNIZATION & FRASTRUCTURECustomer value beyond cost - Digital transformationRE-BALANCEMAINTENANCEAND INNOVATION31DECREASE COMPLEXITY, REDUCE / AVOID VENDORINCREASELOCK-IN, INFLEXIBLEEFFICIENCYLICENSE MODELSINCREASE SPEED &BECOME MOREPRODUCTIVEREMOVETECHNICALDEBT & RISKADOPTAGILE METHODOLOGIES,DEVOPS

APPLICATION MODERNIZATION & MIGRATIONMIGRATIONMODERNIZATIONModularizeAdopt standardsReuse instead of RSIBM WebSphere, Oracle WebLogic,Glassfish, Community versions to EAP / JWS / JDGAGILEINTEGRATIONINTEGRATIONPLATFORMSFunctional (TIBCO, WebMethods,JCAPS, Cordys to JBoss Fuse)Data (JDV)Messaging (AMQ)STREAMLINEAPPLICATIONLIFECYCLEBUSINESS DECISIONMANAGEMENTClean technical debtDecouple, integrate, governAPIs, services, applications & cloudsAccelerate ideas toproductionAutomation & self-serviceContainerizationILOG, TIBCO, ActiveMatrix, Pega,Bonita, Oracle & IBM SuitesRed Hat JBoss BPMS & BRMSCI / CDOS (Windows/AIX/Unix to RHEL)Agile methodologyDevOps CATIONINFRASTRUCTUREVirtualization (RHEV)Containers (OpenShift)

App Modernization & MigrationRed Hat Application Migration & Modernization ProgramRed Hat provides the most comprehensivetechnologies, tools and services to support youCOMBINE TRANSFORMATIONTODAY and TOMORROWBENEFITSAPPROACH33FACTORY

JBoss EAP (Java EE) 2 - 3 sec 3 sec 40 MB 200 - 400 MB 23K req/sec JBoss EAP (Spring) 2 - 3 sec 7 sec 40 MB 500 - 700 MB 9K req/sec JBoss WS/Tomcat (Spring) 0 - 1 sec 8 sec 40 MB 0.5 - 1.5 GB 8K req/sec Fat JAR (Spring Boot) N/A 3 sec 30 MB 0.5 - 2.0 GB 11K r

Related Documents:

1.3 Software architecture and Middleware Middleware is Middleware is software glue Middleware is computersoftware that connects software componentsor applications. It is usedmost oftento support complex,distributed applications. Middleware is any software that allows other software tointeract In short, in the "Component-and-connector" view of a software architecture,

Migrating a SQL Server Database to Amazon Aurora MySQL (p. 93) Migrating an Amazon RDS for SQL Server Database to an Amazon S3 Data Lake (p. 110) Migrating an Oracle Database to PostgreSQL (p. 130) Migrating an Amazon RDS for Oracle Database to Amazon Redshift (p. 148) Migrating MySQL-Compatible Databases (p. 179)

through an intuitive graphical user interface. Users can logon to the Self Service Portal and provision the middleware instances they need, without the need for deep technical knowledge on the inner working of the middleware management system. The user can then define the time when the middleware will be retired automatically.

Java RMI. What is Middleware? v Middleware is software that runs between client and server processes. It is the "glue" between the client and server, which makes it possible for them to communicate to each other. Middleware is written

32, Sun SPARCstation and Sun OS, IBM RS/6000 and AIX, Alpha AXP and OpenVMS, and Alpha AXP and Windows NT. A middleware service is defined by the APIs and pro-February 1996/Vol. 39, No. 2 89 Middleware Figure 2. Middleware Figure 1. Remote Procedure Call architecture Application server

Layering is applied in many domains, e.g. Computer networking protocol stacks Communication middleware in multi-tier enterprise IT systems An Overview of Layered Architectures Hardware Domain-Specific Middleware Services Common Middleware Services Distribution Middleware Host Infrastructure

1 Introduction to Oracle Fusion Middleware Disaster Recovery 1.1 Overview of Oracle Fusion Middleware Disaster Recovery 1-1 1.1.1 Problem Description and Common Solutions 1-1 1.1.2 Terminology 1-2 1.2 Setting Up Disaster Recovery for Oracle Fusion Middleware Components 1-5 1.2.1 Oracle Fusion Middleware Disaster Recovery Architecture Overview 1-5

our experiments an open-source middleware, OpenAIS [2] (alpha release, version 0.69). Having a common specification for the HA middleware products, the demand to compare the various implementations naturally arises. Most of the comparisons and benchmarks of similar middleware products address