Antartec Blogs

Los blogs oficiales de Antartec

Cinco preguntas sobre software libre

¿Software libre = Software gratis?

NO. Software gratis son aquellos programas que te consigues gratuitamente (y de manera legal). Software libre es todo programa que cumple cuatro requisitos: que puedes usar libremente, que puedes ver cómo fue construido (su código fuente), que puedes copiar las veces que quieras y que puedes mejorar (o pedir que alguien lo adapte para ti).

Las empresas de software libre por lo general dejan que sus programas sean gratis, pero cobran por servicios añadidos (básicamente por la mano de obra que realiza la instalación del software, le da soporte técnico o construye mejoras especiales para ti).

¿Software libre = Linux?

NO. Linux es probablemente el software libre más fácil de reconocer, pero hay multitud de programas en software libre que puedes usar inclusive en tu Windows o Mac. Un lugar donde puedes comenzar a ver equivalentes a los programas que ya usas es Alternativas Libres http://www.freealts.com/ y programas de software libre que puedes llevar en un USB en http://portableapps.com/

¿Linux = Ubuntu?

NO. Ubuntu es una “distribución” o “sabor” de Linux. Imagina a Linux como una base, una mesa a la cual cada persona le coloca objetos encima para darle un uso en particular: la mesa más lo que colocas encima es una “distribución”. Ubuntu es la más popular, pero hay otros Linux para diversas necesidades: servidores, uso educativo, estudios de audio y video, e inclusive en celulares, como Android.

¿Hay virus en Linux?

NO (al menos no reconocidos). Lo que sucede es que los virus que existen en Windows (que son la gran mayoría) no pueden afectar automáticamente a un Linux porque son sistemas totalmente diferentes. Los “antivirus” en Linux en realidad sirven para detectar virus que podrían infectar tu Windows o por ejemplo tu USB.

¿Es complicado el software libre?

Flisol Perú 2012NO. Como cualquier cosa en la vida, todo necesita un cierto tiempo de aprendizaje y adaptación. Lo mismo pasa con los programas nuevos que usamos.

Un programa sencillo con el que puedes comenzar es Mozilla Firefox, un navegador de Internet http://mozilla.org/firefox , y si quieres aprender más sobre software libre puedes esperar al 28 de abril para buscar la sede más cercana a tu casa del FLISOL (Festival Latinoamericano de Instalación de Software Libre) http://flisol.pe


Entrada original

Como es usual en Antartec, seguimos explorando nuevas herramientas y soluciones para nuestros clientes. En los últimos meses pasamos una buena cantidad de tiempo construyendo una herramienta basada en Talend, un software ETL que resultó ser una importante ayuda a los procesos automatizados de inteligencia de negocios. En este artículo se describen nuestra percepción inicial de este producto y su aplicación práctica.

Definición de ETL

Para poder hablar de Talend primero tenemos que definir qué es un software ETL.

Extraer, transformar y cargar (Extract, Transform and Load en inglés, frecuentemente abreviado a ETL) es el conjunto de procesos que permite a las organizaciones mover datos desde múltiples orígenes y modificar su formato, para luego enviarlos en otra base de datos, datamart, o data warehouse para análisis posterior, o enviar los datos hacia otro sistema operacional para apoyar un proceso de negocio.

Talend

Talend Open Studio es una herramienta Open Source de integración y gestión de datos, así como integración de aplicaciones empresariales: en palabras simples una herramienta ETL.

Talend está basado en Java, requiere específicamente JDK 6 y por tanto puede ser ejecutado en Windows y Linux sin mayor dificultad, solo basta con descomprimir su ‘instalador’.

Niveles de Talend

Talend basa su diseño en 3 niveles:

  • Business Models (Modelos de Negocios): es nivel diseñado para modelar de manera teórica la aplicación, para lo cual se realizan diagramas de flujo básicos con actores de los procesos.
  • Job Designs (Diseño de Trabajos): el nivel mas interesante, en el cual se diseña el trabajo en sí, el código que será ejecutado.
  • Contexts (Contextos): el es nivel que contiene los contextos, los cuales pueden ser definidos como variables globales de ejecución del programa, como la carpeta donde se ejecutará la aplicación final o variables iniciales de entrada.

Pantallazo Talend 1

Job Designs

Es el nivel empleado con mayor frecuencia en Talend Open Studio. Formado por el conjunto de Jobs, o tareas a realizar. Cada Job inicialmente de una grilla (grid) en blanco, donde se arrastran elementos de una paleta ubicada en la parte derecha del diseñador.

En dicha paleta se encuentran varios elementos configurables, llamados Subjobs, los cuales se encargan de ejecutar tareas predeterminadas pero configurables como conexiones, consultas, código personalizado, etc.

Dichos Subjobs se encuentran separados en la paleta en diversas categorías: BI, Cloud, Custom Code, Data Quality, ETL, Orchestation, System, etcétera.

Algunos Subjobs que pueden resultar interesantes son:

  • Conexiones estandarizadas y personalizables a bases de datos, incluye soporte a gran cantidad de las bases de datos Open Source (MySQL, PostgreSQL, SLQLite) e incluso Sybase y Oracle.
  • Ejecutores de consultas y procedimientos almacenados en las mencionadas bases de datos.
  • Código Java personalizable.
  • Iteradores, repetidores de subtareas.
  • Inscripción de variables globales, muy usado para mantener una variable global, ya que los subjobs solo crean variables locales.
  • Extractores e insertores de datos de archivos (xml, properties), también configurables.
  • Conexión a FTP para envío y descarga de archivos.
  • Compresión de archivos.
  • Modificadores de carpetas (crear, eliminar, modificar).
  • Filtros de información.

Pantallazo Talend 2

Los mencionados y varios otros elementos más se unen mediante un flujo secuencial, guiado por flechas extraídas de cada uno de ellos (visibles haciendo click derecho) que hacen referencias a eventos de dos clases:

  • row: evento que transmite data del elemento al elemento apuntado.
  • trigger: conjunto de eventos, activados por posibles modos de ejecución.
    • OnSubjobOk: cuando el elemento ha sido ejecutado sin errores.
    • OnSubjobError: cuando el elemento ha tenido algún error en la ejecución.
    • otros eventos, dependiendo del tipo de Subjob.

Adicionalmente, un Job puede contener a uno o varios otros Jobs e invocarlos como parte de un nuevo flujo, ejecutando los Subjobs contenidos dentro de cada uno.

Finalmente, cada Job es exportable a un archivo comprimido en formato ZIP, que contiene el ejecutable: un archivo .jar llamado a partir de un archivo .bat (para Windows) o un archivo .sh (Linux).

En resumen, podemos decir que Talend es una herramienta versátil para el proceso de ETL, con un buen entorno de desarrollo visual y múltiples conexiones a bases de datos  sin embargo tiene una curva de aprendizaje un poco elevada y un par de bugs pendientes por resolver.

Más información


Entrada original

[SysAdmin] Herramientas de monitoreo en infraestructuras de TI

Definitivamente las herramientas de monitoreo nos facilitan la vida a los administradores de TI. Directamente nos permiten conocer el uso de los recursos en el tiempo, el estado de las aplicaciones o servicios, ver el estado actual de hardware y software entre otros. Indirectamente nos permite proyectar la adquisición de nuevos equipos o partes, prevenir futuros problemas, incluso solucionar problemas actuales.

Las herramientas de monitoreo cumplen objetivos generales como:

  • Alertar sobre problemas inminentes o actuales.
  • Tener una visión centralizada de los equipos, servicios, software, hardware, versiones.
  • Tener datos históricos de uso de recursos.
  • Mostrar gráficos, reportes, resúmenes que ayudan a sintetizar la información.

Estos objetivos permiten a los administradores de TI realizar tareas como:

  • Prevenir posible problemas futuros relacionados con falta de recursos por aumento de carga o uso.
  • Resolver problemas inminentes con avisos y alertas pertinentes antes que el problema sea alertado por los usuarios finales.
  • Estimar presupuestos para adquisiciones de software/hardware brindando datos históricos para sustentar la inversión.
  • Realizar mejoras y optimizaciones en el uso de los recursos.
  • Prevenir fallas de seguridad.
  • Reforzar los puntos débiles de la infraestructura, ya sea hardware, software o servicios.

En esta ocasión describiremos tres herramientas de monitoreo que cubren diferentes funcionalidades y permiten tener una vista integral de la infraestructura de TI.

Munin

Esta herramienta permite tener una recopilación gráfica de como ha evolucionado el uso de los recursos durante el tiempo.

Características

  • Cuenta con una interfaz web que muestra la evolución histórica del uso de recursos durante el tiempo.
  • Munin monitorea el uso de recurso de cada máquina, recursos como disco, red, uso de CPU, RAM, Carga (load).
  • También es capaz de monitorear indicadores de algunas aplicaciones como tamaño de cola de postfix, procesos de apache, consultas de mysql entre otras.
  • Genera gráficas por día, semana, mes y año de cada uno de los indicadores.
  • Muestra el mínimo, máximo, media y valor actual los indicadores en cada periodo de tiempo.
  • Es posible configurar umbrales de alerta para estado de advertencia y crítico.
  • El servidor corre sobre Linux, el agente corre sobre Linux y Windows (con algunas limitaciones).

Beneficios

  • Permite determinar con anticipación cuando un recurso estará sobre utilizado o será insuficiente. Por ejemplo permite anticipar la compra de discos duros antes que estos estén llenos.
  • Permite monitorear errores o generar mejoras. Por ejemplo permite detectar errores de red que pueden ser causados por la alta carga del servidor.
  • Permite medir cuantitativamente el crecimiento del uso de los recursos, de esta manera es posible sustentar compra de hardware o medir el crecimiento.

Nagios

El principal objetivo de esta herramienta es sensar el estado de aplicaciones mediante escaneo de puertos, ejecución de comandos o la ejecución de cualquier prueba que pueda determinar si un servicio está corriendo correctamente (peticiones http o consultas sql por ejemplo).

Características

  • Para establecer un sensor se siguen los siguientes pasos:
    • Determinar el servidor que va a ser sensado.
    • Determinar el tipo de sensor (HTTP, TCP, SMTP, SQL, etc).
    • Establecer los umbrales de alerta y crítico. (Por ejemplo tiempo de respuesta mayor a X segundos o más de Y correos en la cola de correo).
    • Establecer el tipo de alerta (normalmente correo) y el contacto (persona o servicio al que llega la alerta).
  • La herramienta cuenta con una interfaz web que muestra el estado de los diferentes servidores y servicios.
  • Los posibles estados son desconocido, correcto, advertencia y crítico.
  • Permite establecer diferentes niveles de alerta o escalamiento. Diferentes niveles de alerta pueden llegar a diferentes contactos.
  • Es posible establecer diferentes alertas según periodos de tiempo (horas laborales, días laborales, fines de semana, madrugada, etc)
  • Permite establecer modelos (templates) de tipos de servidores (servidores remotos o locales, servidores o desktops, servidores o equipos de red) o tipos de servicios (servicios críticos o no críticos, servicios locales o remotos, etc) según este modelo es posible establecer diferentes frecuencias de muestreo, contactos de alertas, umbral de falla, etc.
  • Una de las características que me parece más resaltante de Nagios es la facilidad para crear nuevos sensores y otros comandos. Es posible crear un sensor virtualmente para cualquier tipo de servicio. Además es posible crear un comando personalizado para el envío de alertas utilizando algún medio alternativo (VoIP, mensajería instantánea, etc).
  • El sensado puede ser de 3 tipos:
    • Activo, el servidor inicia la prueba, por ejemplo el servidor solicita una página http.
    • Remoto, el servidor inicia la prueba, pero esta se ejecuta un agente remoto. Por ejemplo ejecutar un comando remoto para saber cuantos procesos se están ejecutando en otro servidor.
    • Pasivo: el servidor nagios recibe el estado de otro servidor, en este caso no inicia la prueba y no tiene control de la frecuencia de ejecución.
  • Permite programar los tiempos de inoperatividad con anticipación para evitar el envío innecesario de alertas.

Beneficios

  • Permite tener un control exhaustivo del estado de los servicios de los diferentes servidores de manera centralizada.
  • Permite realizar pruebas sobre infinidad de servicios.
  • Permite ejecutar alertas según el tipo de evento.
  • Permite detectar los problemas antes que causen daños mayores.

OCSInventory

Este programa sencillo pero muy útil permite tener un inventario centralizado de software y hardware.

Características

  • Interfaz web que muestra el listado de servidores o computadoras. El listado puede ser ordenado por cualquier columna y es posible agregar o quitar columnas según la necesidad.
  • La interfaz web muestra el detalle de cada servidor incluyendo:
    • Hardware: CPU, RAM, red, placa madre, video, sonido, entre otros.
    • Software: Sistema operativo, programas instalados.
    • Versión de BIOS
    • Detalles de red o redes activas
  • Cuenta con una funcionalidad de búsqueda que permite filtrar datos como programas instalados, memoria RAM, redes, entre otros.
  • Permite agrupar los servidores por diferentes criterios (similar a la búsqueda).
  • El agente debe ser instalado y configurado en cada servidor o computadora a ser inventariada.
  • El instalador del agente se encuentra disponible para Windows y Linux.

Beneficios

  • Permite tener una vista centralizada de los servidores y computadores de escritorio.
  • Facilita la tarea de mantenimiento y renovación de hardware.
  • Facilita la detección de software no autorizado.
  • Facilita la prevención de ataques de seguridad brindando detalle de las versiones de los programas instalados en cada computador.

Listado de máquinas

Búsqueda por Software

¿Cuál usar?

En un ambiente de producción, el uso de todas estas herramientas es casi necesario. Son herramientas complementarias que además se pueden integrar entre sí. Por ejemplo, Munin y Nagios se pueden integrar para que el primero reporte al segundo en forma relativamente sencilla. La fortaleza del Munin es poder contar con reportes de uso de recursos en el tiempo, mientras que la de Nagios es la de reportar alertas no sólo respecto a recursos si no a disponibilidad de servicios (por su flexibilidad).

Enlaces


Entrada original

Software Libre en el Gobierno Electrónico Peruano (ONGEI)

El pasado 17 de marzo de 2011 se realizó el “Seminario de Gobierno Electrónico“, evento organizado por la ONGEI (Oficina Nacional de Gobierno Electrónico e Informática) y que tuvo por objeto informar los beneficios de la implementación de la Política Nacional del Gobierno Electrónico e Informática en el Perú y los proyectos existentes en el marco de esta iniciativa. En este artículo se describirán dos de las presentaciones realizadas en el evento, y en las cuales se hizo mención a temas de software libre y abierto.

El primer espacio del evento fue Gobierno Electrónico en el Perú: Conceptos, actividades y avances, a cargo del jefe del ONGEI, Ing. Jaime Honores Coronado. Se inició con algunos conceptos generales de e-government para luego mostrar la evolución del Gobierno Electrónico en el Estado Peruano.

Plataforma de Interoperabilidad del Estado – PIDE

En mi opinión, el punto más importante de la presentación fue La Plataforma de Interoperabilidad del Estado – PIDE: la infraestructura que permitirá implementar servicios públicos en línea que requieran la participación de varias entidades públicas. Esta plataforma usará a nivel de software productos de software libre y abiero: JBoss SOA, JBoss Web Server, PostgreSQL como sistema administrador de base de datos y el sistema operativo Red Hat.

Pantallazo-Gobierno Electrónico en el Perú

Diapositiva de la presentación Gobierno Electrónico en el Perú. En ella se muestran los detalles técnicos de la Plataforma de Interoperatividad del Estado, cuya culminación está proyectada a mayo de 2011


Entrada original

Zimbra 7: sumas y restas de la nueva versión

Zimbra ha sido una de las tecnologías colaborativas más importantes en el mundo del software libre y abierto. Inicialmente concebido como una herramienta de automatización de servicios de correo corporativo, evolucionó en un conjunto de funcionalidades para el trabajo coordinado en una organización o en una corporación empresarial. La versión 7 trae algunas sorpresas, algunas de ellas gratas y otras no tanto.

Zimbra 7 Diagram

La primera novedad de esta versión es el cambio de nombre: de Zimbra Collaboration Suite a VMware Zimbra Collaboration Server, con lo cual resalta el nuevo dueño del producto: VMware. Además de la versión Open Source y Network (dividida a su vez en Starter, Standard y Pro), VMware apuesta nuevamente por sus packs listos para usar:  Zimbra Appliance (versiones Basic y Standard), una configuración que aprovecha la infraestructura de virtualización de VMware.

Primero, las mejoras para usuarios finales

Éstas son alguna de las novedades generales disponibles en la versión Open Source de Zimbra 7 (y que a mi parecer son destacables):

Entrada original

Antartec Blogs

El objetivo de estos blogs es dar a conocer los temas que abordamos como parte de nuestras actividades cotidianas en Antartec, así como constituirse en un medio que permita una mayor difusión de nuestros servicios, productos y soluciones.