Está en la página 1de 16

UCSM Esc. Prof.

de Ingeniería de Sistemas INFORME DE PRÁCTICAS


Noviembre - 2022 DESARROLLO DE
APLICACIONES

Práctica N° 15:
New Relic
Elaborado por:
2020700992 FERNANDEZ LOPEZ, LUCIANA ALEXANDRA
2020245441 ORDOÑEZ ARRATIA, JOSEPH FERNANDO
2020231692 YANARICO SUYO, CINTHYA DANIELA

© IEEE 2013 The Institute of Electrical and Electronics Engineers, Inc.


Práctica N° 11: Node JS y Express

GRUPO N° 3

PRÁCTICAS DE DESARROLLO DE APLICACIONES

Presentado por:
2020700992 FERNANDEZ LOPEZ, LUCIANA ALEXANDRA
2020245441 ORDOÑEZ ARRATIA, JOSEPH FERNANDO
2020231692 YANARICO SUYO, CINTHYA DANIELA

ii
Práctica N° 11: Node JS y Express

RECONOCIMIENTOS

Los autores de este trabajo reconocen con gratitud a los creadores de New Relic …..

PALABRAS CLAVES

Monitoreo, Rendimiento, Aplicaciones, New Relic

iii
Práctica N° 11: Node JS y Express

ÍNDICE

1. RESÚMEN 1
2. INTRODUCCIÓN ...........................................................................................................1
3. MARCO TEÓRICO ........................................................................................................1
3.1 MONITOREO DE RENDIMIENTO DE APLICACIONES .....................................1
3.2 METRICAS DE MONITOREO DE RENDIMIENTO DE APLICACIONES ...........1
3.3 NEW RELIC ..........................................................................................................2
4. EXPERIENCIAS DE PRÁCTICA ...................................................................................3
4.1 Creación de usuario en New Relic .......................................................................3
4.2 Probando New Relic en Aplicación Nodejs ..........................................................3
5. EJERCICIOS..................................................................................................................8
5.1 Ejercicio 1..............................................................................................................8
5.2 Ejercicio 2..............................................................................................................8
6. CONCLUSIONES DE LA PRÁCTICA: ..........................................................................8
7. CUESTIONARIO ............................................................................................................9
8. BIBLIOGRAFÍA ........................................................................................................... 10

iv
Práctica N° 11: Node JS y Express

ÍNDICE DE TABLAS Y FIGURAS


Ilustración 1: Interfaz de New Relic .....................................................................................2

v
Práctica N° 11: Node JS y Express

1. RESÚMEN
Colocar aquí un resumen del contenido del informe: conceptos teóricos más importantes, que
aprendizajes se han obtenido a partir de la realización de los ejercicios y conclusiones más
importantes.

2. INTRODUCCIÓN
Colocar aquí la introducción general a los conceptos, herramientas o tecnologías más importantes
abordados en este informe.

1
Práctica N° 11: Node JS y Express

3. MARCO TEÓRICO
3.1 MONITOREO DE RENDIMIENTO DE APLICACIONES
¿Qué es?
Es una estrategia y practica de supervisar y la realización de seguimiento continuo del rendimiento,
la aplicación de soluciones APM, TI, etc. Se pueden detectar anomalías, entender las tendencias,
optimizar los recursos y solucionar problemas de rendimiento antes de que afecten a los usuarios
finales. Estas herramientas le permiten recopilar información que ayuda a garantizar la satisfacción
del cliente y a impulsar el crecimiento del negocio.
¿Cuándo se usa?
Cuando se trata de la economía digital, evitar el tiempo de inactividad y medir la disponibilidad, el
tiempo de respuesta y el comportamiento de cada transacción comercial es crucial. Permite detectar
por qué las aplicaciones se ejecutan lentamente por qué su aplicación es lenta, desde cuándo se ha
estado ejecutando lentamente y qué está causando la lentitud, garantiza la visibilidad integral de su
aplicación, una solución APM integrable brinda visibilidad integral del rendimiento de su aplicación
sin necesidad de esfuerzo extra de su parte.
Características.
o La supervisión del rendimiento de las aplicaciones funciona mediante:
o Seguimiento de si la aplicación se comporta como debería, dentro de los parámetros
normales.
o Si no, enviar alertas y recopilar datos sobre el origen del problema.
o Analizar los datos teniendo en cuenta el impacto que tiene en el negocio.
o Ofrece información sobre cómo ajustar el entorno de la aplicación para que pueda detectar
y solucionar fácilmente problemas similares en el futuro antes de que afecten al usuario final.
Por lo tanto, APM le ayuda a adoptar un enfoque proactivo para la solución de problemas.

3.2 METRICAS DE MONITOREO DE RENDIMIENTO DE APLICACIONES


¿Qué son?
Hay dos tipos de métricas que miden las herramientas de APM: las que muestran cómo los usuarios
finales experimentan el rendimiento de la aplicación y las que supervisan los recursos de
infraestructura. [1]
¿Cuáles son?
o Satisfacción del usuario: proporcionadas por Real User Monitoring (también conocido como
User Experience Monitoring), es una medida del nivel de satisfacción de sus usuarios.
o Tiempo de respuesta: el tiempo que tarda un usuario de una aplicación en recibir una
respuesta de una aplicación.
o Tasas de error: el número de errores de aplicación en algún período de tiempo.
o Número de instancias de aplicación: el número de instancias de alguna aplicación. En las
implementaciones dinámicas actuales, este número suele variar con el tráfico, el uso de
aplicaciones, etc.
o Tasas de solicitud: el número de solicitudes en un período de tiempo. Cuanto mayor sea la
tasa, más ocupada estará la aplicación.
1
Práctica N° 11: Node JS y Express

o Aplicación y servidor, máquina virtual o contenedor CPU usage – el uso de CPU de la


infraestructura subyacente.
o Disponibilidad/tiempo de actividad de la aplicación (SLA): la medida en que una aplicación
es operativa, funcional y utilizable para satisfacer las solicitudes del usuario.

¿Cuáles son las ventajas de usarlas?


Presenta las siguientes ventajas:
o Facilita el ahorro de esfuerzo al reducir el tiempo de inactividad.
o Usabilidad mejorada.
o Mayor tasa de conversión.
o Reparaciones rápidas y tiempo de reparación.
o Aumento la productividad.
o Mejoras en la optimización de motores de búsqueda.

3.3 NEW RELIC


¿Qué es?
Es un software basado en el web utilizado para el monitoreo de pila completa. Le permite monitorear
aplicaciones, infraestructura, navegadores web y otros componentes en una sola plataforma.
Esta herramienta rastrea y proporciona los detalles de rendimiento de su aplicación web en tiempo
real. Los desarrolladores pueden analizarlos para comprender qué causa los problemas de
rendimiento. [2]

Ilustración 1: Interfaz de New Relic

¿Cuáles son sus características?

2
Práctica N° 11: Node JS y Express

o New Relic soporta muchos lenguajes diferentes, incluyendo PHP, Java, Python y Ruby.
También puede integrarlo con un servicio en la nube como Microsoft Azure o Amazon Web
Services.
o Ofrece una funcionalidad de supervisión unificada que realiza un seguimiento de sus
aplicaciones web y microservicios.
o Proporciona un análisis a nivel de código de su aplicación para una solución de problemas
precisa.
o Puede recopilar métricas de entornos externos. Sus métricas de servicio externo
proporcionan información sobre los recursos en la nube y el tráfico de red

4. EXPERIENCIAS DE PRÁCTICA
4.1 Creación de usuario en New Relic
a) Ingresar al sitio oficial de New Relic https://newrelic.com/ y registrarse
b) Para la parte de correo electrónico coloque su correo institucional
c) Se le enviará un mensaje para verificar su cuenta de correo electrónico para que luego pueda
generar su contraseña

d) Luego elegir “United States” como región donde se almacenará sus datos
e) Luego se le mostrará la siguiente pantalla de inicio donde podra elegir el entorno que quiere
monitorear así como su clave de licencia que podrá copiar fácilmente.

4.2 Probando New Relic en Aplicación Nodejs


a) En la pantalla de inicio elegir APM [Aplication Monitoring] y elegir la NodeJS como
plataforma o aplicación a monitorear

3
Práctica N° 11: Node JS y Express

b) Elegir la opción para iniciar la instalación y luego la opción para instalar New Relic a través
del gestor de paquetes npm o yarn

c) Colocar un nombre o alias a la aplicación para la que harás monitoreo y darle a guardar.

4
Práctica N° 11: Node JS y Express

d) Instalar el paquete newrelic en la carpeta del proyecto NodeJS para el que realizaras el
monitoreo. Para eso copiar el comando de instalación y ejecutarlo en la terminal que
corresponde a tu proyecto. Luego copiar el archivo newrelic.js dentro de la carpeta raíz de
tu proyecto.

e) Ejecutar la aplicación NodeJS utilizando el comando especial que ejecutará la aplicación


utilizando new relic para poder monitorearla. Deberás reemplazar el nombre del archivo .js
que aparece en MAYUSCULAS por el nombre del archivo que lanza tu aplicación NodeJS.
Luego de que tu aplicación se haya ejecutado darle al boton Continuar

5
Práctica N° 11: Node JS y Express

f) Luego procede a ejecutar tu aplicación como lo sueles hacer normalmente. Para el caso de
este ejemplo estamos probando un servicio web en NodeJs usando Postman

g) Luego procede a instalar el Agente de infraestructura y los Logs de Integración copiando el


comando que te aparece en pantalla y ejecutándolo en la terminal o cmd de tu sistema
operativo. Debes seleccionar la pestaña que corresponda a tu sistema operativo (Linux,
Windows, etc.). Luego deberás darle al botón Continuar

6
Práctica N° 11: Node JS y Express

h) Luego de realizar la instalación. Ir nuevamente al sitio Web de New Relic y buscar la opción
para probar la conexión TEST CONNECTION y luego hacerle click al botón para ver tus
datos SEE YOUR DATA.

i) Finalmente deberás poder ver los reportes de rendimiento que genera New Relic.

7
Práctica N° 11: Node JS y Express

5. EJERCICIOS
5.1 Ejercicio 1
Colocar captura de pantalla de pasos realizados con una breve descripción de cada uno de los pasos
que siguió para poder generar las gráficas de rendimiento

5.2 Ejercicio 2

Colocar aquí cuadro comparativo donde se indiquen diferencias y fortalezas de 2 herramientas de


supervisión de rendimiento y de New Relic

6. CONCLUSIONES DE LA PRÁCTICA:
a) Al realizar las experiencias prácticas no pudimos percatar que al instalar la infraestructura en un
sistema operativo como Windows puede generarse un error como el siguiente al ejecutarlo en el
CMD: “This script requires admin privileges to run and the current Windows PowerShell session
is not running as Administrator. Start Windows PowerShell by using the Run as Administrator
option, and then try running the script again” como solución debemos dirigirnos al Power Shell
y correrlo como administrador con el comando > Start-Process powershell -Verb runAs y se
podrá instalar correctamente el agente de infraestructura y el log.
b) Por otro lado, visualizamos lo beneficioso de la implementación de un APM para gestionar el
rendimiento de nuestras aplicaciones, algo crucial para testear un producto que vamos a ofrecer
a un cliente y que debe cumplir con la calidad, por ende, implementar una apm como New Relic
de manera tan fácil, sin complicaciones y que contiene una gran variedad de opciones de
monitoreo nos demostró lo practico que es.
8
Práctica N° 11: Node JS y Express

c) .
d) .
e) .

7. CUESTIONARIO
1. ¿Qué es una métrica y para qué sirve?
Es una medida cuantificada implementada para entender el estado de un proceso o sistema,
forman parte de un apm siendo una de las categorías de datos.
2. ¿Cuáles considera que son las métricas más importantes de rendimiento que utilizaría para
una aplicación web? Justifique su respuesta
Tiempo en la página: conocer el tiempo que pasan los usuarios dentro de la página web y así
conocer la relevancia de esta.
Tasas de solicitud: el número de solicitudes en un período de tiempo. Cuanto mayor sea la
tasa, más ocupada estará la página web.
Tasas de error: el número de errores de la página web en algún período de tiempo.
3. ¿Cuáles considera que son las métricas más importantes de rendimiento que utilizaría para
una aplicación móvil? Justifique su respuesta
Tasas de solicitud: el número de solicitudes en un período de tiempo. Cuanto mayor sea la
tasa, más ocupada estará la aplicación.
Tasas de error: el número de errores de aplicación en algún período de tiempo.
Tiempo en la aplicación: conocer el tiempo que pasan los usuarios dentro de la aplicación y
así conocer la relevancia de esta.
Competencia: frente a otras aplicaciones similares.
4. ¿Cuáles considera que son las métricas que debería considerar para evaluar el rendimiento de
una base de datos? Justifique su respuesta
File Growth: dado que los archivos dentro de la base datos pueden colapsar y afectaran a la
aplicación, haciendo que estas se vuelvan lentas.
Seguridad: realizar monitoreos acerca de los accesos fallidos, las cuentas en el sysadmin, los
ataques de inyección SQL, los cambios en el servidor, los permisos, roles, etc.
Rendimiento: monitorear el rendimiento de las tecnologías, CPU, memoria, lenguaje de
programación, dado que cualquier cambio puede ralentizar el rendimiento.
5. ¿Qué alternativas de solución propondría para una aplicación que hace mucho consumo de
CPU? Justifique su respuesta

6. ¿Qué alternativas de solución propondría para una aplicación que aumenta de la cantidad de
tráfico de usuarios de manera considerable cada mes? Justifique su respuesta

7. Suponga que usted es el encargado de TI de una empresa. En que casos recomendaría al


gerente de la empresa pagar una suscripción mensual de una herramienta de monitoreo de
rendimiento para sus aplicaciones.
Desde que se lance la aplicación al mercado, sea una empresas grande o pequeña, puede
iniciarse utilizando herramientas gratuitas e ir invirtiendo en nuevas herramientas a medida
que crece la aplicación, la idea es evitar desde el inicio errores y ver las cifras que genera el
9
Práctica N° 11: Node JS y Express

proyecto para tener estadísticas claras para tomar decisiones apropiadas.

8. BIBLIOGRAFÍA

[1] Manage Engine, «Qué es APM: Guía de supervisión del rendimiento de las aplicaciones -
Sematext,» [En línea]. Available:
https://www.manageengine.com/latam/applications_manager/que-es-apm.html. [Último
acceso: 1 Noviembre 2022].

[2] Un Poco de Java, «¿Qué es New Relic?,» 18 Marzo 2013. [En línea]. Available:
https://unpocodejava.com/2013/03/18/que-es-new-relic/. [Último acceso: 1 Noviembre 2022].

10

También podría gustarte