Cuestionario sobre Ambiente: Aplicacion Java
Arquitectura
• ¿Qué tipo de arquitectura estandariza las aplicaciones actualmente a nivel IT? (SOA, Cliente-Servidor, Web, etc.).
• ¿Esta arquitectura se utilizará en los próximos 5 años o se desea migrar a una nueva?).
• ¿Existe un mapa de modernización tecnológica?
• ¿En que tecnología están construidas las aplicaciones?
• ¿Que versiones?
• ¿Cuentan con soporte empresarial?
• ¿Cual es la política de soporte a aplicaciones legadas?
• ¿La arquitectura actual cuenta con políticas y estándares para creación de aplicaciones distribuidas?
• ¿Se cuenta con DRP's?
• ¿Actualmente se cuenta con estándares para el almacenamiento de datos?
• ¿Los datos de la empresa están homologados y centralizados o cada aplicación cuenta con su propio repositorio y estructura?
• ¿Cuál es el volumen de información usado por el repositorio de datos utilizado para generar análisis (Data warehouse)?
Usuarios
• ¿Cuantos usuarios soporta actualmente el área de TI?
• ¿Cuantos de estos usuarios son concurrentes?
• ¿Cuál es el crecimiento de soporte a usuarios en el próximo año?
• ¿Los usuarios reportan problemas de desempeño de manera continua?
• ¿Cuál es el nivel de satisfacción de los usuarios sobre TI actualmente?
• ¿Existe(n) áreas de oportunidad reportadas por los usuarios hacia TI actualmente? (desempeño, disponibilidad, flexibilidad, cumplimiento normativo, seguridad, etc.)
Procesos de negocio
• ¿Existe un área de proceso y reglas de negocio? ¿Como participa en la dinámica de TI?
• ¿Que tan sencillo es cambiar una regla de negocio?
• ¿Cuanto dura el proceso desde que se toma de decisión hasta que puede verse el cambio en producción?
• ¿Las reglas de negocio se repiten en varios sistemas?
• ¿Como se lleva el control de la implementación de las reglas?
Monitoreo
• ¿Cuantas aplicaciones se tienen en el inventario productivo?
• ¿Cuantas de estas aplicaciones son de misión critica?
• ¿Como se están monitoreando estas aplicaciones?
• ¿El proceso esta automatizado? ¿Cómo?
• ¿Existe una herramienta?
• ¿La herramienta abarca todas las plataformas y aplicaciones?
• ¿Que tipo de monitoreo se tiene?
• ¿La herramienta permite monitorear sin presencia de personal?
• ¿El monitoreo es en tiempo real?
• ¿Se tiene un histórico de las métricas?
• ¿Las métricas se pueden activar/desactivar?
• ¿Se pueden configurar alertas?
• ¿Que tipo de notificaciones existen al detectarse una alerta?
Procesos de desarrollo y QA
• ¿El desarrollo se lleva a cabo in-house?
• ¿Cuantas personas participan en el desarrollo?
• ¿Que tipo de organización mantienen los miembros del equipo?
• ¿Siguen una metodología? ¿Cual?
• ¿Esta metodología se utilizará en los próximos 5 años o se desea utilizar una nueva?)
• ¿Como se mantiene el código fuente?
• ¿Como se ejecutan las pruebas de integración?
• ¿Como se ejecutan las pruebas de carga o rendimiento?
• ¿Existe un ambiente de QA, UAT, Preproducción?
• ¿Cuales son los estándares y procedimientos que actualmente se utilizan para aprovisionar estos ambientes? (Aprovisionamiento físico, virtual, PAAS, etc)
• ¿Cuánto tiempo se demorara un procedimiento de aprovisionamiento de ambientes (desarrollo, QA, producción, etc.) desde que se solicita hasta que se encuentran disponibles?
• ¿Cuál el proceso para promover una versión del sistema a producción?
• ¿Cual(es) son los lenguajes de programación estandarizado(s) para IT?
• ¿Que IDE de desarrollo se ocupa?
• ¿Existen lineamientos de desarrollo?
Gestión y control de la operación
• ¿Quien tiene acceso a los sistemas productivos?
• ¿Con que controles de acceso se cuenta?
• ¿Existe una evidencia de los cambios realizados?
• ¿Con que frecuencia de ejecutan parches sobre la infraestructura productiva?
• ¿La infraestructura y plataforma cuentan con soporte empresarial?
• ¿Se tiene un SLA?
Flexibilidad de la integración
• ¿Cuantas tecnologías comprenden su ecosistema de aplicaciones?
• ¿Existe comunicación entre aplicativos?
• ¿Como se realiza la comunicación entre aplicativos?
• ¿Se cuenta con ESB?
• ¿Se maneja mensajería?
• ¿Cual es el volumen de comunicación entre los sistemas principales?
• ¿Que tan confiable debe ser la comunicación?
• ¿Que mecanismos se tienen para garantizar la confiabilidad de la comunicación?
--------------------
1. Nombre de aplicación (nombre completo y nombre corto)
2. Descripción (que hace la aplicación)
3. Complejidad técnica (escala de 1 a 5)
4. Criticidad de negocio (escala de 1 a 5)
5. Horario comprometido del servicio
6. ¿Cuenta con alta disponibilidad? (sí/no)
7. ¿Cuenta con fail over? (sí/no)
8. Se tiene el código fuente (sí/no)
9. Número de líneas de código fuente
10. Tamaño en MB del empaquetado
11. Tipo de empaquetado (EAR, WAR, JAR)
12. Bibliotecas utilizadas y su versión (incluir información de para que se usan)
13. Número de interfaces gráficas de usuario (cuantas pantallas tiene la aplicación)
14. Tiempo de respuesta máximo requerido por el usuario en segundos
15. Número de usuarios potenciales
16. Estacionalidad de los picos de carga (ejemplo: de lunes a viernes de 12:00 a 13:00 hrs, los dos últimos días a fin de mes, todos los viernes, etc).
17. Número de usuarios en los picos de carga
18. Estatus (ejemplo: desarrollo, calidad, pre-producción, producción, en producción con un piloto del 10% de la carga esperada, etc).
19. Tipos de pruebas realizadas (ejemplo: sólo funcionales; funcionales y de estrés; funcionales, de estrés y de penetración.
20. Se publica en Internet (sí/no)
21. Número y tipo de interfaces con otros sistemas (ejemplo: consumo de un webservice del aplicación A, consumo de datos del ldap, consumo de un filesystem compartido con la aplicación C)
22. ¿Cuenta con autenticación?
23. Tipo de autenticación (delegada al contenedor o implementación propia)
24. ¿Cuenta con autorización?
25. Tipo de autorización (delegada al contenedor o implementación propia)
26. Publica a través de https; es decir, se ha instalado un certificado de seguridad
--------------
1. ¿Cuántas aplicaciones existen actualmente en la institución?
2. ¿Cuántas de ellas son cliente servidor y cuantas son aplicaciones web?
3. ¿En qué tecnologías están desarrolladas las aplicaciones? (Java, .net, etc)
4. Por cada tecnología, ¿Qué frameworks están utilizando y que versión? (Hibernate, JSF, Struts, Spring, etc)
5. En caso de utilizar spring, ¿Qué módulos de spring se utilizan y que versiones?
6. ¿Qué servidores de aplicaciones utiliza la institución actualmente?
7. ¿Cuál es la transaccionalidad (peticiones concurrentes por minuto) actual por cada aplicación en sus picos máximos?
8. ¿Existen procesos BATCH?¿Cuántos y cuál es la periodicidad de ejecución?
9. ¿Existe comunicación entre las diferentes aplicaciones de la institución?, ¿De que manera se comunican? (Sockets, web services rest, soap, jms, etc)
10. ¿Las aplicaciones se comunican con sistemas externos a la institución?¿Con cuáles y de que manera se comunican?
11. ¿Las aplicaciones se comunican con sistemas de código cerrado?¿Con cuáles y de que manera se comunican? (ERP, CRM, BI, etc)
12. En caso de utilizar servicios web, ¿Qué frameworks se utiliza para exponerlos? (jax-ws, jax-rs, cxf, etc)
13. ¿Las aplicaciones utilizan clases o funcionalidades específicas del servidor de aplicaciones actual? ¿Cuáles?(Seguridad, JMS, etc).
14. ¿Cuántas aplicaciones están expuestas a internet?
15. ¿En qué versiones de JVM se ejecutan las aplicaciones?
16. ¿Qué IDE’s de desarrollo se utiliza actualmente?
17. ¿Qué utiliza la institución para el manejo de control de versiones?
18. ¿Cuántos motores de bases de datos utiliza la institución actualmente y cuáles son?
19. ¿Cuántos esquemas de bases de datos se tienen actualmente en cada motor de base de datos?
20. ¿Existe comunicación entre las bases de datos? (DBLink’s)
21. ¿Cuántos procedimientos almacenados se utilizan actualmente por motor de base de datos?
22. ¿Qué volumen de información manejan las aplicaciones actualmente en término de bases de datos? (Cantidad de registros y gigabytes almacenados)
------------
1. Con cuantos sistemas (propios o ajenos) debe integrarse su aplicacion más grande?
2. Con que otros sistemas debe integrarse su arquitectura?
3. Su organización cuenta con sistemas que utilizen microservicios?*
Un sistema que consiste en servicios pequeños y ligeros que realicen una sencilla función de negocio. Estos servicios son desplegados de manera independiente y se comunican entre si.
4. Su organización desarrolla o utiliza servicios REST?
5. Su organizacion utiliza HATEOAS en sus API's? *Hypermedia As The Engine Of Application State (hipermedia como motor del estado de la aplicación)
6. Cual es su criterio de decisión, para realizar un desarrollo de integración ad hoc o usar una plataforma ESB/EAI?
7. Con cual de la siguientes opciones se siente más cómodo? Oauth, Ws-Security, Otro.
8. Con cual de la siguientes opciones se siente más cómodo? XML, JSON, Otro.
9. Qué herramientas adicionales necesita en una Solución Empresarial de Integración? Orquestacion, BPM
10. Cual(es) opciones de mensajería conoce?
11. Su organización cuenta con alguna plataforma de gestion de API's (API management plattform)?
12. Su organización utiliza alguna herramienta de registro/descubrimiento de servicios (service registry / discovery)?
13. Su organización cuenta con un “Arquitecto de Integración”?
14. Usted tiene dificultades para integrar servicios (API's) manualmente?
15. Que tipos de nube (SaaS, IaaS, etc) cuenta su organización y que quisiera integrar con otros sistemas?
16. Usted ha realizado, mayoritariamente (más del 50%), desarrollos de integración , o el proveedor de estos desarrollos ofrece conectores de integración pre-construidos para ahorrar la integración entre sistemas??
17. Qué lenguaje(s) de programación existen en todo el ecosistema de su organización?
18. Cual es su principal lenguaje de programación en su organización?
19. ¿Cuántos flujos de integración se desean implementar para integrar entidades externas?
20. ¿De qué manera se comunican los flujos que se desean implementar? (Archivos, Servicios Web, Sockets, etc.)
21. ¿Cuántas transacciones por segundo se esperan en los flujos de integración?
Mensajes
Nombre de flujo:
1. ¿Qué tan rápido es el flujo de mensajes? (Piense por segundo o en un pico)
2. ¿De qué tamaño son los mensajes que viajan en el flujo? (Max y promedio)
3. ¿Se requieren mensajes procesados de entrada o salida en orden?
4. ¿Pueden las aplicaciones que participan en el flujo del mensaje detectar duplicados?
5. ¿Las aplicaciones esperan una respuesta para cada mensaje enviado?
6. ¿Interactúa el flujo de mensajes con fuentes de datos?
7. ¿La información en movimiento a través del flujo de mensajes es sensible o de naturaleza crítica? (Médicos, detalles financieros personales, etc.)
8. ¿Este mensaje fluye a través de centros de datos en diferente ubicación?
9. ¿Se requiere cifrado / verificación de la firma digital en el cuerpo del mensaje?
Comentarios
Publicar un comentario