lunes, 30 de septiembre de 2019

Cloudflare, primer CDN en tener tecnología HTTP/3

Nos hacemos eco del nuevo anuncio de Cloudflare que ha añadido el soporte de HTTP/3. Se trata de un protocolo que mejorará notablemente la experiencia de los usuarios a la hora de navegar. Una navegación más veloz y segura. Se convierte así en el primer CDN (red de distribución de contenidos) en agregar esta tecnología. Google Chrome y Mozilla Firefox, dos de los principales navegadores hoy en día, también forman parte de este anuncio.


Qué es la tecnología HTTP/3

Cuando hacemos mención a la tecnología HTTP/3 nos referimos a la tercera versión del protocolo HTTP. Anteriormente se le conocía como HTTP over QUIC. Se trata de un nuevo estándar para la web. Llega para ofrecer conexiones más rápidas, más fiables y seguras hacia sitios web o API.

Básicamente va a significar una mejora notable para todos a la hora de navegar por Internet. Esto significa que cuando se activa la compatibilidad de un dominio web con HTTP/3, los visitantes podrían interactuar con ese sitio y sus API utilizando este nuevo protocolo. Eso se traduce, como hemos mencionado, en una mayor velocidad y más seguridad.

Desde ya vamos a poder interactuar con este tipo de sitios web que tengan habilitado HTTP/3. Eso sí, para ello vamos a tener que hacer uso de Google Chrome Canary, la versión del navegador que ya es compatible con esta tecnología.

HTTP/3 cambia la capa de transporte utilizada. Hasta ahora se usaba TCP, pero gracias a esta nueva tecnología utiliza QUIC. Se trata de un nuevo protocolo de transporte de Internet.

Cloudflare, el primer CDN en agregar HTTP/3

Cloudflare se ha convertido en el primer CDN en agregar la tecnología HTTP/3. Hay que mencionar que anteriormente ya impulsó el protocolo HTTP/2 y también TLS 1.3, entre otras cosas importantes para nuestras conexiones.

Lógicamente para que esto haya sido posible ha hecho falta el trabajo de varias partes. De nada sirve que esta tecnología esté implantada si la parte del soporte del cliente no es compatible. Con esto último nos referimos al navegador. En este sentido ya podemos anunciar que Google Chrome en su versión Canary, así como cURL, ya pueden desde hoy iniciar solicitudes a Cloudflare para ir a sitios basados en HTTP/3.

Respecto a Mozilla es de esperar que próximamente lance soporte para agregar esta tecnología en su versión Nightly. No han precisado una fecha concreta pero sí que esperan tenerlo listo para finales de otoño.

Sin duda estamos ante un paso importante para Internet. El despliegue de HTTP/3 significará acercarnos a una experiencia de navegación más veloz y más segura. Algo que sin duda será muy valorado por parte de los usuarios.

Desde hoy los clientes de Cloudflare podrán habilitar en su panel la posibilidad de activar HTTP/3 en sus dominios. Esto no significa que todos los visitantes que entre en ese sitio a partir de ahora lo hagan a través de esta nueva tecnología, claro. Para que eso ocurra deben utilizar un navegador con soporte de HTTP/3. Es en ese momento en el que se la conexión se actualiza automáticamente al nuevo protocolo. Si utiliza un navegador que aún no es compatible, la conexión funcionaría mediante las versiones anteriores.

Cloudflare agrega HTTP/3

Quiénes pueden usar ya HTTP/3 y cómo activarlo
Hay que mencionar que no todos los usuarios de Cloudflare van a poder utilizar desde ya la nueva tecnología HTTP/3. Desde la compañía han indicado que desde hace un tiempo crearon una lista de espera a la cual se podían ir apuntando los usuarios. Es por ello que de momento serán esos usuarios que estaban en la lista de espera los primeros en poder agregar este nuevo protocolo.

En caso de que algún lector sea uno de los usuarios que pueden implantarlo desde ya, recibirán un correo electrónico donde se indica que ya puede agregar esta función desde el panel de control.

Para activarlo hay que ir al panel de control de Cloudflare y buscar la opción de Red o Network. Allí veremos una opción denominada HTTP/3 (with QUIC). Justo al lado habrá un botón para activar o desactivar esta función.

De momento solo estará disponible en los sitios que se inscribieron en la lista de espera, como hemos mencionado. Poco a poco irán incluyendo más sitios que podrán agregar HTTP/3 y disfrutar de las ventajas de cara a sus usuarios.

Cómo utilizar HTTP/3 como usuario en Chrome

Para poder utilizar HTTP/3 como usuario desde Chrome lo primero que tenemos que hacer es contar con la última versión de Google Chrome Canary. Una vez lo tengamos instalado es necesario ejecutarlo con los comandos habilitados “--enable-quic” y “--quic-version=h3-23”, como explican desde la web de Chromium.

A partir de ese momento Google Chrome Canary se ejecutará con lo que hemos configurado y podremos introducir dominios a la barra de direcciones que se carguen a través de HTTP/3. De momento, como hemos indicado, únicamente estarán disponibles los dominios que formaban parte de la lista de espera que hizo Cloudflare.

Lógicamente HTTP/3 vendrá habilitado también en futuras versiones estables del navegador de Google Chrome. En un futuro próximo no necesitará de ningún tipo de configuración y será más sencillo habilitarlo, así como también tener a nuestra disposición más dominios disponibles.

Fuente > Cloudflare

sábado, 21 de septiembre de 2019

¿Qué es DevOps?

Actualmente no hay consenso en la industria con respecto a la definición de DevOps. Cada organización ha formulado su propia definición de DevOps y ha tratado de implementarla. Tienen su propia perspectiva y piensan que han implementado DevOps si tienen su automatización en su lugar, la administración de la configuración habilitada, mediante el uso de procesos ágiles o cualquier otra combinación.


DevOps trata sobre el mecanismo de entrega de sistemas de software. Se trata de unir a las personas, hacer que colaboren y se comuniquen, trabajar juntos hacia un objetivo y una visión comunes. Se trata de tomar responsabilidad conjunta, rendición de cuentas y propiedad. Se trata de implementar procesos que fomenten la colaboración y una mentalidad de servicio. Permite mecanismos de entrega que aportan agilidad y flexibilidad dentro de la organización. Contrariamente a la creencia popular, DevOps no se trata de herramientas, tecnología o automatización. Son habilitadores que ayudan en la colaboración, la implementación de procesos ágiles y la entrega más rápida y mejor al consumidor.

Hay varias definiciones disponibles en Internet para DevOps y no son correctas ni incorrectas. DevOps no proporciona un marco o metodología. Es un conjunto de principios y prácticas que, cuando se emplean dentro de una organización, interacción o proyecto, logran el objetivo y la visión tanto de DevOps como de la organización. Estos principios y prácticas no exigen ningún proceso, herramientas, tecnologías ni entorno específicos. DevOps proporciona la orientación que puede implementarse a través de cualquier herramienta, tecnología y proceso, aunque parte de la tecnología y los procesos podrían ser más aplicables para lograr la visión de los principios y prácticas de DevOps.

Aunque las prácticas de DevOps se pueden implementar en cualquier organización que ofrezca servicios y productos a los consumidores, en este libro veremos a DevOps desde la perspectiva del desarrollo de software y el departamento de operaciones de cualquier organización.

Entonces, ¿qué es DevOps?


Es un conjunto de principios y prácticas que reúne tanto a los Desarrolladores como a los equipos de operaciones desde el inicio del sistema de software para una entrega de principio a fin más rápida, veloz y eficiente del sistema de software al consumidor final, una y otra vez de manera coherente y predecible reduciendo el tiempo de comercialización, obteniendo así una ventaja competitiva.

Lea en voz alta la definición anterior de DevOps y, si la observa detenidamente, verá que no indica ni se refiere a ningún proceso, herramienta o tecnología específicos. No está prescribiendo ninguna metodología o entorno particular.

El objetivo de implementar los principios y prácticas de DevOps en cualquier organización es garantizar que las demandas de las partes interesadas (incluidos los consumidores) y las expectativas se cumplan de manera eficaz y efectiva.

Las demandas y expectativas del consumidor se cumplen cuando:


  • El consumidor obtiene las características que desea
  • El consumidor las obtiene cuando lo desea
  • El consumidor obtiene actualizaciones más rápidas de las características
  • La calidad de entrega es alta


Cuando una organización puede cumplir con las expectativas anteriores, los consumidores están satisfechos y se mantienen leales a la organización. Esto, a su vez, aumenta la competitividad en el mercado de la organización, lo que se traduce en una mayor marca y valoración del mercado. Tiene un impacto directo en los resultados y las ventas de la organización. La organización puede invertir más en innovación y comentarios de los consumidores, provocando cambios continuos en su sistema y servicios para mantener su relevancia.

La implementación de los principios y prácticas de DevOps en cualquier organización está guiada por el ecosistema circundante. Este ecosistema está compuesto por la industria y los dominios a los que pertenece la organización.

Los principios básicos de DevOps son los siguientes:


  • Agilidad
  • Automatización
  • Colaboración
  • Comentarios


Las prácticas principales de DevOps son las siguientes:


  • Integración continua
  • Administración de configuración
  • Implementación continua
  • Entrega continua
  • Aprendizaje continuo


DevOps NO es un paradigma nuevo, pero recientemente está ganando mucha popularidad y relevancia. Su adopción se encuentra en su nivel más alto y cada vez más empresas están emprendiendo este proceso. Mencioné a propósito DevOps como un proceso porque hay diferentes niveles de madurez dentro de DevOps. Si bien el éxito de la implementación y la entrega continuas se considera el nivel más alto de madurez en este proceso, al adoptar el control del código fuente, el desarrollo ágil de software se considera un comienzo.

Una de las primeras cosas de las que habla DevOps es romper las barreras entre los desarrolladores y el equipo de operaciones. Aporta el aspecto de colaboración estrecha entre varios equipos. Se trata de cambiar la mentalidad de la que el desarrollador es responsable de escribir solo el código y pasarlo a operaciones para la implementación una vez que se haya probado. También se trata de cambiar la mentalidad de que las operaciones no tienen ningún papel que desempeñar en las actividades de desarrollo. Las operaciones deben influir en la planificación del producto y deben ser conscientes de las características que se publicarán como lanzamiento. También deben proporcionar continuamente comentarios a los desarrolladores sobre los problemas operativos, de modo que puedan solucionarse en versiones posteriores. Deben influir en el diseño del sistema para un mejor funcionamiento operativo del sistema. De manera similar, los desarrolladores deben ayudar a las operaciones en la implementación del sistema y resolver incidentes cuando surjan.

La definición hace referencia a la entrega más rápida, veloz y eficiente de los sistemas a los interesados. No habla de lo rápida o eficiente que debería ser la entrega. Debería ser lo suficientemente rápida o veloz según el dominio de la organización, la industria, la segmentación de clientes, etc. Para algunas organizaciones, lo suficientemente rápido podría ser trimestral, mientras que para otras podría ser semanal. Ambos tipos son válidos para el punto de vista de DevOps y se pueden implementar procesos y tecnologías relevantes para lograr lo mismo. DevOps no lo ordena. Las organizaciones deben identificar la mejor implementación de los principios y las prácticas de DevOps en función de su visión general del proyecto, la interacción y la organización.

La definición también habla de la entrega de un extremo a otro. Esto significa que desde la planificación y la entrega del sistema a los servicios y operaciones debe ser parte de la implementación de DevOps. Los procesos deben ser los que permitan una mayor flexibilidad, modularidad y agilidad en el ciclo de vida del desarrollo de la aplicación. Mientras que las organizaciones son libres de usar el mejor proceso de ajuste: cascada, Agile, Kanban, etc., por lo general, las organizaciones tienden a favorecer los procesos ágiles con la entrega basada en iteraciones. Esto permite una entrega más rápida en unidades más pequeñas que son mucho más comprobables y manejables en comparación con las grandes entregas.

DevOps habla sobre clientes finales una y otra vez de una manera coherente y predecible


Esto significa que las organizaciones deben realizar entregas continuamente a los consumidores con funciones más nuevas y actualizadas utilizando la automatización. No podemos lograr consistencia y previsibilidad sin el uso de la automatización. El trabajo manual debe reducirse a ninguno para garantizar un alto nivel de consistencia y previsibilidad. La automatización también debe ser de extremo a extremo, para evitar fallos. Esto también indica que el diseño del sistema debe ser modular, lo que permite una entrega más rápida, ya que son fiables, disponibles y escalables. Las pruebas desempeñan un gran papel en la entrega coherente y predecible.

El resultado final de la implementación de las prácticas y los principios mencionados anteriormente es que la organización puede satisfacer las expectativas y demandas de los clientes. La organización puede crecer más rápido que la competencia y aumentar aún más la calidad y la capacidad de sus productos y servicios a través de la innovación y mejora continuas.

Fuente | Libro Azure for Architects

viernes, 20 de septiembre de 2019

Como convertir una imagen GIF en MP4

Estamos muy acostumbrados a ver imágenes GIF como banners en diferentes webs de todas las temáticas, sin embargo Google comenzó a cambiar las reglas de juego y hoy valora más un pequeño video en MP4 que este tipo de imágenes.


Existe una gran cantidad de servicios en línea que permiten no solamente reducir los tamaños de los archivos GIF, que por lo general son bastante pesados, sino que ademas pueden llegar a transformarlos en videos.

Afortunadamente, para los que usamos sistemas Linux, tenemos una excelente herramienta llamada ffmpeg para llevar adelante esta acción.

De GIF a MP4


Una de las nuevas recomendaciones de Google PageSpeed Insights indica que los GIF de gran tamaño no son eficaces para mostrar contenido animado. Para usar menos bytes de la red, te recomendamos que utilices los formatos de vídeo PEG4/WebM para incluir animaciones y los formatos PNG/WebP para añadir imágenes estáticas en lugar de GIFs.

Para esta tarea vamos a utilizar la herramienta ffmpeg que entre sus múltiples utilidades permite realizar esta acción.

¿Cómo instalar ffmpeg?


Para aquellos que utilizan sistemas basados en GNU/Linux Debian, pueden ejecutar el siguiente comando:

$ apt-get install ffmpeg

De esta forma tan simple, ya es posible hacer uso de los diferentes comandos y argumentos.

Ahora bien, suponiendo que nuestro archivo de imagen GIF tenga el nombre de «imagen.gif» podemos transformarlo en un video de la siguiente manera:

$ ffmpeg -i imgen.gif -b:v 0 -crf 25 video.mp4

El resultado de la ejecución de este comando es un archivo llamado «video.mp4» con un tamaño mucho menor que la imágen original y sin perder calidad.

De esta manera, logramos un archivo mucho más optimizado en su tamaño y además solo resta modificar el tag con que se hace referencia, antes utilizando imágen y ahora video.


No te olvides de dejarme un comentario, like o tus experiencias!

Saludos

jueves, 19 de septiembre de 2019

Qué versión de Python estoy ejecutando?

Este es un pequeño post que quiero compartir rápidamente. A quienes solemos crear Script con Python muchas veces se nos olvida cuál es la versión que estamos ejecutando y para ello les voy a dejar varias opciones para tenerlo en cuenta.


Sin dar mas vueltas, veamos algunas de las formas de obtener la versión de Python directamente desde la consola o terminal de comandos.

$ python -V
Python 2.7.12

O si van a utilizar el intérprete de Python3 es muy similar

$ python3 -V
Python 3.5.2

La siguiente opción es convocar directamente al interprete de Python, ya que al iniciar nos muestra un banner con toda la información.

$ python
Python 2.7.12 (default, Aug 22 2019, 16:36:40)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Finalmente, podemos obtener la versión de Python convocando el modulo sys de la siguiente manera:

>>> import sys
>>> sys.version
'2.7.12 (default, Aug 22 2019, 16:36:40) \n[GCC 5.4.0 20160609]'
>>>
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0)

Si te gustó este pequeño post te pido que lo compartas, me dejes un comentario o hace saber que estás allí leyendo!

Saludos!

Entradas populares