LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción...

16
es.redhat.com facebook.com/redhatinc @RedHatLA @RedHatIberia linkedin.com/company/red-hat ÍNDICE 1 INTRODUCCIÓN ............................................................................................................ 1 2 SIMPLIFIQUE LA MIGRACIÓN CON RED HAT APPLICATION MIGRATION TOOLKIT .................................................................................................. 2 2.1 Analice una aplicación Java EE ............................................................................................................. 2 2.2 Comprenda de qué se trata el informe................................................................................................ 6 2.3 Aborde los problemas .............................................................................................................................. 7 2.4 Vuelva a probar el diseño ....................................................................................................................... 8 3 EJECUTE EL PROYECTO EN RED HAT JBOSS ENTERPRISE APPLICATION PLATFORM ..........................................................................................9 3.1 Instale Red Hat JBoss Enterprise Application Platform ............................................................... 10 3.2 El complemento de WildFly Maven ...................................................................................................... 10 3.3 Configure la aplicación ........................................................................................................................... 10 3.4 Implemente la aplicación ....................................................................................................................... 10 3.5 Pruebe la aplicación ................................................................................................................................ 10 3.6 Cierre la aplicación .................................................................................................................................. 10 4 IMPLEMENTE EL MONOLITO EN RED HAT OPENSHIFT CONTAINER PLATFORM ............................................................................................. 10 4.1 Agregue un perfil de Red Hat OpenShift ............................................................................................ 11 4.2 Cree un proyecto de Red Hat OpenShift............................................................................................. 11 4.3 Implemente el monolito .......................................................................................................................... 14 4.4 Implemente la aplicación con Binary Build ....................................................................................... 14 5 RESUMEN ..................................................................................................................... 16 DETALLES LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN A LA NUBE MEDIANTE EL REALOJAMIENTO "LIFT AND SHIFT"

Transcript of LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción...

Page 1: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

es.redhat.com

facebook.com/redhatinc @RedHatLA

@RedHatIberia linkedin.com/company/red-hat

ÍNDICE

1 INTRODUCCIÓN ............................................................................................................ 1

2 SIMPLIFIQUE LA MIGRACIÓN CON RED HAT APPLICATION MIGRATION TOOLKIT ..................................................................................................2

2.1 Analice una aplicación Java EE ............................................................................................................. 2

2.2 Comprenda de qué se trata el informe................................................................................................ 6

2.3 Aborde los problemas .............................................................................................................................. 7

2.4 Vuelva a probar el diseño .......................................................................................................................8

3 EJECUTE EL PROYECTO EN RED HAT JBOSS ENTERPRISE APPLICATION PLATFORM ..........................................................................................9

3.1 Instale Red Hat JBoss Enterprise Application Platform ............................................................... 10

3.2 El complemento de WildFly Maven ...................................................................................................... 10

3.3 Configurelaaplicación ........................................................................................................................... 10

3.4 Implemente la aplicación ....................................................................................................................... 10

3.5 Pruebe la aplicación ................................................................................................................................ 10

3.6 Cierre la aplicación .................................................................................................................................. 10

4 IMPLEMENTE EL MONOLITO EN RED HAT OPENSHIFT CONTAINER PLATFORM ............................................................................................. 10

4.1 AgregueunperfildeRedHatOpenShift ............................................................................................ 11

4.2 CreeunproyectodeRedHatOpenShift............................................................................................. 11

4.3 Implemente el monolito .......................................................................................................................... 14

4.4 Implemente la aplicación con Binary Build ....................................................................................... 14

5 RESUMEN ..................................................................................................................... 16

DETALLES

LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN A LA NUBE MEDIANTE EL REALOJAMIENTO "LIFT AND SHIFT"

Page 2: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

2es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

INTRODUCCIÓN

Amedidaqueaumentalaimplementacióndelosmodelosdenube,muchasempresasbuscanmanerasde adoptar el desarrollo nativo de la nube. Las aplicaciones nuevas se pueden desarrollar en su totalidad con modelos y servicios de nube, utilizando los microservicios, los equipos de desarrollo autónomos,laimplementaciónágilycontinuaylasimplementacionesdenubecoordinadasyencontenedores. Lamentablemente, pocas veces es posible volver a escribir todas las aplicaciones heredadasdesdeceroporeltiempoyelcostoqueestoimplica.

Silasempresasdeseanseguirsiendoágilesycompetitivas,debentrasladarymodernizarlasaplicaciones JavaTM actuales y adoptar el desarrollo nativo de la nube. Para la mayoría de las empresas, este proceso supone reutilizar las funcionalidades y los datos actuales lo más posible, trasladar lascargasdetrabajoactualesaunaplataformadeimplementaciónmodernay,porúltimo,aplicartecnologías,productosyprocesosnuevos.

Elmodelodemodernizaciónderealojamiento"liftandshift"esunprimerpasointeresantehaciaeldesarrollonativodelanubeeincluyelosiguiente:

• Organizarlascargasdetrabajomonolíticasactualesencontenedores

• Implementarlacargadetrabajoenunaplataformacomoservicio(PaaS)

• Conservarlasintegracionesylosdatosexternosenlaplataformaheredada

Cuandosehayancompletadoesastareas,losdesarrolladorespodráncomenzara"atacar"laestructuramonolíticaparareemplazargradualmenteciertasfuncionalidadesdelasaplicacionespormicroservicios.

Enestaguía,seabordaelprocesoderealojamiento"liftandshift"conlossistemasdesoftwaredeRed Hat®,quesedetallaenlaFigura1acontinuacióneimplicalosiguiente:

1. Analizar una aplicación monolítica actual con Red Hat Application Migration Toolkit y adoptar las interfaces estándares abiertas.

2. ActualizarelcódigoylaconfiguraciónparaqueseejecutenenRed Hat JBoss® Enterprise Application Platform.

3. Implementar el monolito como un contenedor en Red Hat OpenShift® Container Platform, donde ciertascaracterísticascomolaescalabilidadautomática,laorganizaciónenclústeresintegradaylaconmutaciónporerrorpuedenmejorarlaaplicación.

Figura 1. El proceso de realojamiento "lift and shift" con los sistemas de software de Red Hat

Page 3: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

3es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

LuegodeimplementarlaaplicaciónenRedHatOpenShiftContainerPlatform,sepuedenutilizarherramientasadicionalesparaconvertirfuncionalidadesespecíficasenmicroservicios.Utiliceesteprocesoparadesglosarlasfuncionalidadesenelementosmáspequeñosylograrmayorautonomíay paralelismo, lo que le permitirá enfocarse en acelerar la obtención de resultados utilizando herramientascomolassiguientes:

• Thorntail/MicroProfile

• Spring Boot

• Node.js

• Eclipse Vert.x

SIMPLIFIQUE LA MIGRACIÓN CON RED HAT APPLICATION MIGRATION TOOLKIT

RedHatApplicationMigrationToolkitesunaherramientabasadaenreglasconcapacidaddeexpansiónypersonalizaciónquesimplificalamigracióndelasaplicacionesJava.Lasempresaslausanpararealizarestastareas:

• Planificaryrealizarlaestimacióndetrabajo

• Identificarlosproblemasenlamigraciónysugerirsoluciones

• Evaluar informes detallados

• Usarreglasintegradaseitinerariosdemigración

• Ofrecerlaposibilidaddeampliarypersonalizarlasreglas

• Analizararchivosdeaplicacionesocódigosfuente

RedHatApplicationMigrationToolkitbuscalosrecursoscomunesydestacalastecnologíasylosfocosdeconflictoconocidosaltrasladarlasaplicaciones.Elkitdeherramientasbrindaunavistaexcelentedelastecnologíasqueutilizanlasaplicacionesyofreceuninformedetalladoquelasempresas pueden usar para estimar, documentar y trasladar las aplicaciones Java EE a Red Hat JBoss Enterprise Application Platform.

Nota: Por lo general, Red Hat Application Migration Toolkit es solo una parte de un programa más grande de modernización y migración de aplicaciones. Estos programas suelen constar de fases repetibles y bien definidas durante semanas o meses y pueden involucrar a muchas personas de una empresa en particular.

SideseaobtenermásinformaciónacercadelafilosofíaylametodologíaprobadadeRedHat,consultela documentación sobre Red Hat Application Migration Toolkit y la página de inicio del desarrollador.

ANALICE UNA APLICACIÓN JAVA EE

RedHatApplicationMigrationToolkitexaminalosartefactosdelasaplicaciones,incluidoslosdirectoriosdeorigendelproyectoylosarchivosdelasaplicaciones.Luego,generauninformeHTMLqueresaltalasáreasquenecesitancambios.EstekitsepuedeutilizarparatrasladarlasaplicacionesJavadeversionesanterioresdeRedHatJBossEnterpriseApplicationPlatform(EAP)odeotrasplataformasdeservidoresdeaplicaciones,comoOracleWebLogicServeroIBM®WebSphereApplicationServer.

RedHatApplicationMigrationToolkitpuedeinstalarseyutilizarsedediferentesmaneras:

• Consola web. ConlaconsolawebparaRedHatApplicationMigrationToolkit,losequiposdedesarrolladorespuedenevaluarypriorizarlasiniciativasdemigraciónymodernizaciónparaunagrancantidaddeaplicaciones.Lepermiteagruparlasaplicacionesenproyectosparaanalizarlas,ygeneravariosinformesdondesedestacanlosresultados.

• Interfaz de línea de comandos (CLI). Estaherramientadelíneadecomandospermitequelosdesarrolladoresevalúenyprioricenlasiniciativasdemigraciónymodernizaciónparalasaplicaciones. Genera varios informes donde se destacan los resultados del análisis. Dada su simplicidad, la CLI es ideal para analizar una sola aplicación.

Page 4: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

4es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

• Complemento de Eclipse. ElcomplementodeEclipseparaRedHatApplicationMigrationToolkitbrindaasistenciadirectaenEclipseyRedHatJBossDeveloperStudioalosdesarrolladoresquerealizancambiosparaunainiciativademigraciónomodernización.AnalizasusproyectosconRedHatApplicationMigrationToolkit,indicalosproblemasdemigraciónenelcódigofuente,brindaorientaciónpararesolverlosyofreceunreemplazoautomáticodelcódigocuandoseaposible.

PuededescargartodosestosmétodosdeaccesodesdelapáginadeRed Hat Application Migration Toolkit. Para obtener las instrucciones de instalación, consulte la documentación sobre cada uno deestosmétodosdeacceso.Laconsolawebesunabuenaopciónparalosescenariosconmúltiplesusuarios.Enestedocumento,sehacereferenciaalaCLIporsusimplicidad.Enlospasosquesedetallanacontinuación,seresumeelfuncionamientodeRedHatApplicationMigrationToolkit.

1. VERIFIQUE LA CLI DE RED HAT APPLICATION MIGRATION TOOLKIT

ParaverificarquelaCLIdeRedHatApplicationMigrationToolkitsehayainstaladocorrectamente,ejecutelosiguiente:

$ ${HOME}/rhamt-cli-4.0.0.Beta4/bin/rhamt-cli --version

Deberíaveralgosimilaraesto:

Using RHAMT at /root/rhamt-cli-4.0.0.Beta4

> Red Hat Application Migration Toolkit (RHAMT) CLI, version 4.0.0.Beta4.

2. EJECUTE LA CLI DE RED HAT APPLICATION MIGRATION TOOLKIT EN EL PROYECTO

LaCLIdeRedHatApplicationMigrationToolkitcuentaconunaseriedeopcionesparacontrolarsuejecución.Enestecaso,laCLIseutilizaparaejecutarseenunproyectodenominadomonolito,ygeneraun informe con el mismo nombre. Reemplace ~/projects/monolith a continuación por el nombre del proyecto actual que está evaluando.

$ ~/rhamt-cli-4.0.0.Beta4/bin/rhamt-cli \

--sourcemode \

--input ~/projects/monolith \

--output ~/rhamt-reports/monolith \

--overwrite \

--source weblogic \

--target eap:7 \

--packages com.redhat weblogic

Preste atención al uso de las opciones --source y --target. Estas opciones le permiten abordar lositinerariosdemigraciónespecíficoscompatiblesconRedHatApplicationMigrationToolkit.Lositinerariosdemigraciónincluyenlosiguiente:

• OracleWebLogicServer

• IBMWebSphereApplicationServer

• Red Hat JBoss EAP 5/6/7

Espereaquesecompletelaejecucióndelkitdeherramientasantesdecontinuar.Unavezfinalizada,veráalgosimilaralosiguiente:

Report created: ~/rhamt-reports/monolith/index.html

Page 5: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

5es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

3. VEA LOS RESULTADOS

Paraverelinforme,accedaalsiguientearchivoenelexploradorlocal:

~/rhamt-reports/monolith/index.html

VerálapáginadedestinodelinformecomosemuestraenlaFigura2.Enlapáginadedestinoprincipaldelinforme,seenumeranlasaplicacionesqueseprocesaron,juntoconlosproblemasqueseencontraron.Cadafiladelapáginacontieneunadescripcióngeneralmuybuenasobreelgradodedificultaddelcaso,lacantidaddeincidentesylastecnologíasqueseencontraronenlaaplicación.

Figura 2. Página de destino del informe de Red Hat Application Migration Toolkit

Page 6: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

6es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

Enesteejemplo,sihaceclicenelenlacedelmonolito, accederá al panel del proyecto, como se muestraenlaFigura3.

Figura 3. Panel de Red Hat Application Migration Toolkit

COMPRENDA DE QUÉ SE TRATA EL INFORME

Elpanelofreceunadescripcióngeneralsobretodoelesfuerzodemigracióndelaaplicación.Enél,seresumelasiguienteinformación:

• Losincidentesyelgradodedificultadsegúnlacategoría.

• Losincidentesyelgradodedificultadsegúnelniveldeesfuerzodeloscambiossugeridos.

• Losincidentessegúnelpaquete.

Nota: El grado de dificultad del caso es una métrica abstracta que se suele usar en el desarrollo de software ágil para estimar el nivel relativo de esfuerzo que se necesita para implementar una función o un cambio. Red Hat Application Migration Toolkit usa esta métrica para expresar el nivel de esfuerzo necesario para trasladar ciertas construcciones de las aplicaciones y la aplicación en su totalidad. El nivel de esfuerzo varía considerablemente según el tamaño y la complejidad de las aplicaciones que se deben trasladar.

Puedeutilizarelmenúenlapartesuperiorparaaccederamuchasotrassubpáginas.

• Todas las aplicaciones:sebrindaunalistadetodaslasaplicacionesexaminadas.

• Panel:sepresentaladescripcióngeneraldeunaaplicaciónenparticular.

• Problemas:seresumentodoslosproblemasquerequierenatención.

Page 7: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

7es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

• Detalles de la aplicación:sebrindaunadescripcióngeneraldetalladadetodoslosrecursosqueseencuentrandentrodelaaplicaciónquepodríanrequeriratencióndurantelamigración.

• Archivos que no se pudieron analizar:semuestrantodoslosarchivosqueRedHatApplicationMigrationToolkitnopudoanalizarenelformatoesperado.Porejemplo,unarchivoconunaextensión.xmlo.wsdlsetomacomounarchivoXML.SifallaelanalizadordeXML,seinformasobreelproblemaenestaseccióny,además,enlalistadondeapareceelarchivoindividual.

• Dependencias:semuestrantodaslasdependenciasempaquetadasenJavaqueseencontrarondentro de la aplicación.

• Servicios remotos:sepresentantodaslasreferenciasaserviciosremotosencontradasdentrodelaaplicación.

• EJB:seenumeranlosEnterpriseJavaBeansqueseencontraronenlaaplicación.

• JBPM:seenumerantodoslosrecursosrelacionadosconJavaBusinessProcessManagementquesedescubrieron durante el análisis.

• JPA:sedetallanlosrecursosrelacionadosconlainterfazdeprogramacióndeaplicaciones(API)deJava Persistence que se encontraron en la aplicación.

• Acerca de:sedescribelaversiónactualdeRedHatApplicationMigrationToolkitysebrindanenlacesútilesparaobtenermásayuda.

Nota: Es posible que algunas de las secciones antes mencionadas no aparezcan, en función de los problemas reales que se hayan detectado en el proyecto.

AhoraqueelinformedeRedHatApplicationMigrationToolkitestádisponible,comienceatrasladarlasaplicaciones.

ABORDE LOS PROBLEMAS

EnlapestañaInformedeproblemasquesemuestraenlaFigura4,apareceunalistamásdetalladasobretodoslosproblemasconocidosenlaaplicaciónqueestáevaluando.Seenumeranenlacesútilesparaquelosusuarioscomprendanelproblemaenprofundidadyseofreceorientaciónparalamigraciónylamodernización.

Figura 4. Informe de problemas de Red Hat Application Migration Toolkit

Page 8: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

8es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

MuchasaplicacionestendránuncódigoespecíficodelaplataformaquedebeactualizarseparautilizarinterfacesestándaresdeJavaEE,entrelosqueseincluyenlossiguientes:

• Código de inicio,paraejecutarfuncionesoprogramartrabajosalmomentodeiniciarodetenerlaaplicación.

• Código de registro,queutilizafuncionesderegistroespecíficasdelaplataforma.

• Código de mensajería,queutilizamecanismosobsoletosoespecíficosdelaplataforma.

Encadacaso,sesugeriránlassolucionesposiblesenelInformedeproblemas.Paraabordaralgunosde estos problemas en la realidad, se podrían requerir consideraciones adicionales como parte de lamigración.Sinembargo,laimplementacióndeestoscambioshacequeelcódigoseamuchomásportátil.

Luegodeaplicarlasmodificacionesnecesarias,puedeutilizarMavenparadiseñaryempaquetarlaaplicación,yasíasegurarsedequeaúnsecompileelcódigonuevo:

$ mvn clean package

Sielcódigosediseñacorrectamente(yapareceelmensajeDISEÑO CORRECTO),podráavanzaralsiguienteproblemaenelinforme.

VUELVA A PROBAR EL DISEÑO

Unavezabordadostodoslosproblemas,sevuelveaejecutarRedHatApplicationMigrationToolkitparaverificarquelamigraciónsehayarealizadocorrectamente.

1. EJECUTE LA CLI DE RED HAT APPLICATION MIGRATION TOOLKIT EN EL PROYECTO

Ejecuteelcomandoqueapareceacontinuaciónparaborrarlosartefactosdediseñoanteriores,vuelvaaejecutarlaCLIdeRedHatApplicationMigrationToolkityanaliceelproyectonuevo.Vuelvaareemplazar la ubicación del proyecto por ~/projects/monolith.

$ mvn clean && \

~/rhamt-cli-4.0.0.Beta4/bin/rhamt-cli \

--sourceMode \

--input ~/projects/monolith \

--output ~/rhamt-reports/monolith \

--overwrite \

--source weblogic \

--target eap:7 \

--packages com.redhat weblogic

Cuandoelprocesofinalice,laCLIdeberíamostrarlasiguienteinformación:

Report created: /root/rhamt-reports/monolith/index.html

2. VEA LOS RESULTADOS

Vuelvaacargarlapáginawebdelinformelocal:

~/rhamt-reports/monolith/index.html

Luegodelamigraciónexitosa,laaplicacióncorrespondientedeberíapresentarungradodedificultaddelcasodecero(0).Estoindicaquelaaplicaciónsemodernizócorrectamenteyqueahoraestálistapara su traslado a Red Hat JBoss EAP.

Page 9: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

9es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

EJECUTE EL PROYECTO EN RED HAT JBOSS ENTERPRISE APPLICATION PLATFORM

AhoraquelaaplicaciónseactualizóparautilizarmásinterfacesJavaEEestándares,puedeimplementarla,probarlaycomenzaraanalizaralgunasdelasfuncionesqueofreceRedHatJBossEAP.

INSTALE RED HAT JBOSS ENTERPRISE APPLICATION PLATFORM

DescarguelaúltimaversióndeRed Hat JBoss EAP.Luego,instaleRedHatJBossEAPdeformalocalejecutandolossiguientescomandosenlaventanadeterminal.Cambieelnombredelarchivoparaquecoincidaconlaversióndescargada.

$ unzip -d $HOME $HOME/jboss-eap-7.2.0.zip

A continuación, establezca la variable del entorno JBOSS_HOME:

$ export JBOSS_HOME=$HOME/jboss-eap-7.2.0

Así de sencillo es instalar Red Hat JBoss EAP.

EL COMPLEMENTO DE WILDFLY MAVEN

RedHatJBossEAPbrindaunaherramientawildfly-maven-plugin capaz de detener, iniciar, implementaryconfigurarlaplataformadirectamentedesdeApacheMaven.Despuésdeconfigurarlaherramientadecomplementodemaven,puedeusarlaparalassiguientestareas:

• ElegirentreelperfilcompletooelperfilwebdeJavaEE

• Configurarlosrecursosdebasesdedatos

• ConfigurarservicioscomoJavaMessageServiceTopic

Todasestascapacidadesestánconfiguradasenelarchivopom.xml.

CONFIGURE LA APLICACIÓN

LuegodeusarRedHatApplicationMigrationToolkit,laaplicaciónsebasaprincipalmenteenlosestándares.PuedeconfigurarlainiciandoRedHatJBossEAPparaponerenmarchalaaplicación,agregarlosrecursosycerrarla,comosemuestraacontinuación:

$ export JBOSS_HOME=$HOME/jboss-eap-7.2.0 ; \ mvn wildfly:start wildfly:add-resource wildfly:shutdown

Estepasodebeconcluirconelmensaje:DISEÑO CORRECTO.

Figura 5. Un grado de dificultad de "0" implica una migración exitosa

Page 10: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

10es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

Nota: Utilizamos wildfly:start y wildfly:shutdown debido a que el comando add-resource requiere un servidor de aplicaciones en ejecución. Luego de agregar el recurso, no es necesario volver a ejecutar este comando.

IMPLEMENTE LA APLICACIÓN

Yapuedeimplementarlaaplicación:

$ export JBOSS_HOME=$HOME/jboss-eap-7.2.0 ; mvn wildfly:run

Cuandoelservidorseinicia,debemostrarlosiguiente:

Deployed "ROOT.war" (runtime-name: "ROOT.war")

PRUEBE LA APLICACIÓN

AccedaalaaplicacióncargandolasiguienteURLensuexplorador:

http://localhost:8080

Las advertencias aparecerán en la salida de la consola.

CIERRE LA APLICACIÓN

Antes de continuar, escriba CTRL-C en la ventana de terminal para cerrar la aplicación.

IMPLEMENTE EL MONOLITO EN RED HAT OPENSHIFT PLATFORM

UnavezquelaaplicaciónestéfuncionandoenRedHatJBossEAP,podrátrasladarelmonolitoreciénactualizadoaRedHatOpenShiftContainerPlatform.LossiguientespasossuponenelaccesoaunclústerdeRedHatOpenShiftContainerPlatform.Sinodisponedeuno,puedeinstalar Red Hat OpenShift Container Platform de forma local.

Page 11: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

11es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

AGREGUE UN PERFIL DE RED HAT OPENSHIFT

Abraelarchivopom.xmlyagregueunperfildeRedHatOpenShift.

Figura 6. Perfil de Red Hat OpenShift (archivo pom.xml)

<profile>

<id>openshift</id>

<build>

<plugins>

<plugin>

<artifactId>maven-war-plugin</artifactId>

<version>2.6</version>

<configuration>

<webResources>

<resource>

<directory>${basedir}/src/main/webapp/WEB-INF</directory>

<filtering>true</filtering>

<targetPath>WEB-INF</targetPath>

</resource>

</webResources>

<outputDirectory>deployments</outputDirectory>

<warName>ROOT</warName>

</configuration>

</plugin>

</plugins>

</build>

</profile>

CREE UN PROYECTO DE RED HAT OPENSHIFT

Primero,abralaconsolawebdeRedHatOpenShiftContainerPlatform.

Figura 7. Consola web de Red Hat OpenShift Container Platform

Page 12: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

12es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

IniciesesiónconsuscredencialesdeRedHatOpenShift:

• Usuario:XXXXXX

• Contraseña:XXXXXX

AparecerálapáginadedestinodeRedHatOpenShiftContainerPlatform:

Figura 8. Página de destino de Red Hat OpenShift Container Platform

HagaclicenCrearProyecto,relleneloscamposyseleccioneCrear.Enesteejemplo,elnombredelaaplicaciónes"coolstore".

• Nombre:coolstore-dev

• Nombreparamostrar:Coolstore Monolith - Dev

• Descripción:dejeestecampovacío

Page 13: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

13es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

Hagaclicenelnombredelproyectoqueacabadecrear:

Figura 9. Ejemplo de una definición de proyecto de Red Hat OpenShift Container Platform

Figura 10. Descripción general del proyecto de Red Hat OpenShift Container Platform

Page 14: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

14es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

Estaacciónlollevaráaladescripcióngeneraldelproyecto.Aúnnohayinformaciónallí,peroesoestápor cambiar.

IMPLEMENTE EL MONOLITO

UselaCLIparaimplementarloselementosdelmonolito.ParaimplementarlaplantilladelmonolitoconlaCLI,ejecuteloscomandosqueaparecenacontinuación.

Enprimerlugar,cambiealproyectodedesarrolladorquecreóanteriormente:

$ oc project coolstore-dev

Finalmente,implementelaplantilla:

$ oc new-app coolstore-monolith-binary-build

En este paso, se implementarán las bases de datos que necesita la aplicación, así como Red Hat JBoss EAP, pero no se iniciará un diseño para la aplicación.

Acontinuación,abralapáginaDescripcióngeneraldelmonolitoenlasiguientedirección:

https://$OPENSHIFT_MASTER/console/project/coolstore-dev/yverifiquequesehayancreado los elementos de la plantilla del monolito.

Figura 11. Página de la descripción general del monolito de Red Hat OpenShift Container Platform

Puedeverloselementosqueseimplementanenladescripcióngeneraldelproyecto,perotengaencuentaque"nohayimplementacionesparacoolstore".Aúnnohaimplementadolaimagendecontenedoresdiseñadaenlospasosanteriores,peroloharáacontinuación.

IMPLEMENTE LA APLICACIÓN CON BINARY BUILD

En este proyecto de desarrollo, optamos por usar un proceso llamado Binary Builds. Este proceso generalosdiseñosdeformalocalysolocargaelartefacto(porejemplo,elarchivo.war),enlugardedirigirnosaunrepositoriodeGitpúblicoyhacerqueelprocesodediseñodefuenteaimagen(S2I)descargue,diseñeycreeunaimagendecontenedorespornosotros.Laimplementaciónbinariaacelerará considerablemente el proceso de diseño.

Primero,vuelvaadiseñarelproyectousandoelperfildeMavenopenshift, que creará un diseño binarioadecuadoparausarloconRedHatOpenShiftContainerPlatform(aúnnoesunaimagendecontenedores,soloeselarchivo.war).Diseñaremoselproyectoconlalíneadecomandosoc.

Diseñeelproyecto:

$ mvn clean package -Popenshift

Aguardeaquefinaliceelprocesodediseñoyaqueaparezcaelmensaje:DISEÑO CORRECTO.

Page 15: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

15es.redhat.com DETALLE TECNOLÓGICO La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"

Porúltimo,inicieelprocesodediseñoqueutilizaráelarchivo.war, combínelo con Red Hat JBoss EAP ygenereunaimagendecontenedoresdeLinux®.Esaimagenseimplementaráenelproyectoautomáticamente,graciasalobjetoDeploymentConfigcreadoapartirdelaplanilla:

$ oc start-build coolstore --from-file=deployments/ROOT.war

VerifiquelaconsolawebdeRedHatOpenShift,ydeberíaverlaaplicaciónqueseestádiseñando.Enestecaso,yasehaimplementadounabasededatosPostgreSQL.

Figura 12. En la página de la descripción general del monolito, se muestra un diseño en curso, pero ninguna implementación

Espereaquesecompleteneldiseñoylaimplementación:

$ oc rollout status -w dc/coolstore

Este comando se usará con frecuencia para esperar a que se completen las implementaciones. Asegúresedequearrojeelmensajedeprocesoexitosocuandoloutilice.Alfinal,verálosiguiente:

replication controller "coolstore-1" successfully rolled out.

Nota: En caso de que el comando anterior informe un error del servidor (ServerTimeout), solo vuelva a ejecutar el comando hasta que aparezca el mensaje de proceso exitoso.

Cuando se complete el proceso, verá círculos azules para la base de datos y el monolito que indican quelaaplicaciónseimplementócorrectamente:

Figura 13. Los círculos azules significan que la aplicación se implementó correctamente

Page 16: LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción para los escenarios con múltiples usuarios. En este documento, se hace referencia

Copyright©2019RedHat,Inc.RedHat,RedHatEnterpriseLinux,OpenShift,ellogotipodeShadowmanyJBosssonmarcascomercialesdeRedHat,Inc.registradasenEstadosUnidosyenotrospaíses.Linux®eslamarcacomercialregistradadeLinusTorvaldsenEstadosUnidosyenotrospaíses.

ARGENTINA +54 11 4329 7300

CHILE +562 2597 7000

ACERCA DE RED HAT

RedHateselproveedorlíderdesolucionesdesoftwaredeopensourceparaempresas,queadoptaunenfoquebasadoenlacomunidadparaofrecertecnologíasconfiablesydealtorendimientodeLinux,nubehíbrida,contenedoresyKubernetes.RedHatayudaalosclientesaintegraraplicacionesdeTInuevasyexistentes,desarrollaraplicacionesnativasdelanube,estandarizarennuestrosistemaoperativolíderdelsectoryautomatizar,protegerygestionarentornoscomplejos.Susserviciosgalardonadosdesoporte,capacitaciónyconsultoríaconviertenaRedHatenunasesordeconfianzaparalasempresasdeFortune500.Comopartnerestratégicodeproveedoresdenube,integradoresdesistemas,proveedoresdeaplicaciones,clientesycomunidadesdeopensource,RedHatpuedeayudaralasorganizacionesaprepararseparaelfuturodigital.

facebook.com/redhatinc @RedHatLA

@RedHatIberia linkedin.com/company/red-hat

COLOMBIA +571 508 8631 +52 55 8851 6400

MÉXICO +52 55 8851 6400

ESPAÑA +34 914 148 800

es.redhat.com #F17126_0419

Paraprobarlaaplicación,hagaclicenelenlace:

http://www-coolstore-dev.$ROUTE_SUFFIX, que abrirá el monolito coolstore en el explorador,queestavezseejecutaráenRedHatOpenShiftContainerPlatform.

Figura 14. Haga clic en el enlace para iniciar la aplicación en su explorador, que se ejecuta en Red Hat OpenShift Container Platform

RESUMEN

Este proceso demuestra cómo trasladar una aplicación Java EE actual a la nube con Red Hat JBoss EnterpriseApplicationPlatformyRedHatOpenShiftContainerPlatform.Ahora,estápreparadoparacomenzaramodernizarlaaplicacióndesglosandoelmonolitoenmicroserviciosmáspequeñosdeformagradual,mientrasempleatécnicasmodernasparagarantizarquelaaplicaciónseejecutecorrectamenteenunentornodistribuidoyencontenedores.

DETALLES La guía para los desarrolladores sobre la migración a la nube mediante el realojamiento "lift and shift"