<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Infrarestructura de Software Archives - Software Evolutivo</title>
	<atom:link href="https://softwareevolutivo.com.ec/category/infraestructura-de-software/feed/" rel="self" type="application/rss+xml" />
	<link>https://softwareevolutivo.com.ec/category/infraestructura-de-software/</link>
	<description>Consultora de Software Empresarial</description>
	<lastBuildDate>Mon, 26 Aug 2024 21:27:53 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://softwareevolutivo.com.ec/wp-content/uploads/2024/03/cropped-Perfil-Redes-Iso-32x32.png</url>
	<title>Infrarestructura de Software Archives - Software Evolutivo</title>
	<link>https://softwareevolutivo.com.ec/category/infraestructura-de-software/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Kubernetes: Arquitectura y Recursos Principales</title>
		<link>https://softwareevolutivo.com.ec/kubernetes-arquitectura-y-recursos-principales/</link>
					<comments>https://softwareevolutivo.com.ec/kubernetes-arquitectura-y-recursos-principales/#respond</comments>
		
		<dc:creator><![CDATA[Jorge Aguilar]]></dc:creator>
		<pubDate>Thu, 18 Jul 2024 18:29:50 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Contenedores]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[Servidor]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=10023</guid>

					<description><![CDATA[<p>En esta entrada veremos la plataforma Kubernetes, su arquitectura y los recursos principales que la conforman.</p>
<p>The post <a href="https://softwareevolutivo.com.ec/kubernetes-arquitectura-y-recursos-principales/">Kubernetes: Arquitectura y Recursos Principales</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="10023" class="elementor elementor-10023">
				<div class="elementor-element elementor-element-3a626d0 e-flex e-con-boxed e-con e-parent" data-id="3a626d0" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-d4e4873 elementor-widget elementor-widget-text-editor" data-id="d4e4873" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En un mundo donde se hace necesario disponer de aplicaciones escalables y que puedan responder a las exigencias de disponibilidad más demandantes, es donde surgen plataformas de orquestamiento de contenedores como Kubernetes. En esta entrada veremos la plataforma Kubernetes, su arquitectura y los recursos principales que la conforman.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-10c01c0 elementor-widget elementor-widget-image" data-id="10c01c0" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img fetchpriority="high" decoding="async" width="560" height="560" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/k8s-560x560.webp" class="attachment-themex-gallery-thumb size-themex-gallery-thumb wp-image-10026" alt="Kubernetes" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/k8s-560x560.webp 560w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/k8s-300x300.webp 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/k8s-150x150.webp 150w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/k8s-450x450.webp 450w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/k8s-106x106.webp 106w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/k8s-70x70.webp 70w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/k8s.webp 746w" sizes="(max-width: 560px) 100vw, 560px" />															</div>
				</div>
				<div class="elementor-element elementor-element-d30bf46 elementor-widget elementor-widget-text-editor" data-id="d30bf46" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<h2>Contenidos</h2><ul><li><a href="#sek8s1">¿Qué es Kubernetes?</a></li><li><a href="#sek8s2">5 Beneficios Principales de Kubernetes</a></li><li><a href="#sek8s3">Arquitectura de Kubernetes</a></li><li><a href="#sek8s4">Componentes Complementarios</a></li><li><a href="#sek8s5">Recursos Principales</a></li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-6dbe239 elementor-widget elementor-widget-heading" data-id="6dbe239" data-element_type="widget" data-e-type="widget" id="sek8s1" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">¿Qué es Kubernetes?</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-7ff2ae2 elementor-widget elementor-widget-text-editor" data-id="7ff2ae2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Kubernetes se puede definir como un sistema de código abierto para la automatización del despliegue, el escalado y la gestión de aplicaciones contenerizadas. <br>Fue desarrollado por Google y es ampliamente utilizado en la industria para implementar y administrar aplicaciones en la nube privada, pública o híbrida entre estos dos tipos. <br>Kubernetes se ha convertido en la alternativa de facto cuando se requiere coordinar una gran cantidad de contenedores.</p>
<p><em><strong>Kubernetes (K8s) se presenta como la respuesta natural al escalamiento de soluciones como Docker, containerd o contenedores en general.</strong></em></p>
<p>(Si te interesa, en un artículo anterior compartimos los <a href="https://softwareevolutivo.com.ec/docker-primeros-pasos/" target="_blank" rel="noopener">Primeros pasos en Docker</a>).</p>
<p>Su adopción ha sido masiva en todas las industrias, con una tendencia a soluciones provistas en la nube.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-6cf7639 elementor-widget elementor-widget-image" data-id="6cf7639" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
																<a href="https://www.redhat.com/en/resources/kubernetes-adoption-security-market-trends-overview" target="_blank" rel="nofollow">
							<img decoding="async" src="https://softwareevolutivo.com.ec/wp-content/uploads/elementor/thumbs/Captura-de-pantalla-2024-07-18-125907-qrawx1j418zobosuumythj3l4ane2iehjpei6f3kqe.png" title="Captura de pantalla 2024-07-18 125907" alt="kubernetes-adoption-2024" loading="lazy" />								</a>
															</div>
				</div>
				<div class="elementor-element elementor-element-11532cb elementor-widget elementor-widget-text-editor" data-id="11532cb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Kubernetes no llega para reemplazar a los contenedores, sino más bien a complementarlos, lo que es muy beneficioso para responder a las demandas crecientes que tienen las aplicaciones nativas de la nube.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-79e848e elementor-widget elementor-widget-heading" data-id="79e848e" data-element_type="widget" data-e-type="widget" id="sek8s2" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">5 Beneficios Principales de Kubernetes</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-e743ea0 elementor-widget elementor-widget-text-editor" data-id="e743ea0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Kubernetes ofrece muchos beneficios para el despliegue de aplicaciones en entornos empresariales, más allá del escalamiento de la contenerización, así presentamos los siguientes 5 beneficios principales de esta tecnología:</p><ol><li><strong>&#8211; Escalabilidad Automática</strong>: Kubernetes permite escalar automáticamente las aplicaciones según la demanda, aumentando o disminuyendo el número de contenedores en función del tráfico o la carga de trabajo.</li><li><strong>&#8211; Alta Disponibilidad</strong>: Gracias a su arquitectura distribuida y sus mecanismos de autorecuperación, Kubernetes asegura que las aplicaciones estén siempre disponibles, incluso en caso de fallos en los nodos o contenedores.</li><li><strong>&#8211; Portabilidad y Flexibilidad</strong>: Las aplicaciones desplegadas en Kubernetes pueden ejecutarse en cualquier entorno que soporte Kubernetes, ya sea en la nube pública, privada o en entornos híbridos, sin necesidad de cambios significativos.</li><li><strong>&#8211; Eficiencia en el Uso de Recursos</strong>: Kubernetes optimiza la utilización de los recursos del clúster, asignando contenedores a los nodos de manera eficiente y permitiendo un mejor aprovechamiento del hardware.</li><li><strong>&#8211; Despliegues y Rollbacks Simplificados</strong>: Con Kubernetes, es posible realizar actualizaciones y rollbacks de aplicaciones de manera controlada y sin tiempo de inactividad (por ejemplo despliegue blue/green), lo que facilita la implementación de estrategias de integración y entrega continuas (CI/CD).</li></ol>								</div>
				</div>
				<div class="elementor-element elementor-element-9b48baa elementor-widget elementor-widget-heading" data-id="9b48baa" data-element_type="widget" data-e-type="widget" id="sek8s3" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Arquitectura de Kubernetes</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-7bd0313 elementor-widget elementor-widget-text-editor" data-id="7bd0313" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>La arquitectura de Kubernetes se divide en dos partes:</p><h3>Control Plane</h3><p>El Control Plane es el corazón del sistema y se encarga de la gestión del cluster, así es, estamos hablando de un conjunto de servidores, conocidos como servidores master, trabajando de manera colaborativa. <span style="text-align: var(--text-align);">Los componentes principales del Control Plane son:</span></p><ul><li><strong>&#8211; API server:</strong> Servicios Web del tipo REST que dan acceso a consultas y peticiones sobre el sistema. La interfaz por línea de comandos o la consola Web lo utilizan para realizar las diferentes tareas administrativas y de monitoreo.</li><li><strong>&#8211; etcd:</strong> Es una base de datos distribuida donde se aloja la configuración y el estado del sistema. Se accede a ella mediante el API server.</li><li><strong>&#8211; scheduler:</strong> Es el componente encargado de asignar la nueva carga de trabajo a los nodos del cluster. Éste necesita información actualizada sobre la disponibilidad de los nodos y de los recursos que puedan ofrecer.<br />controller: Es el que monitorea el estado de los recursos del cluster y toma acciones para asegurarse que se regrese al estado esperado.</li></ul><h3>Cluster</h3><p>El Cluster como tal, formado por nodos esclavos (servidores de máquinas virtuales o físicas) y que ejecutan las aplicaciones contenerizadas.</p><h4>Nodo</h4><p>Cada nodo ejecuta un agente llamado kubelet, el cuál se comunica con el Control Plane para reportar el estado y conocer sobre nuevos requerimientos. También se encarga de solicitar el inicio o detención de los contenedores en cada uno de los nodos.<span style="text-align: var(--text-align);"> </span></p><p>Los nodos también ejecutan el kube-proxy de Kubernetes, que se encarga de la comunicación por la red.<span style="text-align: var(--text-align);"> </span></p><p>Finalmente, tienen al Container runtime, que corresponde al espacio de ejecución de los contenedores, brindando acceso a los recursos de Hardware que puedan requerir, como son: memoria, CPU, red, etc.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-7a2a1a3 elementor-widget elementor-widget-heading" data-id="7a2a1a3" data-element_type="widget" data-e-type="widget" id="sek8s4" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Componentes Complementarios</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-b7c6f7d elementor-widget elementor-widget-text-editor" data-id="b7c6f7d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Por otro lado, también podríamos considerar otros servicios que no son, de por sí, parte de Kubernetes pero que lo complementan para brindar soluciones integrales. Estas podrían ser:</p><ul><li><strong>&#8211; Image Registry</strong>: Repositorio de las imágenes de contenedor utilizados para crear los contenedores de las aplicaciones y servicios como por ejemplo una base de datos.</li><li><strong>&#8211; Load Balancer</strong>: Servicio que redirige las peticiones de los clientes para que la carga pueda ser distribuida y también para aislar a los nodos que puedan tener problemas, soportando alta disponibilidad.</li></ul>								</div>
				</div>
				<div class="elementor-element elementor-element-656f2ef elementor-widget elementor-widget-image" data-id="656f2ef" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="751" height="396" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Captura-de-pantalla-2024-07-18-131942.png" class="attachment-large size-large wp-image-10029" alt="kubernetes-componentes" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Captura-de-pantalla-2024-07-18-131942.png 751w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Captura-de-pantalla-2024-07-18-131942-300x158.png 300w" sizes="(max-width: 751px) 100vw, 751px" />															</div>
				</div>
				<div class="elementor-element elementor-element-3b6c390 elementor-widget elementor-widget-heading" data-id="3b6c390" data-element_type="widget" data-e-type="widget" id="sek8s5" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Recursos Principales</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-d6410ac elementor-widget elementor-widget-text-editor" data-id="d6410ac" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>A continuación detallaremos los recursos que se consideran la base de Kubernetes y que a través de ellos se obtienen los beneficios más importantes de este tipo de soluciones.</p><h3>Pod</h3><p>La unidad más pequeña del despliegue en Kubernetes es el Pod y puede contener uno o más contenedores. Entre los contenedores que forman parte de un Pod comparten el mismo espacio de nombres y recursos como la dirección IP o volúmenes de disco, lo que significa que pueden comunicarse entre sí de forma fácil y rápida.</p><h3>Service</h3><p>Otro recurso importante de Kubernetes incluye al Service, que es una abstracción de uno o más Pods (están al frente de los Pods y proveen un balanceo de carga), proporcionan una dirección IP más estable que un Pod y además se publica un nombre DNS para facilitar la ubicación del mismo dentro de la red. Los Service se utilizan para que los Pods se comuniquen entre sí, siendo un intermediario, de forma segura y estable.</p><h3>Deployment</h3><p>Finalmente tenemos al Deployment, que es el elemento encargado de gestionar y actualizar un conjunto de pods similares. Un Deployment define la plantilla para los Pods y se encarga de crear y mantener la cantidad de los mismos que sean necesarios para cumplir con la especificación deseada. Los deployments también facilitan el despliegue gradual y el rollback de las aplicaciones.</p>								</div>
				</div>
				<div class="elementor-element elementor-element-b99b935 elementor-widget elementor-widget-image" data-id="b99b935" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img decoding="async" width="703" height="504" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Captura-de-pantalla-2024-07-18-132453.png" class="attachment-large size-large wp-image-10030" alt="kubernetes-recursos-principales" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Captura-de-pantalla-2024-07-18-132453.png 703w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Captura-de-pantalla-2024-07-18-132453-300x215.png 300w" sizes="(max-width: 703px) 100vw, 703px" />															</div>
				</div>
				<div class="elementor-element elementor-element-f84bf79 elementor-widget elementor-widget-heading" data-id="f84bf79" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Conclusiones</h2>				</div>
				</div>
				<div class="elementor-element elementor-element-9d49a0c elementor-widget elementor-widget-text-editor" data-id="9d49a0c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ul><li><strong><span style="text-decoration: underline;">&#8211; Kubernetes como Solución Integral para la Gestión de Contenedores</span>:</strong> Kubernetes se ha establecido como una plataforma esencial para la automatización y orquestación de aplicaciones contenerizadas. Su capacidad para escalar aplicaciones de manera automática, gestionar eficientemente los recursos y garantizar alta disponibilidad lo convierte en una solución robusta y adaptable para entornos de nube pública, privada e híbrida.</li><li><strong><span style="text-decoration: underline;">&#8211; Arquitectura de Kubernetes</span>:</strong></li><li><strong>Control Plane y Clúster Distribuido:</strong> La arquitectura de Kubernetes está diseñada para proporcionar un control centralizado mediante el Control Plane, que gestiona el estado del clúster, y una ejecución distribuida en nodos, que asegura la operación continua de las aplicaciones. Esta separación de funciones permite una gestión eficiente y una recuperación automática ante fallos, mejorando la resiliencia de las aplicaciones.</li><li><strong><span style="text-decoration: underline;">&#8211; Beneficios tangibles de Kubernetes para DevOps</span>:</strong> Kubernetes ofrece ventajas significativas en términos de escalabilidad automática, alta disponibilidad, portabilidad y eficiencia en el uso de recursos, lo que lo convierte en una herramienta fundamental para equipos de desarrollo y operaciones que buscan optimizar sus procesos de CI/CD.</li></ul><p>Hasta aquí llegamos con esta entrega, para una próxima oportunidad estaremos abordando contenido práctico, donde crearemos recursos como los que hemos analizado previamente.</p><p>Esperamos que nos sigas acompañando en esta serie de artículos sobre Kubernetes y te invitamos a dejar tus comentarios o preguntas en la sección inferior. Nos encantaría conocer sobre qué otros temas te gustaría que compartamos. ¡Nos leemos pronto!</p><h3>Referencias:</h3><ul><li>&#8211; <a href="https://kubernetes.io/">https://kubernetes.io/</a></li></ul>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-40645f8 e-flex e-con-boxed e-con e-parent" data-id="40645f8" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-34adebf elementor-widget elementor-widget-witr_section_call_to_ac" data-id="34adebf" data-element_type="widget" data-e-type="widget" data-widget_type="witr_section_call_to_ac.default">
				<div class="elementor-widget-container">
								<!-- themex call to action 3 -->

		<div class=" all_cal_color">
			<div class="cal_to_toggole">
					<div class="themex_content col_content_width_100 text-left">
						<!-- top title -->
														
								<h5>Conoce Nuestros Servicios</h5>																	
							
						<!-- middle title -->
														
								<h2>Escalabilidad sin Límites: Consultoría de Kubernetes para su Empresa</h2>																	
												<!-- bottom title -->
													<!-- content -->
													<p>Nuestro enfoque en Kubernetes está diseñado para impulsar la escalabilidad de su infraestructura de TI, a través de la implementación estratégica de contenedores y la orquestación eficiente de aplicaciones y servicios, su infraestructura estará lista para escalar sin límites. </p>		
							
					
					</div>
				<!-- button -->
						
						<div class="themex_button no_margin text-right">						
							<a href="https://softwareevolutivo.com.ec/orquestacion-de-aplicaciones-y-servicios-2/" > 							
								Solicitar DEMO								<!-- icon -->
																							
							</a>
						</div>
								
			</div>
		</div>
					</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/kubernetes-arquitectura-y-recursos-principales/">Kubernetes: Arquitectura y Recursos Principales</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/kubernetes-arquitectura-y-recursos-principales/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Apache ActiveMQ Artemis</title>
		<link>https://softwareevolutivo.com.ec/apache-activemq-artemis/</link>
					<comments>https://softwareevolutivo.com.ec/apache-activemq-artemis/#respond</comments>
		
		<dc:creator><![CDATA[Bryan Diaz]]></dc:creator>
		<pubDate>Wed, 17 Jul 2024 04:28:25 +0000</pubDate>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Backend]]></category>
		<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Infrarestructura de Software]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Tendencias]]></category>
		<category><![CDATA[ActiveMQArtemis]]></category>
		<category><![CDATA[JavaDevelopment]]></category>
		<category><![CDATA[MessageQueue]]></category>
		<category><![CDATA[MicroservicesCommunication]]></category>
		<category><![CDATA[ProducerConsumer]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=9937</guid>

					<description><![CDATA[<p>En este artículo vamos a hablar sobre una herramienta muy popular para la comunicación entre aplicaciones llamada Apache ActiveMQ Artemis además revisaremos un ejemplo de cómo implementar su funcionamiento utilizando dos microservicios implementados con Spring Boot y Java.</p>
<p>The post <a href="https://softwareevolutivo.com.ec/apache-activemq-artemis/">Apache ActiveMQ Artemis</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9937" class="elementor elementor-9937">
				<div class="elementor-element elementor-element-6b20a70 e-flex e-con-boxed e-con e-parent" data-id="6b20a70" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
					</div>
				</div>
		<div class="elementor-element elementor-element-37366db e-flex e-con-boxed e-con e-parent" data-id="37366db" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-09c443d elementor-widget elementor-widget-text-editor" data-id="09c443d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En este artículo vamos a hablar sobre una herramienta muy popular para la comunicación entre aplicaciones llamada Apache ActiveMQ Artemis, además revisaremos un ejemplo de cómo implementar su funcionamiento utilizando dos microservicios implementados con Spring Boot y Java.</p><p>A menudo, nos encontramos con eventos que suceden en nuestros sistemas y necesitamos que otros sistemas se enteren de ellos. Notificar estos eventos de manera síncrona puede generar problemas de rendimiento y disponibilidad, ya que los sistemas dependen de la respuesta inmediata de otros sistemas. En cambio, hacerlo de manera asíncrona presenta varias ventajas, como la reducción de la dependencia y el acoplamiento entre sistemas, mejorando la eficiencia y la escalabilidad de nuestras aplicaciones.</p><p>A veces, incluso tenemos procesos manuales que requieren la intervención de una persona para realizar acciones en respuesta a un evento. Con la ayuda de Apache ActiveMQ Artemis, podemos conectar nuestras aplicaciones de manera más eficiente y eliminar estos procesos manuales que no generan valor a nuestros negocios. Este tipo de productos, conocidos como MOM (Message Oriented Middleware), nos permiten implementar el asincronismo, facilitando la comunicación entre sistemas de una manera más flexible y robusta.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-8bec6ab e-flex e-con-boxed e-con e-parent" data-id="8bec6ab" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-181039a elementor-widget elementor-widget-heading" data-id="181039a" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Artemis</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-93f6432 e-flex e-con-boxed e-con e-parent" data-id="93f6432" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-dad8574 elementor-widget elementor-widget-text-editor" data-id="dad8574" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Comenzamos hablando sobre qué es ActiveMQ Artemis.</p><p>En términos oficiales, Apache ActiveMQ Artemis es un intermediario que facilita la comunicación entre diferentes sistemas o aplicaciones. Es de código abierto, muy popular y multiprotocolo, basado en Java. Artemis permite integrar aplicaciones multiplataforma utilizando diversos protocolos, como AMQP (Advanced Message Queuing Protocol &#8211; Protocolo Avanzado de Cola de Mensajes), JMS, MQTT, STOMP, OpenWire, entre otros. Gracias a esta variedad de protocolos, Artemis es una excelente opción para tener comunicación entre dos aplicaciones y poder pasar información de un sistema a otro cuando ocurre un evento.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-c143606 e-flex e-con-boxed e-con e-parent" data-id="c143606" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-6ae1967 elementor-widget elementor-widget-heading" data-id="6ae1967" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Arquitectura </h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-fde5372 e-flex e-con-boxed e-con e-parent" data-id="fde5372" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-f1282bc elementor-widget elementor-widget-text-editor" data-id="f1282bc" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>La estructura utilizada es un Middleware Orientado a Mensajes (MOM), el cual permite la comunicación a través del intercambio de mensajes de forma asíncrona. Esto significa que las operaciones se llevan a cabo sin requerir que todas las partes involucradas en la comunicación estén disponibles al mismo tiempo que ocurre el envío de eventos, permitiendo así que los procesos continúen su ejecución sin esperar una respuesta inmediata.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-2148fe8 e-flex e-con-boxed e-con e-parent" data-id="2148fe8" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-ff809a1 elementor-widget elementor-widget-image" data-id="ff809a1" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="377" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image13-1024x377.png" class="attachment-large size-large wp-image-9947" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image13-1024x377.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image13-300x111.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image13-768x283.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image13.png 1514w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Flujo de Mensajes entre Producer y Consumer con ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-31e7f2d e-flex e-con-boxed e-con e-parent" data-id="31e7f2d" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-8813487 elementor-widget elementor-widget-text-editor" data-id="8813487" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En Artemis contamos con dos tipos de envío de mensajes: los mensajes que se envían a colas de tipo anycast y los de tipo multicast.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-083a3f0 e-flex e-con-boxed e-con e-parent" data-id="083a3f0" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-48070bd elementor-widget elementor-widget-text-editor" data-id="48070bd" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Anycast:</strong> Conocido como punto a punto (Point-to-Point), en este tipo de cola, varios consumidores están a la escucha de la misma cola y van leyendo los mensajes a medida que llegan. Sin embargo, no todos los consumidores pueden leer el mismo mensaje al mismo tiempo.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-dca52e7 e-flex e-con-boxed e-con e-parent" data-id="dca52e7" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-5db2581 elementor-widget elementor-widget-image" data-id="5db2581" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="390" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image15.png" class="attachment-large size-large wp-image-9948" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image15.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image15-300x114.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image15-768x293.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Envío de Mensaje Anycast en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-67f0fdd e-flex e-con-boxed e-con e-parent" data-id="67f0fdd" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-85088b1 elementor-widget elementor-widget-text-editor" data-id="85088b1" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><b>Multicast</b>: Es un modo de distribución de tipo publicación-suscripción (pub/sub). Cada mensaje que se envía a una dirección de tipo multicast se replica a las colas que contienen cada sistema que esté a la escucha de los mismos. Como se muestra en la gráfica, aquí tenemos dos consumidores y ambos se enterarán del mismo mensaje al mismo tiempo.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-6b2f48e e-flex e-con-boxed e-con e-parent" data-id="6b2f48e" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-cf0e1fe elementor-widget elementor-widget-image" data-id="cf0e1fe" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="389" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image8.png" class="attachment-large size-large wp-image-9949" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image8.png 1025w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image8-300x114.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image8-768x291.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Envío de Mensaje Multicast en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-91d1b70 e-flex e-con-boxed e-con e-parent" data-id="91d1b70" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-bd4fbb0 elementor-widget elementor-widget-text-editor" data-id="bd4fbb0" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para el desarrollo de este blog, se trabajará con colas de tipo anycast.</p><p>La versión que utilizaremos de ActiveMQ Artemis será la última hasta la fecha de este blog, que es la 2.35. Podemos buscarla en DockerHub como se puede observar en la imagen.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-a0a3b8b e-flex e-con-boxed e-con e-parent" data-id="a0a3b8b" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-cd7118d elementor-widget elementor-widget-image" data-id="cd7118d" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="748" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image4-1024x748.png" class="attachment-large size-large wp-image-9950" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image4-1024x748.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image4-300x219.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image4-768x561.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image4.png 1393w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">ActiveMQ Artemis en DockerHub</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f36cf0b e-flex e-con-boxed e-con e-parent" data-id="f36cf0b" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a32b2d2 elementor-widget elementor-widget-heading" data-id="a32b2d2" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Spring Boot</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f9427a5 e-flex e-con-boxed e-con e-parent" data-id="f9427a5" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-0b2b577 elementor-widget elementor-widget-text-editor" data-id="0b2b577" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para este blog vamos a trabajar con microservicios de Spring Boot, utilizaremos Maven y el lenguaje Java. La última versión de Spring Boot hasta la fecha de este blog es 3.3.1, y la versión de Java es 21. Agregaremos ActiveMQ Artemis a los proyectos. Los proyectos tienen el nombre de &#8220;producer&#8221; y &#8220;consumer&#8221;. El producer es el encargado de enviar el mensaje a Artemis y crear la cola en Artemis, y el consumer es el encargado de suscribirse a esa cola y leer los mensajes que envíe el producer.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3ca324d e-flex e-con-boxed e-con e-parent" data-id="3ca324d" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-bb58d69 elementor-widget elementor-widget-image" data-id="bb58d69" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="527" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19-1024x527.png" class="attachment-large size-large wp-image-9951" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19-1024x527.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19-300x154.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19-768x395.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19-1536x790.png 1536w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image19.png 1613w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Creación de Proyecto en Spring Initializr para Producer</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-110a9af e-flex e-con-boxed e-con e-parent" data-id="110a9af" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-c79dd84 elementor-widget elementor-widget-image" data-id="c79dd84" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="527" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6-1024x527.png" class="attachment-large size-large wp-image-9952" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6-1024x527.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6-300x154.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6-768x395.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6-1536x790.png 1536w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image6.png 1613w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Creación de Proyecto en Spring Initializr para Consumer</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-2184605 e-flex e-con-boxed e-con e-parent" data-id="2184605" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-d6f6f81 elementor-widget elementor-widget-heading" data-id="d6f6f81" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Escenario a Resolver</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-806c8be e-flex e-con-boxed e-con e-parent" data-id="806c8be" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-42cd513 elementor-widget elementor-widget-text-editor" data-id="42cd513" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En un hospital, hay dos sistemas involucrados en la gestión de camas que funcionan de la siguiente forma:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e3c4945 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="e3c4945" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">El Sistema A, encargado de registrar la disponibilidad de camas cuando un paciente abandona la sala de emergencias.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">El Sistema B, monitorea la ocupación de camas en todo el hospital.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">Actualmente, cuando el Sistema A registra que una cama está disponible, una enfermera debe ingresar manualmente esta información en el Sistema B.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">Se busca una mejora para sincronizar automáticamente estos sistemas, de modo que cualquier actualización en el Sistema A se refleje instantáneamente en el Sistema B, eliminando la necesidad de registros manuales.</span>
									</li>
						</ul>
						</div>
				</div>
				<div class="elementor-element elementor-element-83f6a20 elementor-widget elementor-widget-text-editor" data-id="83f6a20" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para desarrollar este requerimiento, los proyectos que creamos en Spring Boot serán: el producer como nuestro <b>Sistema A</b> y el consumer como nuestro <b>Sistema B.</b></p><p>En el proyecto que creamos en Spring, al agregar la dependencia de Docker y ActiveMQ Artemis, se genera un archivo <b>compose.yaml</b><b>.</b> Utilizaremos este archivo para levantar nuestro contenedor de Artemis. En el proyecto producer, como es el que va a generar el evento, editaremos el archivo <b>compose.yaml</b>, añadiendo la siguiente información:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-e3e5010 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="e3e5010" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">El nombre del contenedor de Artemis, </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">La versión 2.35 (la última hasta la fecha de este blog),</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">Las credenciales para el ingreso a la consola de Artemis y</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-chevron-circle-right"></i>						</span>
										<span class="elementor-icon-list-text">Los puertos donde se ejecuta.</span>
									</li>
						</ul>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-b3b4dfc e-flex e-con-boxed e-con e-parent" data-id="b3b4dfc" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-877ab49 elementor-widget elementor-widget-image" data-id="877ab49" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="360" height="205" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-10-44-00.png" class="attachment-large size-large wp-image-9975" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-10-44-00.png 360w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-10-44-00-300x171.png 300w" sizes="(max-width: 360px) 100vw, 360px" />											<figcaption class="widget-image-caption wp-caption-text">Configuración YAML para Levantar ActiveMQ Artemis en Docker</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-aa662d0 e-flex e-con-boxed e-con e-parent" data-id="aa662d0" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-3b3b5d7 elementor-widget elementor-widget-text-editor" data-id="3b3b5d7" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para levantar el contenedor de Artemis con las modificaciones realizadas al archivo compose.yaml, en este blog se ejecutará con <a href="https://docs.podman.io/en/latest/" target="_blank" rel="noopener">Podman</a> porque la práctica se está realizando en un sistema operativo Fedora, que ya lo incluye. Pero si cuentan con Docker también pueden utilizarlo, no habría problema. Ejecutamos nuestro archivo desde la ubicación donde se encuentra nuestro archivo compose.yaml y ejecutamos:</p><p><b><i>podman-compose -f compose.yaml up</i></b><i> </i></p><p>o con Docker:</p><p><b><i>docker compose -f compose.yaml up</i></b></p><p>Esto comenzará a descargar la imagen de Artemis.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3d60b7e e-flex e-con-boxed e-con e-parent" data-id="3d60b7e" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-19a3c3d elementor-widget elementor-widget-image" data-id="19a3c3d" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="319" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image12-1024x319.png" class="attachment-large size-large wp-image-9955" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image12-1024x319.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image12-300x94.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image12-768x240.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image12.png 1093w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Descarga de Imagen de ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-0ee1d13 e-flex e-con-boxed e-con e-parent" data-id="0ee1d13" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a17ee75 elementor-widget elementor-widget-image" data-id="a17ee75" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="334" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image16-1024x334.png" class="attachment-large size-large wp-image-9956" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image16-1024x334.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image16-300x98.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image16-768x250.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image16.png 1289w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Contenedor de ActiveMQ Artemis Levantado</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f15abd5 e-flex e-con-boxed e-con e-parent" data-id="f15abd5" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-72e8c30 elementor-widget elementor-widget-text-editor" data-id="72e8c30" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Una vez que en los logs salga un mensaje como el siguiente: <b>AMQ241004: Artemis Console available at link</b>, podemos ingresar a un navegador y acceder a la URL <b>localhost:8161</b> para acceder a la pantalla de Artemis.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-65b4866 e-flex e-con-boxed e-con e-parent" data-id="65b4866" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-22dcfa9 elementor-widget elementor-widget-image" data-id="22dcfa9" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="656" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14-1024x656.jpg" class="attachment-large size-large wp-image-9957" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14-1024x656.jpg 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14-300x192.jpg 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14-768x492.jpg 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14-390x250.jpg 390w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image14.jpg 1443w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Pantalla de Logueo de ActiveMQ Artemis en Navegador</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-206cb9c e-flex e-con-boxed e-con e-parent" data-id="206cb9c" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-5c574d9 elementor-widget elementor-widget-text-editor" data-id="5c574d9" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Las credenciales serán las que configuramos en nuestro archivo compose.yaml, en este caso artemis como username y artemis como password.</p><p>Una vez dentro de la consola, podemos observar las versiones de Artemis y navegar por el mismo.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-f7c0c48 e-flex e-con-boxed e-con e-parent" data-id="f7c0c48" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-35e4459 elementor-widget elementor-widget-image" data-id="35e4459" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="691" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image9-1024x691.png" class="attachment-large size-large wp-image-9958" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image9-1024x691.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image9-300x203.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image9-768x518.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image9.png 1477w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Versión de ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-773fddf e-flex e-con-boxed e-con e-parent" data-id="773fddf" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-42d38b5 elementor-widget elementor-widget-image" data-id="42d38b5" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="473" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2-1024x473.png" class="attachment-large size-large wp-image-9959" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2-1024x473.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2-300x139.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2-768x355.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2-1536x710.png 1536w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image2.png 1937w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Pantalla de Inicio de ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-6f5112e e-flex e-con-boxed e-con e-parent" data-id="6f5112e" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1e55df2 elementor-widget elementor-widget-text-editor" data-id="1e55df2" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Se debe deshabilitar el Docker Compose de los proyectos Spring Boot, en el archivo de propiedades application.properties colocar:</p><p><em>spring.docker.compose.enabled=false</em></p><p>Para que no se levante Artemis cada que se ejecute el proyecto, sino que se levante una única vez cuando nosotros lo necesitemos.</p><p>Para poder enviar el evento desde el <strong>Sistema A</strong> al <strong>Sistema B</strong>, necesitamos un método que nos ayude con el envío. En este caso, hemos creado el método pushRequestPaymentOrder (puedes darle cualquier nombre). Primero, creamos nuestro DTO que contendrá la información que necesita el <strong>Sistema B</strong>. Para nuestro caso planteado, vamos a enviar un mensaje que indique que la cama está disponible y el ID de la cama correspondiente.</p><p>Utilizamos el atributo de clase que inyectamos de JmsTemplate, una clase de Spring que facilita el envío y recepción de mensajes a través de JMS. Utilizamos el método convertAndSend, que convierte el objeto DTO en un mensaje en formato JSON y lo envía a TopicDemo, que es el nombre de la cola a la que se envía el mensaje.</p><p>El método pushRequestPaymentOrder se llama desde la lógica de negocio en el sistema cuando se necesita encolar información. Por ejemplo, cuando se detecta que una cama está disponible, se invoca este método para enviar la información al <strong>Sistema B</strong>.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-d55680b e-flex e-con-boxed e-con e-parent" data-id="d55680b" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-6a9d919 elementor-widget elementor-widget-image" data-id="6a9d919" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="664" height="494" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image11.png" class="attachment-large size-large wp-image-9964" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image11.png 664w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image11-300x223.png 300w" sizes="(max-width: 664px) 100vw, 664px" />											<figcaption class="widget-image-caption wp-caption-text">Programación para Encolar Mensajes en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3bbdc0d e-flex e-con-boxed e-con e-parent" data-id="3bbdc0d" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-39123a1 elementor-widget elementor-widget-text-editor" data-id="39123a1" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para que podamos observar la información de ese mensaje en Artemis, debemos tener en nuestro producer lo siguiente:</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-026764e e-flex e-con-boxed e-con e-parent" data-id="026764e" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-6834c1e elementor-widget elementor-widget-image" data-id="6834c1e" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="735" height="231" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-08-57-43.png" class="attachment-large size-large wp-image-9965" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-08-57-43.png 735w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-08-57-43-300x94.png 300w" sizes="(max-width: 735px) 100vw, 735px" />											<figcaption class="widget-image-caption wp-caption-text">Método de Transformación a JSON antes de Encolar en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-b6c1458 e-flex e-con-boxed e-con e-parent" data-id="b6c1458" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-10f7c44 elementor-widget elementor-widget-text-editor" data-id="10f7c44" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>El convertidor se utiliza tanto en el productor como en el consumidor para manejar la transformación del DTO. En el Sistema A, el convertidor transforma el DTO de un objeto Java a JSON antes de enviarlo a Artemis. Luego, cuando consumimos el evento en el Sistema B, el convertidor transforma el JSON almacenado en Artemis de vuelta a un objeto Java. Esto asegura que los datos se mantengan consistentes y fácilmente manejables a lo largo del proceso de comunicación entre sistemas.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-0ea826a e-flex e-con-boxed e-con e-parent" data-id="0ea826a" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-ae4ab64 elementor-widget elementor-widget-image" data-id="ae4ab64" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="390" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7-1024x390.png" class="attachment-large size-large wp-image-9966" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7-1024x390.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7-300x114.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7-768x293.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7-1536x586.png 1536w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image7.png 1907w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Confirmación de Llegada de Mensaje en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-058d6ff e-flex e-con-boxed e-con e-parent" data-id="058d6ff" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-0be212a elementor-widget elementor-widget-image" data-id="0be212a" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="537" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3-1024x537.png" class="attachment-large size-large wp-image-9967" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3-1024x537.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3-300x157.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3-768x403.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3-1536x805.png 1536w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image3.png 1906w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Detalle del Mensaje en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-5e5570d e-flex e-con-boxed e-con e-parent" data-id="5e5570d" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-6addc1b elementor-widget elementor-widget-text-editor" data-id="6addc1b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Una vez confirmado que nuestro evento llegó con normalidad a Artemis y podemos observar su información, lo siguiente es levantar nuestro Sistema B, que en este caso sería nuestro consumidor. Debemos configurarlo para que esté a la escucha de los eventos que lleguen a una cola específica para poder leerlos y acceder a su información.</p><p>Eso lo realizamos de la siguiente manera:</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4423146 e-flex e-con-boxed e-con e-parent" data-id="4423146" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-3aaf924 elementor-widget elementor-widget-image" data-id="3aaf924" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="551" height="214" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-09-13-16.png" class="attachment-large size-large wp-image-9968" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-09-13-16.png 551w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/Screenshot-from-2024-07-15-09-13-16-300x117.png 300w" sizes="(max-width: 551px) 100vw, 551px" />											<figcaption class="widget-image-caption wp-caption-text">Programación para Consumir un Mensaje de una Cola en ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-06cb64b e-flex e-con-boxed e-con e-parent" data-id="06cb64b" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-e630d65 elementor-widget elementor-widget-text-editor" data-id="e630d65" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Creamos nuestro método que tiene la etiqueta <strong>@JmsListener</strong>, que indica que está a la escucha de lo que llegue a esa dirección de cola, llamada TopicDemo, que es el nombre de la cola donde el producer envió el evento. Pero como se mencionó anteriormente, al momento de leer el evento, está leyendo un valor tipo JSON, por lo que queremos que lo transforme al objeto que necesitamos. Para ello, aquí también utilizamos el método <strong>jacksonJmsMessageConverter</strong>.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-daefc47 e-flex e-con-boxed e-con e-parent" data-id="daefc47" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-a793d97 elementor-widget elementor-widget-image" data-id="a793d97" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="894" height="605" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image18-1.png" class="attachment-large size-large wp-image-9969" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image18-1.png 894w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image18-1-300x203.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image18-1-768x520.png 768w" sizes="(max-width: 894px) 100vw, 894px" />											<figcaption class="widget-image-caption wp-caption-text">Método para Consumir Mensaje y Transformación de JSON a Objeto</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3492aa2 e-flex e-con-boxed e-con e-parent" data-id="3492aa2" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-553375b elementor-widget elementor-widget-text-editor" data-id="553375b" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Como podemos ver en los logs, al levantar este microservicio se hará el consumo del mensaje que representa el evento. Ya tenemos que la cama está disponible, y lo siguiente sería actualizar en el Sistema B, en base de datos, que ahora la cama con el ID que acabamos de leer está disponible.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4cd94b6 e-flex e-con-boxed e-con e-parent" data-id="4cd94b6" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-7a37fda elementor-widget elementor-widget-heading" data-id="7a37fda" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Resumen</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-bb377ce e-flex e-con-boxed e-con e-parent" data-id="bb377ce" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-263f5d6 elementor-widget elementor-widget-text-editor" data-id="263f5d6" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En resumen, teníamos un Sistema A que contaba con una información, pero esa información necesitaba saberla el Sistema B. Para que el Sistema B se enterara, era necesario contar con una persona que analizara los cambios en el Sistema A y luego actualizara el Sistema B. Pero, ¿Qué ocurre si durante el almuerzo hay cambios o si la persona encargada de actualizar se distrae? No contaremos con la información actualizada en tiempo real.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-20726a9 e-flex e-con-boxed e-con e-parent" data-id="20726a9" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-4e78236 elementor-widget elementor-widget-image" data-id="4e78236" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="1024" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-1024x1024.jpg" class="attachment-large size-large wp-image-9970" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-1024x1024.jpg 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-300x300.jpg 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-150x150.jpg 150w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-768x768.jpg 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-450x450.jpg 450w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-106x106.jpg 106w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-560x560.jpg 560w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10-70x70.jpg 70w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image10.jpg 1080w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Comunicación entre Sistema A y B a través de una Persona</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4b0efb4 e-flex e-con-boxed e-con e-parent" data-id="4b0efb4" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-b950352 elementor-widget elementor-widget-text-editor" data-id="b950352" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Para eso, presentamos la solución planteada en este Blog: ahora no se requiere de una persona para hacer estas actualizaciones, sino que el Sistema A será un producer que envía eventos a Artemis cuando se desocupe alguna cama. Luego, el Sistema B será un consumer que esta a la escucha de esos eventos en Artemis para leerlos y actualizar automáticamente en sus registros que ahora la cama está disponible, asegurando así información actualizada en todo momento.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-bc67c64 e-flex e-con-boxed e-con e-parent" data-id="bc67c64" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-807f9ca elementor-widget elementor-widget-image" data-id="807f9ca" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="1024" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-1024x1024.jpg" class="attachment-large size-large wp-image-9971" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-1024x1024.jpg 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-300x300.jpg 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-150x150.jpg 150w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-768x768.jpg 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-450x450.jpg 450w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-106x106.jpg 106w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-560x560.jpg 560w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1-70x70.jpg 70w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/07/image1.jpg 1080w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Comunicación entre Sistema A y B a través de ActiveMQ Artemis</figcaption>
										</figure>
									</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-ed84ab3 e-con-full e-flex e-con e-parent" data-id="ed84ab3" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-1b50697 elementor-widget elementor-widget-text-editor" data-id="1b50697" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Esto fue un ejemplo con el uso de colas de tipo anycast. Próximamente se hará un blog con un escenario para colas de tipo multicast.</p><p>Si tienes alguna pregunta o comentario sobre este tema, no dudes en dejarlos abajo. Nos encantaría saber tu opinión y ayudarte con cualquier duda que puedas tener. ¡Gracias por leer!</p>								</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-92a55cb e-flex e-con-boxed e-con e-parent" data-id="92a55cb" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-29d2f9a elementor-widget elementor-widget-text-editor" data-id="29d2f9a" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><strong>Link de los proyectos:</strong></p><p><a href="https://github.com/softwareevolutivo/artemis" target="_blank" rel="noopener">https://github.com/softwareevolutivo/artemis</a></p><p><strong>Referencia:</strong></p><ul><li><a href="https://activemq.apache.org/components/artemis/documentation/2.0.0/address-model.html" target="_blank" rel="noopener">https://activemq.apache.org/components/artemis/documentation/2.0.0/address-model.html</a></li></ul><ul><li><strong>Taller en Youtube &#8211; Apache ActiveMQ Artemis ▶ ¿Qué es y para qué sirve?</strong></li></ul><p><a href="https://www.youtube.com/watch?v=Sn4TyzmtLxU" target="_blank" rel="noopener">https://www.youtube.com/watch?v=Sn4TyzmtLxU</a></p>								</div>
				</div>
				<div class="elementor-element elementor-element-23ebb18 elementor-widget elementor-widget-spacer" data-id="23ebb18" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-a3e4b03 e-flex e-con-boxed e-con e-parent" data-id="a3e4b03" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-3e4a8a0 elementor-widget elementor-widget-witr_section_call_to_ac" data-id="3e4a8a0" data-element_type="widget" data-e-type="widget" data-widget_type="witr_section_call_to_ac.default">
				<div class="elementor-widget-container">
								<!-- themex call to action 3 -->

		<div class=" all_cal_color">
			<div class="cal_to_toggole">
					<div class="themex_content col_content_width_100 text-left">
						<!-- top title -->
							
						<!-- middle title -->
														
								<h2>¿Quieres mejorar tus procesos de integración?</h2>																	
												<!-- bottom title -->
													<!-- content -->
													<p>Descubre nuestros servicios y agenda una demo. </p>		
							
					
					</div>
				<!-- button -->
						
						<div class="themex_button no_margin text-right">						
							<a href="https://softwareevolutivo.com.ec/demo-devops-kubernetes/" > 							
								Ver Demo								<!-- icon -->
																	<i class="icofont-paper-plane"></i>
																							
							</a>
						</div>
								
			</div>
		</div>
					</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/apache-activemq-artemis/">Apache ActiveMQ Artemis</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/apache-activemq-artemis/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Esenciales para la Administración de Servidores Linux</title>
		<link>https://softwareevolutivo.com.ec/esenciales-linux/</link>
					<comments>https://softwareevolutivo.com.ec/esenciales-linux/#respond</comments>
		
		<dc:creator><![CDATA[Mateo Martínez]]></dc:creator>
		<pubDate>Sun, 30 Jun 2024 23:27:24 +0000</pubDate>
				<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Administración]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Servidor]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=9833</guid>

					<description><![CDATA[<p>Los servidores son la columna vertebral de las redes informáticas, proporcionando servicios esenciales a otros dispositivos o clientes en la red. En el ámbito de los servidores, Linux se ha consolidado como una opción muy popular y robusta debido a su estabilidad, seguridad y flexibilidad.</p>
<p>The post <a href="https://softwareevolutivo.com.ec/esenciales-linux/">Esenciales para la Administración de Servidores Linux</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="9833" class="elementor elementor-9833">
				<div class="elementor-element elementor-element-8b21cfe e-flex e-con-boxed e-con e-parent" data-id="8b21cfe" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
					</div>
				</div>
		<div class="elementor-element elementor-element-741f56f e-flex e-con-boxed e-con e-parent" data-id="741f56f" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-49960ec elementor-widget elementor-widget-text-editor" data-id="49960ec" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Los servidores son la columna vertebral de las redes informáticas, proporcionando servicios esenciales a otros dispositivos o clientes en la red. En el ámbito de los servidores, Linux se ha consolidado como una opción muy popular y robusta debido a su estabilidad, seguridad y flexibilidad. Estos servidores pueden manejar una amplia variedad de tareas, desde alojar sitios web y gestionar bases de datos hasta operar aplicaciones empresariales y servicios de correo electrónico. </p><p>Contenido:</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-6e2bcde e-flex e-con-boxed e-con e-parent" data-id="6e2bcde" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-22533ec elementor-align-center elementor-widget elementor-widget-button" data-id="22533ec" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title1">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">Sistemas Operativos</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-02cbd2b elementor-widget elementor-widget-button" data-id="02cbd2b" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title2">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">Sistemas de archivos en Linux</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-164ccae elementor-widget elementor-widget-button" data-id="164ccae" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title3">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">El Rol del Administrador de Servidores</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-63e91fe elementor-widget elementor-widget-button" data-id="63e91fe" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title4">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">Instalación de Servidores</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-d52b48f elementor-widget elementor-widget-button" data-id="d52b48f" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title5">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">Gestión de Usuarios y Permisos</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-17d4ebd elementor-widget elementor-widget-button" data-id="17d4ebd" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title6">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">Administración de memoria y almacenamiento</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-0eaf1f3 elementor-widget elementor-widget-button" data-id="0eaf1f3" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title7">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">Monitoreo y Mantenimiento del Sistema</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-3ac7f99 elementor-widget elementor-widget-button" data-id="3ac7f99" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title8">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">Seguridad</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-32d5184 elementor-widget elementor-widget-button" data-id="32d5184" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title9">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">Automatización con cron jobs</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-1e56a0f elementor-widget elementor-widget-button" data-id="1e56a0f" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title10">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">Respaldo y Recuperación</span>
					</span>
					</a>
				</div>
								</div>
				</div>
				<div class="elementor-element elementor-element-587e774 elementor-widget elementor-widget-button" data-id="587e774" data-element_type="widget" data-e-type="widget" data-widget_type="button.default">
				<div class="elementor-widget-container">
									<div class="elementor-button-wrapper">
					<a class="elementor-button elementor-button-link elementor-size-sm" href="#title11">
						<span class="elementor-button-content-wrapper">
						<span class="elementor-button-icon">
				<i aria-hidden="true" class="icofont icofont-link"></i>			</span>
									<span class="elementor-button-text">Administración de Paquetes</span>
					</span>
					</a>
				</div>
								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-06b99e1 e-flex e-con-boxed e-con e-parent" data-id="06b99e1" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-7d4cc57 elementor-widget elementor-widget-heading" data-id="7d4cc57" data-element_type="widget" data-e-type="widget" id="title1" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Sistemas Operativos</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-10a4a61 e-flex e-con-boxed e-con e-parent" data-id="10a4a61" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-364edcd elementor-widget elementor-widget-text-editor" data-id="364edcd" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Los sistemas operativos tipo Unix son conocidos por su robustez y amplia utilización en servidores y estaciones de trabajo. A continuación, se presentan algunos ejemplos destacados:</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-80091a5 e-flex e-con-boxed e-con e-parent" data-id="80091a5" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-55a4e8b elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="55a4e8b" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Unix: Un sistema operativo antiguo y robusto, utilizado principalmente en servidores y estaciones de trabajo.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Linux: Conocida por su flexibilidad y diversidad de distribuciones.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">BSD (FreeBSD, OpenBSD, NetBSD): Derivados de Unix con diferentes enfoques en seguridad, portabilidad y rendimiento.</span>
									</li>
						</ul>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-c6bca79 e-flex e-con-boxed e-con e-parent" data-id="c6bca79" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-2f1d839 elementor-widget elementor-widget-text-editor" data-id="2f1d839" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Linux es un sistema operativo de tipo Unix-like con una arquitectura y filosofía común basada en la idea de que &#8220;todo es un archivo&#8221;. Multiusuario y multitarea, permite la ejecución simultánea de múltiples tareas por diferentes usuarios.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-e20ea27 e-flex e-con-boxed e-con e-parent" data-id="e20ea27" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-63a92ef elementor-widget elementor-widget-image" data-id="63a92ef" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="440" height="292" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/06/Screenshot-from-2024-06-30-16-59-57.png" class="attachment-large size-large wp-image-9848" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/06/Screenshot-from-2024-06-30-16-59-57.png 440w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/06/Screenshot-from-2024-06-30-16-59-57-300x199.png 300w" sizes="(max-width: 440px) 100vw, 440px" />															</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-5785def e-flex e-con-boxed e-con e-parent" data-id="5785def" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-51fba1f elementor-widget elementor-widget-text-editor" data-id="51fba1f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Distribuciones de Linux:</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4a90767 e-flex e-con-boxed e-con e-parent" data-id="4a90767" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-b743a5f elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="b743a5f" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Rolling Release: Ejemplos como Arch Linux y Manjaro. Estas distribuciones reciben actualizaciones continuas, lo que proporciona las últimas características y mejoras de software de manera constante.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Fixed Release: Ejemplos como Debian, Ubuntu y Fedora. Estas distribuciones lanzan versiones específicas con actualizaciones periódicas no solo de seguridad, sino también funcionales. Están diseñadas para diferentes públicos objetivos, como hackers, servidores, usuarios comunes, gamers, entre otros. Algunas distribuciones son más estables que otras, y cada una está optimizada para cierto tipo de trabajo.</span>
									</li>
						</ul>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-5fe3e8d e-flex e-con-boxed e-con e-parent" data-id="5fe3e8d" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-1401755 elementor-widget elementor-widget-heading" data-id="1401755" data-element_type="widget" data-e-type="widget" id="title2" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Sistemas de archivos en Linux</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-8b90646 e-flex e-con-boxed e-con e-parent" data-id="8b90646" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-3c4e588 elementor-widget elementor-widget-text-editor" data-id="3c4e588" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Los sistemas de archivos son métodos estructurados para almacenar y organizar datos en dispositivos de almacenamiento, como discos duros y unidades flash. Cada sistema de archivos tiene características distintas que afectan su rendimiento, confiabilidad y capacidad de manejar diferentes tipos de datos.</p><p>A continuación, se presentan algunos sistemas de archivos en entornos Linux:</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-b94b440 e-flex e-con-boxed e-con e-parent" data-id="b94b440" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-c0ae621 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="c0ae621" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Btrfs: Diseñado para manejar grandes conjuntos de datos con alta redundancia y escalabilidad.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Ext4: Predeterminado en muchas distribuciones, conocido por su rendimiento y confiabilidad.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">XFS: Adecuado para sistemas de archivos muy grandes.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">NTFS, FAT32: Compatibles con Windows, utilizados comúnmente en unidades portátiles.</span>
									</li>
						</ul>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-b2ac259 e-flex e-con-boxed e-con e-parent" data-id="b2ac259" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-f511b1e elementor-widget elementor-widget-heading" data-id="f511b1e" data-element_type="widget" data-e-type="widget" id="title3" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">El Rol del Administrador de Servidores</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-5a78beb e-flex e-con-boxed e-con e-parent" data-id="5a78beb" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-7ba4e36 elementor-widget elementor-widget-text-editor" data-id="7ba4e36" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Habilidades clave:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-de4a1bf elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="de4a1bf" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Control de accesos: Gestión de permisos y autenticación de usuarios.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Monitoreo del sistema: Uso de herramientas como top, htop, y ps para supervisar procesos y recursos.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Administración de recursos: Gestión eficiente de CPU, memoria, y almacenamiento.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Troubleshooting: Resolución de problemas mediante logs y herramientas de diagnóstico.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Instalación y mantenimiento de software: Uso de manejadores de paquetes como APT y DNF (antes YUM).</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Creación de respaldos: Planificación y ejecución de respaldos regulares.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Documentación: Mantener registros detallados de configuraciones y cambios.</span>
									</li>
						</ul>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-cca243a e-flex e-con-boxed e-con e-parent" data-id="cca243a" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-5b75c64 elementor-widget elementor-widget-text-editor" data-id="5b75c64" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Roles específicos:</p>								</div>
				</div>
				<div class="elementor-element elementor-element-6f53710 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="6f53710" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">DevOps Engineer: Enfocado en la integración y entrega continua en el desarrollo de software.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Site Reliability Engineer: Garantiza la operación y confiabilidad de los sistemas.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Security Operations Engineer: Encargado de la seguridad a nivel de red y aplicaciones.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Network Engineer, Database Administrator, Cloud Engineer, etc.</span>
									</li>
						</ul>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-1e3cb7a e-flex e-con-boxed e-con e-parent" data-id="1e3cb7a" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-8893ef0 elementor-widget elementor-widget-heading" data-id="8893ef0" data-element_type="widget" data-e-type="widget" id="title4" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Instalación de Servidores</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-6fadb47 e-flex e-con-boxed e-con e-parent" data-id="6fadb47" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-46c3941 elementor-widget elementor-widget-text-editor" data-id="46c3941" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Métodos de instalación:</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-fd885c5 e-flex e-con-boxed e-con e-parent" data-id="fd885c5" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-06bac7c elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="06bac7c" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Instalación directa: Descargar una imagen ISO y utilizarla para instalar el sistema operativo en el hardware.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Virtualización: Uso de software como VirtualBox o KVM para crear máquinas virtuales. <br>Hypervisor Tipo 1: Ejemplo: VMware ESXi, KVM, instalados directamente en el hardware. <br>Hypervisor Tipo 2: Ejemplo: VirtualBox, está instalado sobre un sistema operativo host.</span>
									</li>
						</ul>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-50a0bdb e-flex e-con-boxed e-con e-parent" data-id="50a0bdb" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-91567e2 elementor-widget elementor-widget-heading" data-id="91567e2" data-element_type="widget" data-e-type="widget" id="title5" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Gestión de Usuarios y Permisos</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-a04ee65 e-flex e-con-boxed e-con e-parent" data-id="a04ee65" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-29f57e7 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="29f57e7" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Creación de usuarios:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">useradd nombre_usuario</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Asignación de contraseñas: passwd nombre_usuario</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">passwd nombre_usuario</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Gestión de grupos: </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">groupadd nombre_grupo</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">usermod -aG nombre_grupo nombre_usuario</span>
									</li>
						</ul>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3897efe e-flex e-con-boxed e-con e-parent" data-id="3897efe" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-e3b4707 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="e3b4707" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Permisos básicos: chmod para cambiar permisos, chown para cambiar propietario.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">chmod 755 archivo</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">chown usuario:grupo archivo</span>
									</li>
						</ul>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-91eaaba e-flex e-con-boxed e-con e-parent" data-id="91eaaba" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-331fedc elementor-widget elementor-widget-heading" data-id="331fedc" data-element_type="widget" data-e-type="widget" id="title6" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Administración de memoria y almacenamiento</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-7b97b04 e-con-full e-flex e-con e-parent" data-id="7b97b04" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-c6e4eb3 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="c6e4eb3" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Visualización de dispositivos de almacenamiento:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">lsblk</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Gestión de particiones:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">fdisk /dev/sdX</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">parted /dev/sdX</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Formateo de particiones, con los diferentes sistemas de archivos:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">mkfs.ext4 /dev/sdX1</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">mkfs.xfs /dev/sdX1</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">mkfs.btrfs /dev/sdX1</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">mkfs.ntfs /dev/sdX1</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">mkfs.fat -F 32 /dev/sdX1</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Montaje y desmontaje de sistemas de archivos:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">mount /dev/sdX1 /mnt</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">umount /mnt</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Visualización del espacio de almacenamiento:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">df -h</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">du -sh /ruta</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Gestión de volúmenes lógicos con LVM: <br>LVM (Logical Volume Manager) es una tecnología de administración de almacenamiento que permite gestionar volúmenes lógicos en Linux de manera flexible y dinámica. Con LVM, puedes crear, modificar y eliminar volúmenes lógicos sin necesidad de apagar el sistema ni mover datos. <br>Este es un tema muy amplio. Más adelante, profundizaremos sobre LVM en un blog dedicado, donde exploraremos cada comando y su aplicación práctica en escenarios de administración de almacenamiento en Linux.</span>
									</li>
						</ul>
						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-66e2fd8 e-flex e-con-boxed e-con e-parent" data-id="66e2fd8" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-42f8fb3 elementor-widget elementor-widget-heading" data-id="42f8fb3" data-element_type="widget" data-e-type="widget" id="title7" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Monitoreo y Mantenimiento del Sistema</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-48811bc e-con-full e-flex e-con e-parent" data-id="48811bc" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-4cac9bb elementor-widget elementor-widget-image" data-id="4cac9bb" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img loading="lazy" decoding="async" width="769" height="512" src="https://softwareevolutivo.com.ec/wp-content/uploads/2024/06/Screenshot-from-2024-06-30-18-34-46.jpg" class="attachment-large size-large wp-image-9913" alt="" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2024/06/Screenshot-from-2024-06-30-18-34-46.jpg 769w, https://softwareevolutivo.com.ec/wp-content/uploads/2024/06/Screenshot-from-2024-06-30-18-34-46-300x200.jpg 300w" sizes="(max-width: 769px) 100vw, 769px" />															</div>
				</div>
				<div class="elementor-element elementor-element-5f60f7f elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="5f60f7f" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Monitoreo de procesos y recursos:</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Comando ps: Lista procesos en ejecución.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">ps aux</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Comando top: Monitorean el uso de recursos en tiempo real.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">top</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Comando lsof: Lista archivos abiertos y los procesos que los utilizan.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">lsof -i :80 (ver procesos que usan el puerto 80)</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Buscar ID de un proceso: </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">pidof nombre_proceso</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">El comando kill -15 PID se usa para enviar una señal de terminación al proceso especificado por su PID.  <br>Se puede reemplazar el -15 por el número -9 que corresponde a la señal SIGKILL, que fuerza la terminación inmediata del proceso sin permitir que el proceso realice ninguna limpieza o cierre ordenado de recursos.</span>
									</li>
						</ul>
						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-56458c4 e-con-full e-flex e-con e-parent" data-id="56458c4" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-aa9d378 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="aa9d378" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Gestión de demonios y servicios:</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Uso de systemd:</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Crear y gestionar demonios</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">systemctl start nombre_servicio</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">systemctl enable nombre_servicio</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Para crear un nuevo servicio personalizado en systemd, debes crear un archivo de unidad en el directorio /etc/systemd/system/.  <br><a href="https://gist.github.com/mmartinezu/ca1eae35daab3d75b837bf60f568fcb5" target="_blank">Ejemplo</a>Te dejamos un ejemplo de un archivo de unidad para el servicio D-Bus (sistema de mensajería que permite que diferentes aplicaciones se comuniquen entre sí). Este archivo configura cómo se debe iniciar, detener y recargar el servicio D-Bus en el sistema, con sus dependencias y configuraciones de entorno.</span>
									</li>
						</ul>
						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-2c820d8 e-flex e-con-boxed e-con e-parent" data-id="2c820d8" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-bd96186 elementor-widget elementor-widget-heading" data-id="bd96186" data-element_type="widget" data-e-type="widget" id="title8" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Seguridad</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-baa5f63 e-flex e-con-boxed e-con e-parent" data-id="baa5f63" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-3643f0f elementor-widget elementor-widget-text-editor" data-id="3643f0f" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Asegurar la seguridad en sistemas Linux implica implementar prácticas y herramientas adecuadas para proteger el sistema contra accesos no autorizados y vulnerabilidades. Aquí se presentan algunas medidas básicas y cómo utilizar herramientas específicas para configurar firewalls y gestionar actualizaciones:</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-78f92a3 e-con-full e-flex e-con e-parent" data-id="78f92a3" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-4fce46c elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="4fce46c" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Configuración de firewalls:</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Uso de ufw (Ubuntu): </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">ufw allow 22/tcp </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">ufw enable</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Uso de firewalld (CentOS,  Fedora, Red Hat, Oracle Linux): </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">firewall-cmd --permanent --add-service=http</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">firewall-cmd --reload</span>
									</li>
						</ul>
						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-48911eb e-con-full e-flex e-con e-parent" data-id="48911eb" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-6753c6a elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="6753c6a" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Gestión de actualizaciones y parches:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">apt update &amp;&amp; apt upgrade (Debian/Ubuntu)</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">dnf update (Red Hat/CentOS)</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Configuración de SSH: Asegurar el acceso remoto.</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Cambios en el SSH: Editar /etc/ssh/sshd_config, se recomienda realizar los siguientes cambios:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Cambio del puerto SSH</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Desactivar el acceso como root</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Restringir usuarios específicos</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Configurar autenticación de clave pública</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Limitar protocolos y cifrados débiles</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Configuración de timeout y límites de intentos</span>
									</li>
						</ul>
						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-241c3a0 e-flex e-con-boxed e-con e-parent" data-id="241c3a0" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-ab4565f elementor-widget elementor-widget-heading" data-id="ab4565f" data-element_type="widget" data-e-type="widget" id="title9" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Automatización con cron jobs</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-2af4407 e-flex e-con-boxed e-con e-parent" data-id="2af4407" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-41420a4 elementor-widget elementor-widget-text-editor" data-id="41420a4" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Configurar y utilizar cron jobs de manera efectiva ayuda a automatizar procesos rutinarios y a mantener la consistencia y eficiencia del sistema operativo Linux. Es importante verificar regularmente los cron jobs existentes y asegurarse de que funcionen según lo esperado para evitar problemas y mantener la integridad del sistema.</p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-421f49d e-con-full e-flex e-con e-parent" data-id="421f49d" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-a2b92c1 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="a2b92c1" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Validación del estado del demonio de cron:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">systemctl status cron</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Creación de cron jobs:</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Editar crontab: </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">crontab -e</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Sintaxis de crontab: minuto hora día_mes mes día_semana comando</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Ejemplo (Ejecutar backup.sh todos los días a las 2 AM): </span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">0 2 * * * /path/to/backup.sh </span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Listar cron jobs:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">crontab -l</span>
									</li>
						</ul>
						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-f874cee e-flex e-con-boxed e-con e-parent" data-id="f874cee" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-87f97c7 elementor-widget elementor-widget-heading" data-id="87f97c7" data-element_type="widget" data-e-type="widget" id="title10" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Respaldo y Recuperación</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-3ca6040 e-con-full e-flex e-con e-parent" data-id="3ca6040" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-7f08aff elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="7f08aff" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Métodos de creación de respaldos:</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Respaldo con tar:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">tar -czf /ruta/destino/respaldo.tar.gz /ruta/origen</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Respaldo incremental con rsync:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">rsync -av --delete /ruta/origen /ruta/destino</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Uso de herramientas de respaldo:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">duplicity</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">borg</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Estrategias de recuperación:</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Restauración de archivos con tar:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">tar -xzf respaldo.tar.gz -C /ruta/destino</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Restauración de archivos con rsync:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="fas fa-code"></i>						</span>
										<span class="elementor-icon-list-text">rsync -av /ruta/destino/ /ruta/origen</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>Planificación de recuperación ante desastres:</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Documentar procedimientos de recuperación.</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Realizar pruebas regulares de restauración.</span>
									</li>
						</ul>
						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-09a0320 e-flex e-con-boxed e-con e-parent" data-id="09a0320" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-8909dcb elementor-widget elementor-widget-heading" data-id="8909dcb" data-element_type="widget" data-e-type="widget" id="title11" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Administración de Paquetes</h2>				</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-4b05aaf e-con-full e-flex e-con e-parent" data-id="4b05aaf" data-element_type="container" data-e-type="container">
				<div class="elementor-element elementor-element-de7c845 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list" data-id="de7c845" data-element_type="widget" data-e-type="widget" data-widget_type="icon-list.default">
				<div class="elementor-widget-container">
							<ul class="elementor-icon-list-items">
							<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text">Manejadores de paquetes:</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>APT (Debian/Ubuntu):</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Actualizar lista de paquetes: sudo apt update</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Instalar un paquete: sudo apt install nombre_paquete</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Eliminar un paquete: sudo apt remove nombre_paquete</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>YUM (Red Hat/CentOS):</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Actualizar lista de paquetes: sudo yum update</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Instalar un paquete: sudo yum install nombre_paquete</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Eliminar un paquete: sudo yum remove nombre_paquete</span>
									</li>
								<li class="elementor-icon-list-item">
										<span class="elementor-icon-list-text"><br>DNF (Fedora/CentOS 8+):</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Actualizar lista de paquetes: sudo dnf update</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Instalar un paquete: sudo dnf install nombre_paquete</span>
									</li>
								<li class="elementor-icon-list-item">
											<span class="elementor-icon-list-icon">
							<i aria-hidden="true" class="far fa-dot-circle"></i>						</span>
										<span class="elementor-icon-list-text">Eliminar un paquete: sudo dnf remove nombre_paquete</span>
									</li>
						</ul>
						</div>
				</div>
				</div>
		<div class="elementor-element elementor-element-3aa3c50 e-flex e-con-boxed e-con e-parent" data-id="3aa3c50" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-c9a2e8d elementor-widget elementor-widget-text-editor" data-id="c9a2e8d" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En conclusión, la administración de servidores Linux contempla una amplia gama de competencias y conocimientos, desde la instalación y configuración inicial hasta el monitoreo, mantenimiento y seguridad continuos. </p>								</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-7b5dfd2 e-flex e-con-boxed e-con e-parent" data-id="7b5dfd2" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-59f564e elementor-widget elementor-widget-spacer" data-id="59f564e" data-element_type="widget" data-e-type="widget" data-widget_type="spacer.default">
				<div class="elementor-widget-container">
							<div class="elementor-spacer">
			<div class="elementor-spacer-inner"></div>
		</div>
						</div>
				</div>
				<div class="elementor-element elementor-element-d99c71f elementor-widget elementor-widget-witr_section_call_to_ac" data-id="d99c71f" data-element_type="widget" data-e-type="widget" data-widget_type="witr_section_call_to_ac.default">
				<div class="elementor-widget-container">
								<!-- themex call to action 3 -->

		<div class=" all_cal_color">
			<div class="cal_to_toggole">
					<div class="themex_content col_content_width_100 text-left">
						<!-- top title -->
														
								<h5>Conoce nuestros servicios</h5>																	
							
						<!-- middle title -->
														
								<h2>Orquestación de Aplicaciones y Servicios</h2>																	
												<!-- bottom title -->
													<!-- content -->
													<p>Nuestro enfoque en Kubernetes está diseñado para impulsar la escalabilidad de su infraestructura de TI. </p>		
							
					
					</div>
				<!-- button -->
						
						<div class="themex_button no_margin text-right">						
							<a href="https://softwareevolutivo.com.ec/orquestacion-de-aplicaciones-y-servicios-2/" > 							
								Ver más								<!-- icon -->
																	<i class="icofont-paper-plane"></i>
																							
							</a>
						</div>
								
			</div>
		</div>
					</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/esenciales-linux/">Esenciales para la Administración de Servidores Linux</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/esenciales-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Descubriendo a Quarkus: ¿Que es, Características y por qué utilizarlo?</title>
		<link>https://softwareevolutivo.com.ec/descubriendo-a-quarkus/</link>
					<comments>https://softwareevolutivo.com.ec/descubriendo-a-quarkus/#respond</comments>
		
		<dc:creator><![CDATA[Bryan Diaz]]></dc:creator>
		<pubDate>Thu, 23 Mar 2023 15:43:36 +0000</pubDate>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Infrarestructura de Software]]></category>
		<category><![CDATA[Kubernetes]]></category>
		<category><![CDATA[Tendencias]]></category>
		<category><![CDATA[Aplicaciones nativas de la nube.]]></category>
		<category><![CDATA[Java & Kotlin Framework]]></category>
		<category><![CDATA[microservicios]]></category>
		<category><![CDATA[Quarkus]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=7074</guid>

					<description><![CDATA[<p>En la actualidad, Quarkus representa la pila tecnológica de Java Nativa de Kubernetes (una colección de herramientas, marcos, lenguajes de programación y bibliotecas) diseñada para GraalVM y OpenJDK HotSpot (Máquinas Virtuales de Java). </p>
<p>The post <a href="https://softwareevolutivo.com.ec/descubriendo-a-quarkus/">Descubriendo a Quarkus: ¿Que es, Características y por qué utilizarlo?</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="7074" class="elementor elementor-7074">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-e0e6db6 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="e0e6db6" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9de646c" data-id="9de646c" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap">
							</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-2ba9e87 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="2ba9e87" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b753beb" data-id="b753beb" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8384d36 elementor-widget elementor-widget-text-editor" data-id="8384d36" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p dir="ltr" style="line-height: 1.38;text-align: center;margin-top: 0pt;margin-bottom: 3pt"><span style="font-size: 23pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Descubriendo a Quarkus: ¿Que es, Características y por qué utilizarlo?</span></p><p><b style="font-weight: normal"> </b></p><p dir="ltr" style="line-height: 1.38;text-align: center;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"><span style="border: none;overflow: hidden;width: 225px;height: 225px"><img loading="lazy" decoding="async" style="margin-left: 0px;margin-top: 0px" src="https://lh6.googleusercontent.com/gkV80UWiso2OXVNhJfMbHlkFVS4TAgb0S2gBsM5H19vp_2DTD83hWCXvpRtP1yJ0QtKzAtq37Fz3ojdIbhmmZYsm6-_7f2iKUfLpJsZcbuJJqo83hDNwgI2I0dc-8v9uY4lk5PB3VdnJyR4-eDlAkEQ" width="225" height="225" /></span></span></p><p><b style="font-weight: normal"><br /><br /></b></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">En la actualidad, Quarkus representa la pila tecnológica de Java Nativa de Kubernetes (una colección de herramientas, marcos, lenguajes de programación y bibliotecas) diseñada para GraalVM y OpenJDK HotSpot (Máquinas Virtuales de Java). </span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> </span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Los desarrolladores pueden crear aplicaciones con el mismo Stack (Estructura de Datos) y microservicios más ligeros, rápidos y escalables gracias a las mejores bibliotecas y estándares de Java utilizados en su creación. Esta herramienta permite a los desarrolladores escribir código en Java/Kotlin mientras proporciona funciones de gestión de memoria y escalabilidad. Por lo tanto, &#8220;Quarkus&#8221; ayuda a los desarrolladores a trabajar de manera proactiva y eficiente si buscan una forma eficiente de desarrollar una determinada aplicación o microservicio Java, ya que es una de las mejores opciones disponibles.</span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> </span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Quarkus es más que un proyecto de código abierto presentado por Red Hat (Que conquistó a la comunidad Java y el primer release fué presentado en el 2019), por el hecho de que combina la productividad y la alegría del desarrollador (similar a Node.js), con la velocidad y rendimiento de GO, puesto que aquello le permite a los desarrolladores Java crear soluciones tecnológicas y arquitecturas modernas futuristas. </span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> </span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Turețchi (2022) muestra que Quarkus es una pila de Java nativa para la nube, basada en contenedores y diseñada para mejorar la productividad de los desarrolladores, reducir la huella de memoria de las aplicaciones y microservicios Java. Esta herramienta brinda a los desarrolladores una experiencia de tiempo de ejecución unificada y liviana mediante el uso de GraalVM, HotSpot y otros lenguajes como Kotlin, lo que permite el desarrollo eficiente de aplicaciones modernas nativas de la nube, con un enfoque en la escalabilidad y la gestión de la memoria. En consecuencia, Quarkus, como parte de un conjunto de herramientas tecnológicas, facilita la creación rápida de servicios modernos nativos en la nube.</span></p><h1 dir="ltr" style="line-height: 1.38;text-align: justify;margin-top: 20pt;margin-bottom: 6pt"><span style="font-size: 19pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> </span></h1><h1 dir="ltr" style="line-height: 1.38;text-align: justify;margin-top: 20pt;margin-bottom: 6pt"><span style="font-size: 19pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Aplicaciones de Quarkus y por qué es actualmente el marco más popular</span></h1><div><span style="font-size: 19pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> </span></div><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Quarkus es uno de los marcos de desarrollo nativos en la nube más populares en la industria tecnológica debido a sus características notables. Ofrece un tiempo de arranque rápido, una pequeña huella de memoria y una gestión escalable de la memoria. Por esta razón, el marco Quarkus con Kotlin es ampliamente utilizado en la industria. Su capacidad para reducir los tiempos de desarrollo también ayuda a mantener un alto rendimiento con servidores y redes de baja gama.</span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Cabe recalcar que, todos estos elementos claves, inciden en la creación  de aplicaciones con un alto grado de rapidez/eficiencia, ya que se pueden implementar y escalar fácilmente en varias arquitecturas de la nube. </span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Con las capacidades de Quarkus, las organizaciones ahora pueden desarrollar servicios modernos con mayor velocidad y eficiencia que nunca, y usando Java o Kotlin proporciona una experiencia de desarrollo fluida con un modelo de programación reactivo moderno.</span></p><p><b style="font-weight: normal"> </b></p><h1 dir="ltr" style="line-height: 1.38;text-align: justify;margin-top: 20pt;margin-bottom: 6pt"><span style="font-size: 19pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Arquitectura Empresarial Tradicional vs. Arquitectura Contenerizada.</span></h1><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">En Quarkus, puedes desarrollar aplicaciones Java y ejecutarlas directamente en el sistema operativo subyacente sin necesidad de una máquina virtual de Java intermedia. Esto reduce significativamente el tiempo de ejecución, el consumo de memoria y otros recursos, lo que se traduce en una ejecución más eficiente y rápida de la aplicación. Quarkus lleva poco más de tres años en el mercado y ofrece una propuesta de valor para la creación de aplicaciones Java de última generación. Además, proporciona arquitecturas escalables para ejecutar aplicaciones Java y Serverless en la nube.</span></p><p><b style="font-weight: normal"> </b></p><p dir="ltr" style="line-height: 1.38;margin-top: 0pt;margin-bottom: 16pt"><span style="font-size: 15pt;font-family: Arial;color: #666666;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Arquitectura Tradicional</span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">En la arquitectura tradicional, el primer nivel consta del hardware esencial para ejecutar el segundo nivel, que es el sistema operativo, como por ejemplo una Mac OS o Linux. En el tercer nivel, se requería la instalación de la popular Máquina Virtual de Java (JVM), mientras que en el último nivel, comúnmente utilizado en entornos empresariales, se instalaba un servidor de aplicaciones. Para ello, era necesario contar con una máquina virtual de Java capaz de comunicarse con el sistema operativo subyacente y traducir toda la aplicación al sistema operativo. Esta arquitectura era común en empresas, pero con el tiempo ha dejado de ser una buena práctica debido a sus implicaciones en el desarrollo, la agilidad y la complejidad en su mantenimiento. Actualmente, existen otras arquitecturas que ofrecen soluciones más ligeras y eficientes.</span></p><p dir="ltr" style="line-height: 1.38;text-align: center;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"><span style="border: none;overflow: hidden;width: 308px;height: 321px"><img decoding="async" style="margin-left: -10.474049996130287px;margin-top: 0px" src="https://lh3.googleusercontent.com/ZJBtiVJmQVYJLQ0r6p1AB3b4Vaq_yvPbx-kYxcyFW6GxzCpBeBHyfo9EK1dKtX8xSSYkKdLPYzanN7h1hUSht4lGwOYqVeELHOnybCQyALhpwzIyCMB1dhdK3o8shTFzqwsfumnDxksGsf0Z6kATcn4" width="334.0261041431586" height="362.72693754855516" /></span></span></p><p dir="ltr" style="line-height: 1.38;text-align: center;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Figura 1: Arquitectura Java Tradicional</span></p><p><b style="font-weight: normal"> </b></p><p dir="ltr" style="line-height: 1.38;margin-top: 0pt;margin-bottom: 16pt"><span style="font-size: 15pt;font-family: Arial;color: #666666;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Arquitectura Contenerizadas.</span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">En la actualidad, la arquitectura contenerizada se ha vuelto cada vez más popular gracias a la presencia de nuevas tecnologías en el mercado. Entre ellas, la tecnología Docker (Si te interesa, en un artículo anterior compartimos los </span><a style="text-decoration: none" href="https://softwareevolutivo.com.ec/docker-primeros-pasos/"><span style="font-size: 12pt;font-family: Arial;color: #1155cc;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: underline;vertical-align: baseline">Primeros pasos en Docker.</span></a><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">) ha tomado un gran protagonismo en la mayoría de las empresas. Docker nos permite construir y empaquetar aplicaciones de forma portable, lo que significa que pueden ejecutarse en diferentes sistemas operativos y entornos sin necesidad de compilar la aplicación para un sistema operativo en particular. En esencia, Docker realiza una tarea similar a la que la máquina virtual de Java realizaba, pero aplicable a cualquier tipo de aplicación.</span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> </span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">En la arquitectura contenerizada, el primer nivel es el hardware, seguido por el sistema operativo, que puede ser cualquiera que tenga la capacidad de ejecutar contenedores. En el siguiente nivel, se debe instalar Docker para poder colocar nuestras aplicaciones en contenedores y ejecutarlas. Gracias a esta arquitectura, podemos tener diferentes versiones de aplicaciones sin que esto suponga un problema, ya que cada una se ejecuta en un contenedor independiente. Esto nos brinda una ventaja significativa en términos de mantenimiento y evita conflictos entre versiones de aplicativos.</span></p><p><b style="font-weight: normal"> </b></p><p dir="ltr" style="line-height: 1.38;text-align: center;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"><span style="border: none;overflow: hidden;width: 321px;height: 333px"><img loading="lazy" decoding="async" style="margin-left: 0px;margin-top: 0px" src="https://lh6.googleusercontent.com/Kz3MHw-1B25dIW4mcqnLwgYUP7Z1auXI4zZIn9Tw0Tz26gNsOYf06zw1-CYwwi6KQKhQHJVThCiFNErCaSL25sIcma7BQig69xlzFnmc8AIHAXoPXaeJ6AuUT8aMCO7Z2SHaaTSZ7tF1hD7-w4y3New" width="321" height="333" /></span></span></p><p dir="ltr" style="line-height: 1.38;text-align: center;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Figura 2: Arquitectura Contenerizadas</span></p><p><b style="font-weight: normal"> </b></p><p dir="ltr" style="line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 11pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Quarkus representa una mejora significativa en la arquitectura contenerizada al eliminar la necesidad de tener una JVM en cada contenedor para la ejecución de nuestras aplicaciones. Esto permite un despliegue más rápido y una menor utilización de recursos, lo que se traduce en una mayor eficiencia y ahorro de costos. </span></p><p><b style="font-weight: normal"> </b></p><p dir="ltr" style="line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 19pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Superpoderes de Quarkus: Gestión de Memoria y Escalabilidad</span></p><p dir="ltr" style="line-height: 1.38;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 19pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> </span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Los desarrolladores pueden utilizar Quarkus, un marco Java que les brinda las herramientas necesarias para administrar la memoria de manera efectiva y escalar sus aplicaciones. Quarkus cuenta con una variedad de herramientas de optimización de memoria, como administración de memoria dinámica, recolección de elementos no utilizados y dimensionamiento de almacenamiento dinámico. Además, Quarkus proporciona soluciones de escalabilidad para aplicaciones que necesitan escalar rápidamente hacia arriba o hacia abajo, a través de herramientas de escalabilidad como orquestación de contenedores, escalado automático y equilibrio de carga. Estas características permiten a los desarrolladores asegurarse de que sus aplicaciones puedan manejar grandes cantidades de tráfico sin problemas de rendimiento. Con la administración de memoria dinámica de Quarkus, los desarrolladores pueden realizar cambios en sus aplicaciones sobre la marcha sin necesidad de reiniciar la aplicación, lo que les permite probar rápidamente los cambios y optimizar el uso de la memoria. Es importante destacar que la variedad de herramientas de escalabilidad permite la escalabilidad horizontal, lo que permite a las aplicaciones manejar fácilmente una mayor carga de usuarios.</span></p><p><b style="font-weight: normal"> </b></p><h1 dir="ltr" style="line-height: 1.38;text-align: justify;margin-top: 20pt;margin-bottom: 6pt"><span style="font-size: 19pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Características y ventajas de Quarkus sobre los marcos tradicionales de Java</span></h1><div><span style="font-size: 19pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> </span></div><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Quarkus es un marco independiente del tiempo de ejecución diseñado para proporcionar una forma eficiente y rentable de desarrollar aplicaciones nativas de la nube. Ofrece una gestión inteligente de la memoria y herramientas que facilitan a los desarrolladores la creación de aplicaciones con menos recursos y tiempo de arranque más rápidos que los marcos de Java tradicionales, lo que permite que las aplicaciones sean escalables de forma rápida y eficiente. Además, Quarkus tiene ventajas sobre los marcos de Java tradicionales en cuanto a la gestión inteligente de la memoria, la escalabilidad y el rendimiento mejorado, y brinda a los desarrolladores la capacidad de escribir código en cualquier idioma que elijan e implementarlo como una aplicación en contenedores, lo que lo convierte en una excelente opción para aquellos que buscan aprovechar los beneficios de la computación en la nube manteniendo el control sobre sus aplicaciones.</span></p><p><span style="background-color: transparent;color: #000000;font-family: Arial;font-size: 19pt;text-align: justify"> </span></p><p><span style="background-color: transparent;color: #000000;font-family: Arial;font-size: 19pt;text-align: justify">Desventajas de Quarkus sobre los marcos tradicionales de Java</span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Aunque Quarkus tiene muchas ventajas para el desarrollo de aplicaciones en la nube, también tiene algunas desventajas a tener en cuenta. Una de ellas es que, al ser un marco relativamente nuevo, puede haber una curva de aprendizaje para los desarrolladores que no estén familiarizados con él. Además, debido a que Quarkus utiliza tecnologías de vanguardia, puede haber algunos problemas de compatibilidad con bibliotecas y frameworks más antiguos. Por último, aunque Quarkus es altamente escalable, puede ser menos adecuado para aplicaciones que no necesiten escalabilidad horizontal, ya que esta característica puede agregar complejidad y costo al desarrollo y la implementación.</span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> </span></p><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">El tamaño de la imagen nativa de Quarkus puede ser una desventaja para algunos usuarios, por el hecho de que puede resultar más grande que el tamaño de la imagen de una aplicación Java tradicional. Esto se debe a que la imagen nativa incluye todo lo necesario para que la aplicación se ejecute sin depender de una máquina virtual, lo que aumenta su tamaño. Sin embargo, es importante tener en cuenta que esta desventaja puede ser mitigada mediante la optimización de la imagen y la eliminación de componentes innecesarios. Además, el tamaño de la imagen puede ser compensado por las ventajas en cuanto a rendimiento y eficiencia que ofrece Quarkus.</span></p><h1 dir="ltr" style="line-height: 1.38;margin-top: 20pt;margin-bottom: 6pt"><span style="font-size: 20pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> </span></h1><h1 dir="ltr" style="line-height: 1.38;margin-top: 20pt;margin-bottom: 6pt"><span style="font-size: 20pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Conclusiones</span></h1><p dir="ltr" style="line-height: 1.38;text-indent: 36pt;text-align: justify;margin-top: 0pt;margin-bottom: 0pt"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">En resumen, Quarkus es un nuevo marco de desarrollo de Java de alto rendimiento que permite a los desarrolladores crear aplicaciones empresariales de manera fácil y rápida. Con sus características únicas como la eficiencia del tiempo de ejecución, el soporte de Java y la integración con tecnologías empresariales, Quarkus es una opción atractiva para los desarrolladores que buscan crear aplicaciones rápidas y escalables. Por esa razón, vale la pena explorar Quarkus como una opción para su próximo plan de desarrollo de aplicaciones.</span></p><p><b style="font-weight: normal"> </b></p><h1 dir="ltr" style="line-height: 1.38;text-align: justify;margin-top: 20pt;margin-bottom: 6pt"><span style="background-color: transparent;color: #000000;font-family: Arial;font-size: 20pt;font-weight: 400"> </span></h1><h1 dir="ltr" style="line-height: 1.38;text-align: justify;margin-top: 20pt;margin-bottom: 6pt"><span style="background-color: transparent;color: #000000;font-family: Arial;font-size: 20pt;font-weight: 400">Referencias</span></h1><p> </p><ul style="margin-top: 0;margin-bottom: 0;padding-inline-start: 48px"><li dir="ltr" style="list-style-type: disc;font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"><p dir="ltr" style="line-height: 1.38;text-align: justify;margin-top: 0pt;margin-bottom: 0pt" role="presentation"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">https://quarkus.io/</span></p></li><li dir="ltr" style="list-style-type: disc;font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"><p dir="ltr" style="line-height: 1.38;text-align: justify;margin-top: 0pt;margin-bottom: 0pt" role="presentation"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Gascó Compte, A. (2022). Sistema de ayuda a las pruebas de fragilidad. Obtenido de: </span><a style="text-decoration: none" href="https://repositori.uji.es/xmlui/handle/10234/200566"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">https://repositori.uji.es/xmlui/handle/10234/200566</span></a></p></li><li dir="ltr" style="list-style-type: disc;font-size: 12pt;font-family: Arial;color: #000000;background-color: transparent;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"><p dir="ltr" style="line-height: 1.38;text-align: justify;margin-top: 0pt;margin-bottom: 0pt" role="presentation"><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline">Turețchi, G., &amp; Cerbu, O. (2022). Aplicarea frameworkului Quarkus în cadrul arhitecturii bazate pe microservicii. In </span><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: italic;font-variant: normal;text-decoration: none;vertical-align: baseline">Conferinţa tehnico-ştiinţifică a studenţilor, masteranzilor şi doctoranzilor</span><span style="font-size: 12pt;font-family: Arial;color: #000000;background-color: #ffffff;font-weight: 400;font-style: normal;font-variant: normal;text-decoration: none;vertical-align: baseline"> (Vol. 1, pp. 56-59).</span></p></li></ul>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/descubriendo-a-quarkus/">Descubriendo a Quarkus: ¿Que es, Características y por qué utilizarlo?</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/descubriendo-a-quarkus/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>¿Qué opciones tiene mi empresa ante los cambios tecnológicos y del mercado?</title>
		<link>https://softwareevolutivo.com.ec/que-opciones-tiene-mi-empresa-ante-los-cambios-tecnologicos-y-del-mercado/</link>
					<comments>https://softwareevolutivo.com.ec/que-opciones-tiene-mi-empresa-ante-los-cambios-tecnologicos-y-del-mercado/#respond</comments>
		
		<dc:creator><![CDATA[Gissella Trujillo]]></dc:creator>
		<pubDate>Wed, 11 Jan 2023 16:25:55 +0000</pubDate>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Infrarestructura de Software]]></category>
		<category><![CDATA[Liderazgo]]></category>
		<category><![CDATA[Negocio]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Automatización]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Disponibilidad]]></category>
		<category><![CDATA[Escalabilidad]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=6973</guid>

					<description><![CDATA[<p>Históricamente, las empresas han cambiado constantemente, a la par de los hábitos de consumo, y con el avance de la tecnología, este proceso de mejora continua no se ha detenido desde el inicio del comercio, la diferencia con nuestra realidad actual es la velocidad con la que las cosas cambian y la tecnología avanza. </p>
<p>Este proceso de mejora continua, que no se detiene y acelera cada día es la razón principal para cuestionar nuestra estrategia tecnológica o la carencia de ella. Otras razones importantes incluyen:</p>
<p>The post <a href="https://softwareevolutivo.com.ec/que-opciones-tiene-mi-empresa-ante-los-cambios-tecnologicos-y-del-mercado/">¿Qué opciones tiene mi empresa ante los cambios tecnológicos y del mercado?</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6973" class="elementor elementor-6973">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-f0bcadb elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="f0bcadb" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7ce30c7" data-id="7ce30c7" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1eb1a12 elementor-widget elementor-widget-text-editor" data-id="1eb1a12" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-weight: 400;">El éxito de las empresas es directamente proporcional a su habilidad de adoptar modelos comerciales basados en software, como parte de su estrategia y su interacción con el cliente.</span><b>Fig.1</b></p><p> </p><p><span style="font-weight: 400;">En diferentes industrias, las empresas posicionadas se ven amenazadas por empresas basadas en </span><span style="font-weight: 400;">software</span><span style="font-weight: 400;">; por lo que se ven forzadas a</span> <b>adaptarse a nuevos esquemas comerciales.</b></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ba82172 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ba82172" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-51aba25" data-id="51aba25" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7e72b8c elementor-widget elementor-widget-image" data-id="7e72b8c" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="768" src="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion.png" class="attachment-large size-large wp-image-6986" alt="Fig.1 El éxito empresarial y el software empresarial" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-300x225.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-768x576.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Fig.1 El éxito empresarial y el software empresarial</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-d094d67 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d094d67" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-78de8d7" data-id="78de8d7" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-508f527 elementor-widget elementor-widget-text-editor" data-id="508f527" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><b>¿Qué pueden hacer las empresas para hacer frente a la realidad cambiante del mercado actual?</b></p><p> </p><p><span style="font-weight: 400;">Integrar la tecnología en todas las áreas de la empresa, cambiando la manera en que opera y entrega valor a los clientes, esto implica:</span></p><ol><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Cambios culturales.</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Procesos Ágiles.</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Arquitectura de la siguiente generación.</span></li></ol><p> </p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-67426bf elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="67426bf" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9d23706" data-id="9d23706" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-1103be9 elementor-widget elementor-widget-image" data-id="1103be9" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="768" src="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-1.png" class="attachment-large size-large wp-image-6987" alt="Fig.2 Realidad actual" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-1.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-1-300x225.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-1-768x576.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Fig.2 Realidad actual
</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ae4a040 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ae4a040" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-27f7166" data-id="27f7166" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-a722559 elementor-widget elementor-widget-text-editor" data-id="a722559" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-weight: 400;">El proceso de transformación para cada empresa es diferente, por lo que depende de sus necesidades específicas. Por ejemplo: </span></p><p> </p><p><b>¿Cómo responder ante la amenaza de un nuevo competidor?</b></p><p><span style="font-weight: 400;">Ante la amenaza de un nuevo competidor disruptivo, con un nuevo software avanzado, la mejor opción para una empresa consolidada es lograr primero que sus operaciones actuales sean más eficientes. </span></p><p>La <b>Estrategia</b> de respuesta ante un mercado cambiante y nuevos competidores, abarca más que solo tecnología, implica preparar a sus <b>personas y procesos</b>; para las empresas consolidadas, un socio con experiencia en adopción de nuevas tecnologías puede agregar valor y ayudar en su proceso de mejora continua.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-b8da7e0 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b8da7e0" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7c09d1b" data-id="7c09d1b" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-3201eb3 elementor-widget elementor-widget-image" data-id="3201eb3" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="768" src="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-2.png" class="attachment-large size-large wp-image-6988" alt="Fig.3 Amenaza de un nuevo competidor" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-2.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-2-300x225.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-2-768x576.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Fig.3 Amenaza de un nuevo competidor</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ce745c3 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ce745c3" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9c32642" data-id="9c32642" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c93a375 elementor-widget elementor-widget-text-editor" data-id="c93a375" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><b>¿Por qué es fundamental contar con una estrategia tecnológica?</b></p><p> </p><p><span style="font-weight: 400;">Históricamente, las empresas han cambiado constantemente, a la par de los hábitos de consumo, y con el avance de la tecnología, este proceso de mejora continua no se ha detenido desde el inicio del comercio, la diferencia con nuestra realidad actual es la velocidad con la que las cosas cambian y la tecnología avanza. </span></p><p> </p><p><span style="font-weight: 400;">Este proceso de mejora continua, que no se detiene y acelera cada día es la razón principal para cuestionar nuestra estrategia tecnológica o la carencia de ella. Otras razones importantes incluyen:</span></p><p> </p><ul><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Adopción y uso de la tecnología en todas las industrias: las empresas deben cambiar para adaptarse a los avances tecnológicos y su uso que aumenta rápidamente.</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Competidores que son más veloces y eficientes con sus recursos, entienden mejor a sus clientes y dan un valor diferenciado: Las empresas deben actualizarse y realizar cambios iterativos y continuos para seguir siendo competitivas.</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">El comportamiento, las demandas y las expectativas cada vez más altas de los clientes: Las empresas que no logran aprovechar las tecnologías digitales corren el riesgo de perder cuota del mercado.</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Rápida innovación e invención: La transformación digital está cambiando la manera en que usamos la tecnología y creando nuevos competidores y nuevos modelos empresariales en todas las industrias.</span></li></ul>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-d79770e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="d79770e" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6b7941a" data-id="6b7941a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-e9f3ccb elementor-widget elementor-widget-image" data-id="e9f3ccb" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="768" src="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-3.png" class="attachment-large size-large wp-image-6989" alt="Fig. 4 Razones por las que tener una estrategia tecnológica" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-3.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-3-300x225.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-3-768x576.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Fig. 4 Razones por las que tener una estrategia tecnológica</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7e53113 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7e53113" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-12e2250" data-id="12e2250" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-267ecae elementor-widget elementor-widget-text-editor" data-id="267ecae" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><b>¿Qué pueden hacer las empresas ante el cambio constante?</b></p><p> </p><p><span style="font-weight: 400;">Como se ha mencionado anteriormente, el proceso de adopción de nuevas tecnologías es diferente para cada empresa, dependiendo en la etapa que se encuentre, se pueden diferenciar 3 grandes enfoques para arrancar la estrategia y poner en marcha el camino de transformación:</span></p><p> </p><ul><li style="font-weight: 400;" aria-level="1"><b>Surgir:</b><span style="font-weight: 400;"> Adoptar una tecnología nueva para la transformación.</span></li><li style="font-weight: 400;" aria-level="1"><b>Transformar:</b><span style="font-weight: 400;"> Agilizar la transformación para convertirse en líder.</span></li><li style="font-weight: 400;" aria-level="1"><b>Liderar: </b><span style="font-weight: 400;">Innovar constantemente para seguir siendo un líder.</span></li></ul>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-c76fe6d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="c76fe6d" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6d55690" data-id="6d55690" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-8dfc6f0 elementor-widget elementor-widget-image" data-id="8dfc6f0" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="768" src="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-5.png" class="attachment-large size-large wp-image-6991" alt="Fig.5 Opciones para las empresas ante el cambio constante" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-5.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-5-300x225.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-5-768x576.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Fig.5 Opciones para las empresas ante el cambio constante</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-784ab10 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="784ab10" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d6bbafb" data-id="d6bbafb" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-14eb165 elementor-widget elementor-widget-text-editor" data-id="14eb165" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-weight: 400;">Podemos concluir entonces que para cubrir las necesidades del mercado cambiante, haciendo frente a las tecnologías disruptivas de la competencia y a las cada vez más altas expectativas de los clientes en un mundo interconectado, es importante colocar en el mercado nuevos productos y servicios antes que nuestra competencia lo haga  y eso implica que la organización pueda responder más rápido y que las áreas internas como TI tengan la capacidad de apoyar a las áreas de negocio con las nuevas iniciativas.con escalabilidad y disponibilidad, lo cual implica crecimiento.</span></p><p> </p><p><span style="font-weight: 400;">Anteriormente, un sistema central Mainframe gestiona todas las cargas de trabajo asociadas con las aplicaciones y cuando la carga de trabajo aumentaba, la solución habitual era escalar verticalmente con más servidores (hardware). Sin embargo, por ser más demandantes, las cargas de trabajo en la actualidad se escalan horizontalmente.</span></p><p><br /><br /></p><p><b>¿Qué es la escalabilidad horizontal?</b></p><p> </p><p><span style="font-weight: 400;">La escalabilidad es la capacidad del software para adaptarse a las necesidades de rendimiento a medida que el número de usuarios crece, las transacciones aumentan y por ende la base de datos y otros componentes de las aplicaciones empiezan a sufrir degradamiento del rendimiento por las cargas crecientes.</span></p><p> </p><p><b>Cloud Computing habilita el escalamiento horizontal de los servicios TI</b><span style="font-weight: 400;">. En lugar de adquirir y mantener hardware y software de manera local, los usuarios pueden acceder a aplicaciones y recursos informáticos a través de Internet.</span></p><p> </p><p><i><span style="font-weight: 400;">El Cloud Computing, sin embargo, no es algo nuevo.</span></i></p><p> </p><p><span style="font-weight: 400;">La mayoría de las empresas utilizan al menos un servicio comercial proporcionado a través de Internet. En total, las empresas gastaron casi $230 mil millones a nivel mundial en 2019 en servicios de la nube, según Gartner, una firma de investigación, y podrían gastar hasta</span><b> $355</b><span style="font-weight: 400;"> mil millones en 2023.</span></p><p> </p><p><span style="font-weight: 400;">Existen tres proveedores líderes del mercado: Amazon Web Services (AWS), Microsoft Azure y Google Cloud Platform (GCP).</span></p><p> </p><p><b>¿Por qué las empresas buscan la nube?</b></p><p><span style="font-weight: 400;">Para competir en el mercado con una estrategia tecnológica se requiere:</span></p><ul><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Entregas de aplicaciones a mayor velocidad</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Reducción de costos</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Escalabilidad adaptable</span></li></ul>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-b92459d elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b92459d" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0cee67e" data-id="0cee67e" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-80f8a0b elementor-widget elementor-widget-image" data-id="80f8a0b" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
												<figure class="wp-caption">
										<img loading="lazy" decoding="async" width="1024" height="768" src="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-6.png" class="attachment-large size-large wp-image-6992" alt="Fig.6 Cloud Computing" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-6.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-6-300x225.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2023/01/Proceso-de-Incepcion-6-768x576.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" />											<figcaption class="widget-image-caption wp-caption-text">Fig.6 Cloud Computing</figcaption>
										</figure>
									</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-7ec0a27 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="7ec0a27" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-0884837" data-id="0884837" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d42ebad elementor-widget elementor-widget-text-editor" data-id="d42ebad" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><b>¿Qué es software nativo en la nube?</b></p><p><span style="font-weight: 400;">El desarrollo nativo de la nube (Cloud Native Development) es un enfoque para el desarrollo de aplicaciones en la nube que se centra en aprovechar al máximo las características y capacidades de la nube.</span></p><p><i><span style="font-weight: 400;">En lugar de intentar adaptar aplicaciones existentes a la nube, </span></i><i><span style="font-weight: 400;">el desarrollo nativo de la nube implica diseñar aplicaciones desde cero para ejecutarse en la nube.</span></i></p><p><b>Beneficios del desarrollo de software nativo en la nube</b></p><p><span style="font-weight: 400;">El software nativo en la nube permite crear, desplegar y administrar aplicaciones modernas en entornos de computación en la nube. Las empresas modernas buscan crear aplicaciones altamente </span><b>escalables, flexibles y resistentes</b><span style="font-weight: 400;"> que se puedan actualizar de manera rápida para satisfacer las necesidades de los clientes, utilizando herramientas y técnicas que promueven el desarrollo de aplicaciones en la infraestructura en la nube.</span></p><p><span style="font-weight: 400;">Estas tecnologías nativas en la nube permiten hacer cambios frecuentes y rápidos en las aplicaciones </span><span style="font-weight: 400;">sin interrumpir el servicio</span><span style="font-weight: 400;">, lo que proporciona a los usuarios una </span><b>ventaja competitiva y de innovación.</b></p><p><span style="font-weight: 400;">Entre los principales beneficios tenemos:</span></p><ul><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8211; Más desarrollo de aplicaciones.</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8211; Mayor velocidad de entrega.</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8211; Más flexibilidad de implementación.</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8211; Mayor calidad en el software.</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8211; Menores riesgos de implementación.</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8211; Acceso desde cualquier lugar</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">&#8211; Escalabilidad</span></li></ul><p><b>Conclusiones</b></p><p><span style="font-weight: 400;">Para competir en la realidad actual, las empresas necesitan responder con un nuevo enfoque que brinda mayor velocidad y eficiencia a su modelo operativo. </span></p><p><span style="font-weight: 400;">El camino hacia una transformación guiada por una estrategia tecnológica, entonces, no es el mismo para cada empresa, pero ante la versatilidad de las nuevas tecnologías disruptivas que ganan su cuota mercado, la primera opción para empresas consolidadas es modernizar sus aplicaciones para obtener un nuevo valor de las inversiones en TI existentes.</span></p><p><span style="font-weight: 400;">Una solución de desarrollo de software nativo en la nube permitirá ir más allá, permitiendo sacar partido de una variedad de herramientas, frameworks, arquitecturas, etc, para:</span></p><ul><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Aprovechar al máximo los recursos con tecnologías innovadoras como Contenedores y Microservicios</span></li><li style="font-weight: 400;" aria-level="1"><span style="font-weight: 400;">Mejorar sus operaciones habilitando prácticas pensadas para la realidad del mercado cambiante (Agile, DevOps, CI/CD)</span></li></ul><p><span style="font-weight: 400;">Estos términos que no se mencionan previamente en el blog (Contenedores, Microservicios, DevOps, CI/CD), se estarán abordando más adelante. Este es el primero de una serie de blogs sobre estrategia tecnológica, lo invitamos a leer la siguiente entrega para profundizar en el Desarrollo nativo en la nube. Si le gustaría saber más sobre un tema en particular o tiene una pregunta, lo atenderemos en la sección de comentarios. </span></p><p><b>Enlaces</b><span style="font-weight: 400;">:</span></p><p><a href="https://www.redhat.com/es/engage/devops-forrester-openinnovation-s-201902250310"><span style="font-weight: 400;">https://www.redhat.com/es/engage/devops-forrester-openinnovation-s-201902250310</span></a></p><p><a href="https://www.gartner.com/en/doc/8-steps-playbook-to-optimize-software-and-saas-negotiations-2022"><span style="font-weight: 400;">https://www.gartner.com/en/doc/8-steps-playbook-to-optimize-software-and-saas-negotiations-2022</span></a></p><p><a href="https://aws.amazon.com/es/what-is/cloud-native/#:~:text=El%20desarrollo%20nativo%20en%20la,para%20crear%20aplicaciones%20escalables%20r%C3%A1pidamente"><span style="font-weight: 400;">https://aws.amazon.com/es/what-is/cloud-native/#:~:text=El%20desarrollo%20nativo%20en%20la,para%20crear%20aplicaciones%20escalables%20r%C3%A1pidamente</span></a><span style="font-weight: 400;">.</span></p><p><a href="https://www.stormforge.io/wp-content/uploads/2020/11/451_cloud-container-kubernetes-economics-wp.pdf"><span style="font-weight: 400;">https://www.stormforge.io/wp-content/uploads/2020/11/451_cloud-container-kubernetes-economics-wp.pdf</span></a></p><p><a href="https://www.economist.com/business/2020/03/14/how-corporate-it-is-entering-the-multi-cloud"><span style="font-weight: 400;">https://www.economist.com/business/2020/03/14/how-corporate-it-is-entering-the-multi-cloud</span></a></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/que-opciones-tiene-mi-empresa-ante-los-cambios-tecnologicos-y-del-mercado/">¿Qué opciones tiene mi empresa ante los cambios tecnológicos y del mercado?</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/que-opciones-tiene-mi-empresa-ante-los-cambios-tecnologicos-y-del-mercado/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JBoss EAP: Instalación y configuración básica</title>
		<link>https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/</link>
					<comments>https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/#respond</comments>
		
		<dc:creator><![CDATA[Jorge Aguilar]]></dc:creator>
		<pubDate>Thu, 12 May 2022 00:59:03 +0000</pubDate>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Infrarestructura de Software]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[redhat]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=1568</guid>

					<description><![CDATA[<p>JBoss EAP es una plataforma de código abierto que ofrece seguridad, escalabilidad y rendimiento a nivel empresarial para aplicaciones Java. Incluyen todo lo que se necesita para crear, ejecutar, implementar y administrar aplicaciones Java empresariales en cualquier entorno.</p>
<p>The post <a href="https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/">JBoss EAP: Instalación y configuración básica</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1568" class="elementor elementor-1568">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-60d3ec58 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="60d3ec58" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-49efc247" data-id="49efc247" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5a58dcf5 elementor-widget elementor-widget-text-editor" data-id="5a58dcf5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En esta primera entrega, de la serie de artículos relacionados a&nbsp;<a href="https://en.wikipedia.org/wiki/JBoss_Enterprise_Application_Platform" target="_blank">JBoss Enterprise Application Platform</a>&nbsp;(EAP), vamos a considerar la instalación y configuración inicial del producto, de tal manera que podamos contar con los servicios suficientes para un despliegue en un ambiente de pruebas o que sea el primer paso para tener una instancia candidata a producción.</p>
<p>JBoss EAP es una plataforma de código abierto que ofrece seguridad, escalabilidad y rendimiento a nivel empresarial para aplicaciones Java. Incluyen todo lo que se necesita para crear, ejecutar, implementar y administrar aplicaciones Java empresariales en cualquier entorno.</p>
<p>Si bien JBoss EAP está disponible como imagen de contenedor o como un operador de Kubernetes u Openshift, en este caso vamos a utilizar los binarios tradicionales para hacer una instalación desde cero, lo que nos permitirá tener un mayor entendimiento de los requisitos para su operación.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-0539c34 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="0539c34" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-246d713" data-id="246d713" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-725233d elementor-widget elementor-widget-heading" data-id="725233d" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Requisitos</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-037ac8c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="037ac8c" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-23c37ca" data-id="23c37ca" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7156934 elementor-widget elementor-widget-text-editor" data-id="7156934" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Antes de iniciar, se espera que podamos contar con lo siguiente:</span></p>
<ol>
<li dir="ltr" style="line-height: 1.38;"><span style="background-color: transparent; color: #000000; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: 400; white-space: pre-wrap;">Servidor Linux: Los comandos que se presentan son compatibles con CentOS 8 o Red Hat Enterprise Linux 8</span></li>
<li dir="ltr" style="line-height: 1.38;"><span style="font-family: Arial; font-style: normal; font-weight: 400; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-size: 11pt; white-space: pre-wrap;">Disponer del utilitario </span><span style="font-family: Arial; font-style: normal; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-size: 11pt; font-weight: bold; white-space: pre-wrap;">unzip</span><span style="font-family: Arial; font-style: normal; font-weight: 400; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-size: 11pt; white-space: pre-wrap;"> para descomprimir el binario de JBoss EAP</span></li>
<li dir="ltr" style="line-height: 1.38;"><span style="font-family: Arial; font-style: normal; font-weight: 400; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-size: 11pt; white-space: pre-wrap;">Tener instalado y configurado Java 1.8 u 11. El detalle de las configuraciones soportadas se pueden encontrar en la siguiente enlace: </span><a style="background-color: transparent; font-family: Arial; font-size: 11pt; white-space: pre;" href="https://access.redhat.com/articles/2026253#EAP_74" target="_blank" rel="noopener"><span style="font-size: 11pt; font-family: Arial; color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; text-decoration-line: underline; text-decoration-skip-ink: none; white-space: pre-wrap;">https://access.redhat.com/articles/2026253#EAP_74</span></a></li>
<li dir="ltr" style="line-height: 1.38;" role="presentation"><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: 400; white-space: pre-wrap;">Archivo empaquetado de </span><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: bold; white-space: pre-wrap;">JBoss EAP 7.4</span><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: 400; white-space: pre-wrap;">: Se puede descargar el </span><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: bold; white-space: pre-wrap;">Zip File</span><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: 400; white-space: pre-wrap;"> desde la siguiente dirección: </span><a style="font-family: Arial; font-style: normal; font-weight: 400;" href="https://developers.redhat.com/products/eap/download" target="_blank" rel="noopener"><span style="font-size: 11pt; font-family: Arial; color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; text-decoration-line: underline; text-decoration-skip-ink: none; white-space: pre-wrap;">https://developers.redhat.com/products/eap/download</span></a></li>
</ol>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ca27f22 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ca27f22" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1b2b955" data-id="1b2b955" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-68fc5f0 elementor-widget elementor-widget-heading" data-id="68fc5f0" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Configuración por defecto</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-72e0b2b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="72e0b2b" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6a8aa8f" data-id="6a8aa8f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5f6e3eb elementor-widget elementor-widget-text-editor" data-id="5f6e3eb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>JBoss EAP mantiene la siguiente configuración inicial:</p>
<ul>
<li>No existen usuarios de administración de JBoss EAP, es necesario crear al menos uno para administrar el servicio remotamente. Este usuario será creado más adelante.</li>
<li>Solamente se escucha en la interfaz 127.0.0.1 (localhost), es decir que solamente están disponibles los servicios desde el mismo servidor.</li>
<li>Los puertos de los servicios principales son:
<ul>
<li>Aplicaciones HTTP: 8080</li>
<li>Aplicaciones HTTPS: 8443</li>
<li>Administración (Web y por línea de comandos): 9990</li>
</ul>
</li>
</ul>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ab89ddc elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ab89ddc" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d0259f5" data-id="d0259f5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-acf3462 elementor-widget elementor-widget-heading" data-id="acf3462" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Alcance de la instalación y configuración</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-fbcb74c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="fbcb74c" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-af3b35f" data-id="af3b35f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c2fe63c elementor-widget elementor-widget-text-editor" data-id="c2fe63c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Esta guía cubre los siguientes puntos:</p>
<ul>
<li>Instalación de los binarios</li>
<li>Creación del usuario administrador de JBoss EAP</li>
<li>Apertura de las interfaces de red para el acceso remoto</li>
</ul>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-bbac45e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="bbac45e" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a93fd7d" data-id="a93fd7d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-ef99fe5 elementor-widget elementor-widget-heading" data-id="ef99fe5" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Procedimiento de instalación y configuración</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6dc3adc elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6dc3adc" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1591c72" data-id="1591c72" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fe1e3cd elementor-widget elementor-widget-heading" data-id="fe1e3cd" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Instalación de los binarios</h3>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5e59745 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5e59745" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1de1057" data-id="1de1057" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-93b8d0e elementor-widget elementor-widget-text-editor" data-id="93b8d0e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ol>
<li>
<p>Se va a necesitar un usuario de sistema operativo (En este caso eap), diferente al usuario root, para levantar los servicios. Como el usuario root ejecutamos este y los siguientes comandos:</p>
<p><code># useradd eap</code></p>
<p>NOTA: Este usuario es diferente al usuario administrador de JBoss EAP (eapadmin) que se creará en el punto 4 de esta sección.</p>
</li>
<li>
<p>Creación del directorio Home de JBoss EAP, descompresión del archivo empaquetado y asignación de permisos al usuario eap:</p>
<p><code>
# mkdir /opt/jboss/<br />
# cd /opt/jboss/<br />
# unzip /tmp/jboss-eap-7.4.0.zip<br />
# chown -R eap:eap /opt/jboss/
</code></p>
</li>
<li>
<p>Configuración de variables de ambiente para que el usuario eap disponga de los ejecutables de JBoss EAP en el PATH de su sesión:</p>
<p><code>
# echo 'export EAP_HOME=/opt/jboss/jboss-eap-7.4' &gt;&gt; ~eap/.bash_profile<br />
# echo 'export PATH=$PATH:$EAP_HOME/bin' &gt;&gt; ~eap/.bash_profile
</code></p>
</li>
<li>
<p>Crear el usuario administrador de JBoss EAP (eapadmin) con su respectiva contraseña. Hacemos el cambio al usuario eap del sistema operativo para luego ejecutar la creación del usuario:</p>
<p><code>
# su - eap<br />
$ add-user.sh -u 'eapadmin' -p '********'
</code></p>
</li>
</ol>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-b4019b5 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b4019b5" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-351803f" data-id="351803f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-abd197e elementor-widget elementor-widget-heading" data-id="abd197e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Inicio del servicio y validación de la configuración de red</h3>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-1d20718 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1d20718" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1bcaed5" data-id="1bcaed5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-51cb9df elementor-widget elementor-widget-text-editor" data-id="51cb9df" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ol>
<li>
<p>Utilizando la misma sesión del usuario eap, ejecutamos el script de inicio para subir el servicio en modo Standalone:</p>
<p><code>
$ standalone.sh
</code></p>
<p>NOTA: La terminal quedará ocupada, la dejaremos abierta para no terminar el proceso.</p>
</li>
<li>
<p>Abrimos una nueva sesión con el usuario eap para confirmar los puertos que fueron abiertos por el servicio:</p>
<p><code>
$ ss -ltn | grep -e 8080 -e 8443 -e 9990
</code></p>
<p>Como lo muestra el comando ss, por defecto JBoss EAP escucha solamente en 127.0.0.1 (localhost).</p>
<p>
<img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh3.googleusercontent.com/JxRaUYd9vZQlI1L8gQjcm9zjbUpbio2vnG2vvZKeupxm3DXT61fJb2bYgp3hpud92GbZkQD3Tt3JowMxyPgQFKwSt5vAUqE6vJR5BiMoi7JiZ_viknN2e1RKLbgQFt78OXHwKAXIa-2ZnxITsQ" /></p>
</li>
</ol>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-99529f4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="99529f4" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6626462" data-id="6626462" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-84a0c76 elementor-widget elementor-widget-heading" data-id="84a0c76" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Actualización de la dirección enlazada a las interfaces de red</h3>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-4f311ec elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="4f311ec" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-985568a" data-id="985568a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-cea0b72 elementor-widget elementor-widget-text-editor" data-id="cea0b72" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ol>
<li>
<p>Mediante la administración por línea de comandos (<a href="https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/management_cli_guide/index" target="_blank" rel="noopener">JBoss CLI</a>) vamos a consultar la dirección enlazada a la interfaz pública (public: donde estarán disponibles las aplicaciones, puerto 8080 y 8443) para luego cambiarla por el nombre del servidor (server.example.com en este caso) o por su dirección IP:</p>
<p><code><br />$ jboss-cli.sh --connect<br />[standalone@localhost:9990 /] /interface=public:read-attribute(name=inet-address)<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh3.googleusercontent.com/amSVm3J6_JGN8ibRMJ-Tk5OdF6H__4SJX6pZNCxWFEGC5RaRdffB4ePoYBOkytTd3YPlbh33fA0XfRw9oB1DUWaVzsPCm4E3nC2WM9V_Fy-3wJV5giHamFwEX8Zxm9pz4h0BgDPdoe3thFJjdQ" /></p>
<p><code><br />[standalone@localhost:9990 /] /interface=public:write-attribute(name=inet-address,value="${jboss.bind.address:server.example.com}")<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh4.googleusercontent.com/utqXny4O2mFOvxJSTnsbvot9A_eVP81LusdJ3UALLkGJEPC0SExr1mWL0mx2X0bWcu5QqazpJ_7oUGty_8k2BwSnOeV1mULvAu7l6yPUWU1sg9AFvInsSx5KZtfHKhqo5QrliD9Kkpd59ND0rw" /></p>
</li>
<li>
<p>Realizamos algo similar pero con la interfaz de administración (management: servicio de administración, puerto 9990):</p>
<p><code><br />[standalone@localhost:9990 /] /interface=management:read-attribute(name=inet-address)<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh4.googleusercontent.com/9gnxqQnzm_1gJNzE9czSwv4hrwcS6N7faXypirpfHljYK1ZwoethZq46RYiha0ASMeDpVMBWLEZZ7cxDKAukS3_gwjnxnkRarx9e4AeVqN_LW0lf2OqkDBFUXFKlXtf0up1ge7Of4bAbjI9o3w" /></p>
<p><code><br />[standalone@localhost:9990 /] /interface=management:write-attribute(name=inet-address,value="${jboss.bind.address.management:server.example.com}")<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh5.googleusercontent.com/hs9zPonezmp9uKmMG1CwyKr5NI91U9-bFWM76Wpi9XvJ2QxRKKyWJcaktSK5DFEKAjmorxpwpcCODsIu5CZXASxlSnoO6kApWXP63Mp8gsth1Honly--tgs9wIsFzFKIPvkiWctL4-p6C-7O_g" /></p>
</li>
<li>
<p>Procedemos a recargar la configuración del servidor ya que los cambios anteriores requieren de un reinicio del servicio de JBoss EAP. Luego de esto, la sesión de JBoss CLI terminará debido a que ya no es válida por el cambio de la interfaz de administración:</p>
<p><code><br />[standalone@localhost:9990 /] reload<br />[disconnected /] exit<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh6.googleusercontent.com/0OvdRZV7CEDFfiVrzRgi41C48a378TPb1XUzU67U70EDjFZVeZkRJe_RwZnmUGeJ9js3awWj7wgxYCpQd5yqsUmZ00VKk1mmjZguSGslQjYoAZdG_ADxyHVk6Szf_p3KlYbD3j1a1AWOAijUCA" width="401" /></p>
</li>
<li>
<p>Verificamos el cambio en la configuración de red utilizando nuevamente JBoss CLI, la conexión ahora debe indicar el nombre del controller de JBoss EAP (servidor y puerto) donde está el servicio de administración:</p>
<p><code><br />$ jboss-cli.sh --connect --controller=server.example.com:9990<br /><br />[standalone@server.example.com:9990 /] /interface=public:read-attribute(name=inet-address)<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh3.googleusercontent.com/ybl4awCSj_6VJpvRMaecK8IdtPDeeXVpgygAFXsF9eUKJRXC0We8s4AnrnbtNLBtS0afB64BX2iiSDsRzYKmwWfmDldaTjbKLI2wKSPmqFKgam5JdHw-rDwi-V_3KcWqAU2IH6zlr8wRbhhE8A" /></p>
<p><code><br />[standalone@server.example.com:9990 /] /interface=management:read-attribute(name=inet-address)<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh5.googleusercontent.com/Ge6xAn6-LwCa4obg1IBFYE8MRGu0YH0SBEx9ngWljR55OFbLdMRYyf-04R76L1NHsBInXFGVnh98vn7cxqcrZ6GE0HbEoEN52Q_AUvsrH9c7EEesjoJOO0MPuRimw6vdi4Rwky9ycsToopbr4g" /></p>
</li>
<li>
<p>Si el servidor Linux tiene levantado el servicio de Firewall será necesario abrir los puertos que utiliza JBoss, para el caso de CentOS 8 o Red Hat Enterprise Linux 8, como usuario root, se puede utilizar lo siguiente:</p>
<p><code><br />
# firewall-cmd --list-ports<br /># firewall-cmd --add-port 8080/tcp<br /># firewall-cmd --add-port 8443/tcp<br /># firewall-cmd --add-port 9990/tcp<br /># firewall-cmd --runtime-to-permanent<br /># firewall-cmd --list-ports<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh4.googleusercontent.com/e3kd35FLMsASyjOHLTwVVKxOuoxpV4_mqkUjTKVABqGV-zycVYOZqFXPahJmBjt7yYtDf2H9PtMOOZC_jelJA0xgEMD1g_ayBXbs9xSOjuoPEKemCT241x_KFDMiVNDk-_348I6IecYYsdQ68Q" width="420" /></p>
</li>
<li>
<p>Finalmente probamos el acceso a los servicios desde un navegador Web:</p>
<ul>
<li>http://server.example.com:8080/</li>
<li>https://server.example.com:8443/</li>
<li>http://server.example.com:9990/</li>
</ul>
</li>
</ol>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-3cbf526 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="3cbf526" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-65b7bc8" data-id="65b7bc8" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-61895b3 elementor-widget elementor-widget-heading" data-id="61895b3" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Conclusiones</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-8198e8f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8198e8f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d1c6ee6" data-id="d1c6ee6" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-69dc084 elementor-widget elementor-widget-text-editor" data-id="69dc084" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-weight: 400;">JBoss Enterprise Application Platform trae por defecto una configuración que es suficiente para un ambiente de desarrollo pero va a ser necesario aplicar ajustes como los que hemos visto en este artículo para poder hacer uso de sus servicios en escenarios más demandantes.</span></p>
<p><span style="font-weight: 400;">Les hacemos la invitación a estar atentos ya que en próximas entregas cubriremos otras áreas de la administración y configuración del producto. Hasta entonces.</span></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/">JBoss EAP: Instalación y configuración básica</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
