Centralización de logs con Elasticsearch + Logstash + Kibana
y Recolección de métricas con statsd/collectd, con multiples storages y visualizadores de métricas
Repositorio con infraestructuras automatizadas + un symfony que se integra
https://github.com/felixcarmona/detras-del-backend
(vagrant up)
What RabbitMQ can do for you (phpnw14 Uncon)James Titcumb
RabbitMQ is a message broker – an application that allows communication between applications by way of a message queuing system. In this talk, we look at some of the basic concepts of RabbitMQ and how it can help effectively scale your applications.
Charla del PHP Day Spain, sobre como lidiar con Legacy Code. Se habla de UnitTesting, Refactoring. Ademas de como generar codigo de buena calidad con TDD y Clean Code.
Joomla!day2013 Albacete Spain, Responsive, Adaptive y la tundraJordi Catà
En esta charla realizada en el Joomla!Day 2013 Albacete, Hablo sobre Responsive, Adaptive , apps a nivel conceptual con el objetivo de diferenciar las diferentes técnicas para adaptar la web a los diferentes dispositivos.
El incremento de acceso a webs vía dispositivos móviles está en aumento. El ratio de conversión de compras vía app desde tableta es más alto que vía ordenador. Las webs tienden a ser multidispositivo: la misma web se puede visualizar en ordenador, móvil, tablet, Smart TV.
What RabbitMQ can do for you (phpnw14 Uncon)James Titcumb
RabbitMQ is a message broker – an application that allows communication between applications by way of a message queuing system. In this talk, we look at some of the basic concepts of RabbitMQ and how it can help effectively scale your applications.
Charla del PHP Day Spain, sobre como lidiar con Legacy Code. Se habla de UnitTesting, Refactoring. Ademas de como generar codigo de buena calidad con TDD y Clean Code.
Joomla!day2013 Albacete Spain, Responsive, Adaptive y la tundraJordi Catà
En esta charla realizada en el Joomla!Day 2013 Albacete, Hablo sobre Responsive, Adaptive , apps a nivel conceptual con el objetivo de diferenciar las diferentes técnicas para adaptar la web a los diferentes dispositivos.
El incremento de acceso a webs vía dispositivos móviles está en aumento. El ratio de conversión de compras vía app desde tableta es más alto que vía ordenador. Las webs tienden a ser multidispositivo: la misma web se puede visualizar en ordenador, móvil, tablet, Smart TV.
La irrupción de la web 2.0 ha cedido todo el protagonismo del desarrollo web a las de tecnologías de cliente: javascript, css, peticiones http en segundo plano... y no ha hecho más que intensificar su uso. En esta ponencia veremos herramientas para detectar cuellos de botella en el navegador y algunos trucos para optimizar el uso de estos recursos y mejorar drásticamente la carga de nuestras páginas.
Steganography: Hiding your secrets with PHPRaul Fraile
Steganography consists of hiding a secret message within another message. Unlike cryptography, steganography tries to achieve security through obscurity, hiding the very presence of the message. Ideally, the steganographic message will look identically to a normal message.
This talk examines different techniques to hide messages using steganography from the perspective of a PHP developer. From more classical techniques such as hiding an image within another image using the least significant bits of each pixel, to more advanced ones like using TCP/IP packets.
Esta charla pretende enseñar como añadir RabbitMQ a un proyecto Symfony.
Charla realizada en Symfony Barcelona el dia 2 de julio. Podeis encontrar ejemplos de código en https://github.com/solilokiam/rabbitmqexample
How to Become a Thought Leader in Your NicheLeslie Samuel
Are bloggers thought leaders? Here are some tips on how you can become one. Provide great value, put awesome content out there on a regular basis, and help others.
Cómo hacer analítica de los logs que producen las aplicaciones. Introducción teorica y práctica de las tres herramientas ELK(ElasticSearch, Logstash y Kibana).
Únete a este tercer taller de primeros pasos con Beats y Logstash y aprende cómo desplegar y conectar estas aplicaciones a las fuentes de datos por un lado y a Elasticsearch por otro.
En SQL Server 2008 apareció una característica no muy aprovechada por los equipos de administración de SQL Server de las empresas. Se trata de una API de fácil programación para captura de información de múltiples servidores de SQL Server para su posterior explotación. En esta sesión os daremos detalles de cómo hemos construido en SolidQ nuestra herramienta SolidQDataCollector, para que veáis qué cosas podéis llegar a conseguir con esta tecnología de desarrollo rápido
MongoDB Atlas: La mejor forma de utilizar MongoDB en la nube 1MongoDB
MongoDB Atlas es la base de datos como servicio que permite implementar, utilizar y escalar una base de datos de MongoDB con tan solo unos pocos clics.
La irrupción de la web 2.0 ha cedido todo el protagonismo del desarrollo web a las de tecnologías de cliente: javascript, css, peticiones http en segundo plano... y no ha hecho más que intensificar su uso. En esta ponencia veremos herramientas para detectar cuellos de botella en el navegador y algunos trucos para optimizar el uso de estos recursos y mejorar drásticamente la carga de nuestras páginas.
Steganography: Hiding your secrets with PHPRaul Fraile
Steganography consists of hiding a secret message within another message. Unlike cryptography, steganography tries to achieve security through obscurity, hiding the very presence of the message. Ideally, the steganographic message will look identically to a normal message.
This talk examines different techniques to hide messages using steganography from the perspective of a PHP developer. From more classical techniques such as hiding an image within another image using the least significant bits of each pixel, to more advanced ones like using TCP/IP packets.
Esta charla pretende enseñar como añadir RabbitMQ a un proyecto Symfony.
Charla realizada en Symfony Barcelona el dia 2 de julio. Podeis encontrar ejemplos de código en https://github.com/solilokiam/rabbitmqexample
How to Become a Thought Leader in Your NicheLeslie Samuel
Are bloggers thought leaders? Here are some tips on how you can become one. Provide great value, put awesome content out there on a regular basis, and help others.
Cómo hacer analítica de los logs que producen las aplicaciones. Introducción teorica y práctica de las tres herramientas ELK(ElasticSearch, Logstash y Kibana).
Únete a este tercer taller de primeros pasos con Beats y Logstash y aprende cómo desplegar y conectar estas aplicaciones a las fuentes de datos por un lado y a Elasticsearch por otro.
En SQL Server 2008 apareció una característica no muy aprovechada por los equipos de administración de SQL Server de las empresas. Se trata de una API de fácil programación para captura de información de múltiples servidores de SQL Server para su posterior explotación. En esta sesión os daremos detalles de cómo hemos construido en SolidQ nuestra herramienta SolidQDataCollector, para que veáis qué cosas podéis llegar a conseguir con esta tecnología de desarrollo rápido
MongoDB Atlas: La mejor forma de utilizar MongoDB en la nube 1MongoDB
MongoDB Atlas es la base de datos como servicio que permite implementar, utilizar y escalar una base de datos de MongoDB con tan solo unos pocos clics.
30. Recolectando métricas con statsd
Aplicación
Peticiones
Muestras
Agregador de
métricas
Almacén
de
métricas
Agrupación y guardado
de las métricas recibidas
durante x segundos
(aka flush interval)
Visualizador de
metricas
statsd
Graphite (whisper)
AWS CloudWatch
Librato (Storage)
Graphite (web app)
Librato
AWS CloudWatch (web)
40. Counters
Si durante el transcurso de un flush interval,
enviamos las siguientes muestras para una
métrica determinada:
+2, +2, +4, -1.
Statsd los sumará y guardará simplemente un
valor 7.
41. Timers
Sirven para colectan números.
No necesariamente tienen porque ser valores
de tiempo.
Por ejemplo puedes guardar con ellos, el
número de bytes leídos, el número de objetos
en un almacén o cualquier cosa que sea un
número.
42. Timers
Finalizado el flush interval, statsd guardara 8 valores.
Por ejemplo para las muestras 8.5, 2.3, 5, 3.1:
● La muestra mínima recibida (2.3)
● La muestra máxima recibida (8.5)
○ + percentil 90
● La suma de todas las muestras recibidas (18.9)
○ + percentil 90
● La media de todas las muestras recibidas (4.725)
○ + percentil 90
● Número de muestras recibidas (4)
43. Gauges
Solo la última muestra recibida durante un flush
interval es guardada.
Por ejemplo, si durante un flush interval statsd
recibe las siguientes muestras para una
métrica determinada: 1, 7, 4, 2.
Statsd solo guardará el valor 2, y ademas lo
reenviará al storage en cada flush interval
44. Sets
Suma el número de muestras recibidas (no su valor, si no
la cantidad de muestras recibidas) para una métrica
determinada durante un flush interval.
Pero para los valores repetidos, solo contará 1.
Por ejemplo, si enviamos las muestras:
3, 4, 5, 2, 2, 3. Guardará un valor 4. porque descartará los
repetidos, convirtiendo 3, 4, 5, 2, 2, 3 en 3, 4, 5, 2.
Por lo tanto, guardará un valor 4. (4 muestras recibidas)
45. Balanceando vários statsd
statsd
statsd
statsd
Almacén de
métricasBalanceador
DNS Round Robin
UDP Load Balancer (https://github.com/felixcarmona/udp-load-balancer)
1
3
2
¿ 1 , 3 , 2 ?
se guardará solo uno
de los statsd que
reporten
50. 15 días de retención de datos
$0,50 por metrica al mes
AWS CloudWatch
51. Round Robin Database
RRDtool
Image from: http://www.loriotpro.com/Products/On-line_Documentation_V5/LoriotProDoc_EN/V22-RRD_Collector_RRD_Manager/V22-
A1_Introduction_RRD_EN.htm
52. Escrito en Python
Muy similar a RRDtool (Fixed size)
Mas lento que RRDtool (Escrito en C)
Roll-up: En lugar de desechar los datos más
antiguos, los va degradando a menor
resolución (60 métricas x 1 min -> 1 métrica x 1 h)
Graphite (Whisper)
53. Librato
13 meses de retención
Roll-up como whisper:
● Últimos 30 minutos: raw resolution
● Últimos 60 minutos: raw resolution
● Últimas 3 horas: 1 minuto de resolución
● Últimas 6 horas: 1 minuto resolución
● Últimas 12 horas: 15 minutos de resolución
● Últimas 24 horas: 15 minutos de resolución
● Últimos 3 días: 1 hora de resolución
● Últimos 7 días: 1 hora de resolución
● Últimas 4 semanas: 1 hora de resolución
54. Balanceando para Librato
statsd
statsd
statsd
LibratoBalanceador
DNS Round Robin
UDP Load Balancer (https://github.com/felixcarmona/udp-load-balancer)
1
3
2
1 , 3 , 2
se guardarán todos los
statsd que reporten.
Por lo que luego
podremos leer la suma
de todos
(1 + 3 + 2 = 6), o la
media de estos, etc