Entradas

Mostrando entradas de julio, 2017

Análisis de efectividad en lenguajes de programación.

Imagen
Últimamente me ha dado por realizar pequeñas prácticas que hace mucho realicé como parte de mi descubrimiento en algunos lenguajes de programación. He leído mucho respecto a los sabores y performance de cada lenguaje, cuyos argumentos no trataré por ser sumamente objetivos. Algunos valoran la facilidad, otros la poca verborrea que facilitan la construcción de complejos componentes de software.
A continuación expongo los códigos comparados y las salidas en terminal.
Características de la computadora. CPU: 2 CPUs con 2 Cores AMD Turion(tm) 64 X2 Mobile Technology TL-60 a 1800.000 Mhz.Memoria RAM: 3.7GSistema Operativo: Fedora release 20 (Heisenbug)

Versiones de compiladores/interpretesPython: 2.7C: gcc version 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC)Java: 1.7 hotspot a 64 bitsRuby: 2.0Go: 1.4.2 64 bits
Python


for my_range in range(1,90000000):print (my_range)


Tiempo de ejecución

real    10m24.691s user    2m23.193s sys     0m7.727s

C
int i = 0; for(i=0;i<=90000000;i++) { printf("%d\n…

¿Por qué ser reactivos?

Imagen
Un documento interesante sobre algunos de los lineamientos para el diseño de arquitecturas de software resilientes, no solo dentro de la aplicación, también como parte de las capas de hardware y software. Los sistemas reactivos, en resumen, son aquellos que pueden tomar acciones ante una falla esperada en alguno de los componentes, por ejemplo, un servicio. También es mandatorio decir que se apoya en los patrones asíncronos, así evitando el desperdicio de recursos por bloqueo de hilos o conexiones. 
Ahora con el mundo on-premise, las cosas se ponen mucho más sencillas para construir arquitecturas robustas de software, aunado a la simplicidad de los orquestadores y proveedores de automatización para cualquier componente en el día a día.
Como nos tiene acostumbrados, O'reilly imprime un gran esfuerzo técnico y de edición en temas informáticos.


Les dejo aquí el PDF de libre descarga.


Pluging de HAProxy para Collectd.

Introducción Por fin encuentro un poco de tiempo para escribir. Los temas que ahora me atañen son sobre SRE (Site Reliability Engineering), y dentro de está multidisciplina podemos hallar un cantidad sorprendente de áreas que no aparecen directamente en su definición, sin embargo, la hacen posible. 
Uno de los pilares es el monitoreo de los componentes de la arquitectura que soporta las aplicaciones, incluídos los productos de software utilizados. Con el propósito de controlar el día a día (estadísticas) de comportamiento y desempeño de cada pieza, es necesario instrumentar los recolectores de métricas. 
Yo trabajo con Collectd, puesto que me facilita mucho la vida al momento de integrar agentes que me permitan la recolección de métricas en poco tiempo con un consumo trivial de recursos así como la estabilidad que el proyecto goza. 
Integración de HAProxy con Collectd
Al día de hoy existen al menos 3 plugins que el sitio de collectd.org menciona, no obstante, ninguno de ellos me funci…