LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción...
Transcript of LA GUÍA PARA LOS DESARROLLADORES SOBRE LA MIGRACIÓN … · La consola web es una buena opción...
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"
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
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.
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
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
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.
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
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.
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
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.
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
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
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
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.
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
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"