Preventa3 días

Módulo 2 — IBM i (sistema operativo)

Sistema operativo integrado de IBM para Power Systems. Contenido desarrollado a la profundidad requerida por cada rol.

Dominar el OS integrado de IBM para Power Systems, sus particularidades arquitectónicas, y entender por qué es estructuralmente distinto a Windows, Linux o AIX.

Base común — todos los roles

Linaje del OS

IBM i fue lanzado en 1988 como OS/400, único OS de la línea AS/400. Su arquitectura interna desciende directamente del CPF (Control Program Facility) del System/38, incorporando además capas de compatibilidad para aplicaciones del System/36 (SSP) y para AIX. Esa herencia explica por qué IBM i es estructuralmente distinto a cualquier otro OS: su modelo de objetos, su almacenamiento de nivel único y su integración con la base de datos no son características agregadas a posteriori, sino rasgos fundacionales presentes desde el System/38.

El OS fue rebautizado a i5/OS en 2004, cuando IBM adoptó los procesadores POWER5; el "5" hacía referencia explícita a esa generación de chips. En 2008, al converger la línea System i con System p bajo la marca IBM Power Systems, el OS adoptó el nombre definitivo IBM i — donde la "i" significa integrated, aludiendo a la integración nativa de OS, base de datos, seguridad y middleware en una sola plataforma.

Versión vigente al momento de redactar este material: IBM i 7.5 (anunciada el 10 de mayo de 2022). IBM también ha publicado IBM i 7.6 (anunciada el 18 de abril de 2025), la versión más reciente de la línea.

Lo distintivo en una frase

IBM i no es "OS + DB + middleware ensamblados". Es una sola pieza integrada: el sistema operativo trae adentro la base de datos (DB2 for i), el modelo de seguridad por objeto, el journaling, el servidor web, el sistema de backup (BRMS), el subsistema de trabajos, y la administración. Esa integración es la que sostiene la propuesta de valor.

Versiones vigentes en el parque instalado

IBM mantiene varias versiones simultáneamente. En el parque real de clientes vamos a encontrar todas estas:

| Versión | Estado de soporte | |---|---| | IBM i 7.3 | Service Extension Offering (paga) iniciada el 1 de octubre de 2023 y vigente hasta el 30 de septiembre de 2026. | | IBM i 7.4 | Standard Support hasta el 30 de septiembre de 2026; luego transita a Service Extension hasta el 30 de septiembre de 2029. | | IBM i 7.5 | Standard Support activo (versión usada como referencia técnica de este material). | | IBM i 7.6 | Anunciada por IBM (abril de 2025). |

Implicancias prácticas:

  • Comercial — un cliente en 7.3 sin Service Extension contratada es una conversación de upgrade.
  • Preventa — algunas funcionalidades (p.ej. nuevos opcodes RPG, password level 4, mejoras de Db2 Mirror) están solo a partir de 7.5; chequear versión y TR antes de prometer.
  • Soporte — las páginas de IBM Support tienen secciones separadas por versión y TR; siempre verificar contra la versión instalada.

IBM publica el ciclo de vida de cada versión con anticipación. El soporte estándar de una versión típicamente dura tres años desde su GA (General Availability), seguido de un período opcional de Service Extension Offering (SEO) —contratado por separado— que extiende el acceso a PTFs de seguridad y corrección. Un cliente fuera de soporte estándar y sin SEO no recibe correcciones, lo que representa un riesgo de seguridad y operativo concreto.

IBM i 7.4 — features clave (la versión más instalada del parque)

7.4 sigue siendo, al momento de redactar este material, la versión con mayor presencia en cuentas reales. Vale la pena conocer sus features base y de TRs porque la mayoría del soporte y de las preventas lo encontrarán antes que 7.5.

Database y APIs

  • La API QBNCHGPD (Change Program Data) fue mejorada para actualizar la ubicación del código fuente de debug de un programa compilado con DBGVIEW(*SOURCE). Útil en debugging post-mortem.

Acceso a datos / ODBC

  • El IBM i Access ODBC driver fue portado al propio IBM i, permitiendo que cualquier cliente ODBC estándar se comunique con la base de datos local. Esto habilita re-deployar aplicaciones desarrolladas con el ODBC driver de Windows/Linux directamente sobre IBM i.

Desarrollo moderno (Node.js)

  • Versiones idb-connector 1.x e idb-pconnector 1.x publicadas, con acceso directo a Db2 desde JavaScript siguiendo convenciones JS/Node estándar.

Data science y machine learning

  • Paquetes nuevos para data science y ML disponibles vía RPM, incluyendo bibliotecas Python de Machine Learning y Data Science.
  • R disponible en IBM i — orientado a estadística y data mining.

Mensajería y middleware open source

  • Apache ActiveMQ disponible nativamente — broker de mensajería con soporte de OpenWire, STOMP, MQTT, AMQP, REST y WebSockets.

Build y devops

  • Mejoras de Apache Ant y Apache Maven para automatización de build.
  • Mejoras en utilities de terminal y networking adapters.

IBM i 7.4 recibió Technology Refreshes hasta al menos TR11. Cada TR de 7.4 incorporó mejoras incrementales en open source, Db2, APIs del sistema y herramientas de desarrollo; muchas de las capacidades de open source y data science se incorporaron en TRs específicos, no en la base 7.4.0.

Para Soporte y Preventa: chequear siempre el TR exacto en el cliente. Los TRs de 7.4 publicados llegan al menos hasta TR11; muchas mejoras —incluyendo las de open source y data science— se incorporan en TRs específicos, no en la base.


PreventaPara Preventa (3 días)

Objetivo del rol en este módulo: dominar la arquitectura del OS para diseñar soluciones (HA, CDC, modernización) y guiar POCs.

Single-level storage

IBM i implementa un esquema de almacenamiento de nivel único (single-level store) donde toda la memoria —RAM y disco— se direcciona como un único espacio virtual de 64 bits. El programa no distingue "leer de disco" vs "leer de memoria"; el OS gestiona la paginación y la residencia de datos de forma transparente. Esta arquitectura tiene raíces en el System/38 original y es uno de los rasgos más profundamente distintivos de la plataforma.

La consecuencia práctica más importante es que el modelo OS+DB se simplifica radicalmente: DB2 for i no necesita una capa de gestión de buffer pool separada del OS porque ambos operan sobre el mismo espacio de direcciones. Eso es parte de por qué la base de datos es "integrada" en un sentido que no aplica a otros sistemas donde el DBMS y el OS son productos independientes.

Los sistemas AS/400 originales usaban direccionamiento de 48 bits. Con la adopción de procesadores PowerPC en 1995 (familia Cobra/Muskie RS64) el esquema se expandió a 64 bits, y esa capacidad se preservó a través de todas las generaciones posteriores de POWER.

Objetos y bibliotecas

Todo es un objeto tipado: programas (*PGM), archivos (*FILE), módulos (*MODULE), service programs (*SRVPGM), data areas (*DTAARA), data queues (*DTAQ), etc. Los objetos viven en bibliotecas (*LIB).

El esquema es plano (no jerárquico). El IFS (Integrated File System) provee además un árbol Unix-like para stream files (HTML, JSON, JAR, etc.) y para integración con AIX/Linux dentro del mismo OS.

Journaling — pieza fundamental

Mecanismo de registro de cambios sobre objetos. Cada cambio queda asentado en un receptor de journal. Es la base de:

  • Commit/rollback transaccional.
  • Recuperación ante fallos.
  • Replicación lógica (Quick EDD lo usa).
  • Change Data Capture (Connect CDC lo usa).
  • Auditoría y compliance.

Cuando un cliente pide HA o CDC, lo primero a verificar: ¿qué objetos están journaled? Si la respuesta es "no todos los críticos", la primera tarea es journaling antes de hablar de productos.

DB2 for i

Motor SQL relacional integrado al OS. Soporta:

  • SQL estándar, store procedures (SQL y RPG), funciones tabla.
  • IBM i Services — vistas y UDTFs publicadas por IBM para introspección del sistema.
  • Db2 Mirror for i — HA activo/activo.
  • IBM i 7.5 soporta Db2 Mirror en modo "mixed OS release", que permite tener un nodo en 7.4 y otro en 7.5 durante el proceso de upgrade. Esto reduce drásticamente el downtime de actualización porque los nodos del mirror pueden actualizarse de forma secuencial sin detener la producción.

Seguridad por objeto

  • Niveles del sistema (QSECURITY) — típicamente 40 o 50.
  • Autoridades públicas / privadas / listas de autorización.
  • IBM i 7.5 introduce un nuevo esquema de cifrado de contraseñas activado mediante QPWDLVL=4. Este nivel utiliza un algoritmo más fuerte que los anteriores y es incompatible hacia atrás con sistemas que no soporten el nuevo esquema, lo que implica planificación en entornos de replicación o HA. La API QSYCHKPR permite validar de forma programática si una contraseña cumple con las reglas definidas en los system values.
  • IBM i 7.5 añade nueva capa de seguridad para IBM i NetServer y nuevos exit points en IFS que permiten auditar y controlar el acceso a stream files a nivel granular.

Conectividad

  • IBM i Access Client Solutions (ACS) — cliente Java multiplataforma, reemplaza al IBM i Access for Windows. Emulación 5250, transferencia de archivos, navegador SQL, gestión de spool.
  • IBM Navigator for i — interfaz web de administración.
  • 5250 — interfaz tradicional, sigue de uso diario para muchas tareas.
  • REST/JSON — IBM i puede exponer y consumir APIs. IBM i 7.5 mejora la trazabilidad de uso de REST APIs, registrando quién invoca qué endpoint y cuándo, con información accesible desde IBM i Services.

Technology Refresh (TR)

Cada versión de IBM i recibe TRs aproximadamente cada 6 meses con nuevas funcionalidades, mejoras de rendimiento y expansión del soporte a open source. Saber qué TR tiene el cliente es crítico para preventa: define exactamente qué features están disponibles.

IBM i 7.5 tiene TRs publicados desde TR1 hasta TR7 (al momento de redactar este material). Un cliente en 7.5 TR1 y otro en 7.5 TR7 tienen capacidades funcionalmente distintas, especialmente en áreas de Db2, open source y RPG. Siempre verificar el TR antes de prometer una funcionalidad.

BRMS y backup

Backup, Recovery and Media Services — solución de backup oficial de IBM, integrada con cintas/VTL/snapshots. Es el "lenguaje común" cuando se habla de backup en IBM i.

Sizing y diseño relevantes

  • Volumen del journaling — sub-dimensionarlo causa cuello de botella en HA/CDC.
  • Esquema de IASPs si hay HA con switching.
  • Storage para receptores de journal — política de purga.

Ejemplo de sizing

Escenario: un cliente de distribución con 150 usuarios concurrentes, 8,000 transacciones/hora en horario pico, base de datos Db2 for i de 1.2 TB, backup nocturno con BRMS a VTL, y necesidad de HA con Quick EDD.

| Componente | Recomendación | Justificación | |---|---|---| | Servidor | S1022 (Power10) | Scale-out con capacidad de crecimiento para este perfil de carga. | | Cores (producción) | 4 cores Power10 SMT8 | 150 usuarios + batch nocturno + journaling. 4 cores SMT8 = 32 threads, suficiente para esta carga con margen. | | Memoria (producción) | 128 GB | 1.2 TB de DB requiere buen machine pool + pools interactivo y batch. Regla de thumb: 10% del DB size en memoria como mínimo. | | Storage (producción) | 4 TB útil (SSD/NVMe) | 1.2 TB DB + 500 GB journal receivers + 800 GB IFS/sistema + 1.5 TB margen crecimiento. | | Cores (HA target) | 2-4 cores | Suficiente para apply process + validaciones. En role-swap asume carga completa — CoD disponible para activar. | | Memoria (HA target) | 64-128 GB | Puede ser menor si solo aplica cambios. En role-swap, activar CoD para igualar producción. | | Journal receivers | 10 GB/día estimado | A 8,000 tx/hora × 10 entries/tx promedio × 12 horas pico = ~960K entries. A ~10 KB/entry ≈ 10 GB/día. Retener 7 días = 70 GB en receivers. | | Red source↔target | 1 Gbps dedicado | 10 GB/día = ~1 MB/s sostenido. 1 Gbps da margen de sobra para picos y catch-up. |

IBM i Services — queries SQL de introspección

IBM i Services son vistas y funciones SQL publicadas por IBM que permiten consultar información del sistema operativo con SQL estándar. Son fundamentales para preventa (diagnóstico rápido del entorno del cliente) y para demos.

Ejemplo: estado general del sistema:

SELECT * FROM QSYS2.SYSTEM_STATUS_INFO;

Devuelve en una sola fila: número de procesadores, % CPU used, memoria total y disponible, número de jobs, ASP used %, etc. Es el equivalente de WRKSYSSTS pero accesible desde SQL.

Ejemplo: listar todas las bibliotecas con su tamaño:

SELECT OBJNAME AS LIBRARY, OBJSIZE, OBJCREATED
FROM TABLE(QSYS2.OBJECT_STATISTICS('QSYS', '*LIB'))
ORDER BY OBJSIZE DESC
FETCH FIRST 20 ROWS ONLY;

Ejemplo: verificar qué objetos no están journaled en una biblioteca:

SELECT SYSTEM_TABLE_NAME, SYSTEM_TABLE_SCHEMA, JOURNALED
FROM QSYS2.SYSTABLES
WHERE SYSTEM_TABLE_SCHEMA = 'MYLIB'
  AND TABLE_TYPE = 'P'
  AND JOURNALED = 'NO';

Esta query es gold para preventa de Quick EDD y Connect CDC: muestra inmediatamente qué tablas del cliente necesitan journaling antes de poder replicar.

DSPHDWRSC — interpretación de output

El comando DSPHDWRSC *PRC muestra los recursos de procesador disponibles:

DSPHDWRSC *PRC

Salida relevante para sizing:

  Resource         Type-Model   Status    Description
  MP010010         9009-22G     Operational   Main Card Enclosure
  PRC01            5225         Operational   Processor Card 01
    Feature: 8-core Power10
    Active cores: 4
    Installed cores: 8

Lo que le importa a preventa: Active cores vs Installed cores. Si hay más instalados que activos, hay CoD (Capacity on Demand) disponible para activar sin comprar hardware nuevo — es un dato de venta.