AWS

AWS Cloud9, un entorno de desarrollo completo en la nube

2020-09-05 - Categorías: Amazon Web Services / General / GNU/Linux
AWS Cloud9

Hoy traigo esta herramienta de AWS que me ha impresionado después de un tiempo probándola. Cloud9 es un entorno de desarrollo integrado, un IDE, que funciona sobre la web en un navegador. No necesitas instalarte nada en tu ordenador. Cloud9 usa el editor de código fuente Ace adquirido por Amazon Web Services en 2016, que está escrito en JavaScript, y sólo necesita acceso SSH al servidor donde quieras trabajar.

Es decir, con este entorno de desarrollo podemos programar directamente en un navegador. No tenemos que instalarnos localmente ningún IDE, ni bajar los códigos fuentes de la nube, base de datos, etc.. Todo, absolutamente todo el entorno de desarrollo puede correr sobre servidores en una nube, con lo que esto conlleva.

Continuar leyendo..

CloudFront: cómo empezar a configurar el CDN de AWS

2020-07-07 - Categorías: Amazon Web Services / General / GNU/Linux

Me ha escrito una persona al blog preguntando sobre CloudFront 👍 así que aquí estoy de nuevo compartiendo mi granito de arena en todo esto de la informática. Expongo aquí algunos problemas, y soluciones, que he tenido al trabajar con CloudFront tiempo atrás. Es decir, esto es un howto para montar el CDN de AWS, llamado CloudFront.

CloudFront no es una simple red de distribución de contenidos, sino que hace muchas más cosas aparte de cachear y distribuir contenidos. Pero vayamos al grano..

* Si estás aquí deduzco que estás optimizando, te puede interesar también este post relacionado con las optimizaciones de aplicaciones web 😉

Continuar leyendo..

AWS & GNU/Linux: optimizando aplicaciones web

2020-01-28 - Categorías: Amazon Web Services / Drupal / GNU/Linux / Magento / PHP / Prestashop / Symfony / WordPress
GNU/Linux: optimizando servidores
GNU/Linux: optimizando servidores

Aquí estoy de nuevo dejando mi granito de arena en todo esto de la informática. Hoy traigo un howto para la optimización de servidores web. Simplemente, son unas propuestas de configuraciones totalmente estándar y disponibles en las documentaciones oficiales. Pero que mejoran mucho el rendimiento de aplicaciones web, hechas en lenguajes como HTML, CSS, Javascript, PHP, Java, Python, SQL, DQL..

Este post es para optimizar aplicaciones web del tipo WordPress, Prestashop, Magento, Drupal, Symfony.. etcétera. Es una visión general de cómo funcionan las cosas a bajo nivel. Digo a bajo nivel, porque están muy de moda las arquitecturas server-less, o los servidores auto-administrados, aunque también necesiten su optimización. Pero aquí nos remangaremos la camisa, y nos embarraremos hasta el cuello mientras que vamos investigando, aprendiendo y aplicando, para cada proyecto en concreto. Este es un post para los que nos gusta trabajar los servidores, para los que nos gusta ponernos manos a la obra, para experimentar nosotros mismos con los proyectos, rascando cada milisegundo para conseguir que todo vaya lo más rápido posible..

Continuar leyendo..

AWS: sirviendo un píxel de conversión con el CDN de CloudFront

2017-12-18 - Categorías: Amazon Web Services / General
Cloudfront logo

Una de las tareas más interesantes para saber si las cosas sirven para algo en tu negocio de Internet, consiste en seguir a las visitas. Es decir, consiste en el seguimiento de la conversión, mediante lo que se llaman píxeles de conversión. Es decir, si queremos saber si un canal de entrada a tu web convierte o no, si los anuncios que ponemos en otras webs, si los enlaces de redes sociales, emails, etc.. sirven de algo. Para esto debemos de llevar un seguimiento de dicha entrada a tu web.

Un píxel de conversión es un código invisible para el visitante, que nos da la posibilidad de saber de dónde vienen las visitas a tu web.

Muchas veces nos puede bastar con herramientas como Google Analytics, Piwik, o similar. Pero a veces necesitamos dar un paso más, creando nuestros propios píxeles de conversión. Así no estaremos de nuevo limitados a lo que te permiten las herramientas.

Escenario

Piensa que puedes recibir muchas visitas a los píxeles, miles o millones de visitas por minuto si estas en plena campaña publicitaria por Internet. Tanto que si los píxeles están en tu servidor, puedes llegar a provocarte un ataque de denegación de servicio (DDoS) de tantas visitas en muy poco tiempo. Así que si te configuras un CDN de CloudFront para los píxeles, liberarás totalmente tus servidores. Sería una lástima invertir mucho en publicidad y que luego no puedas marcar correctamente a todos los visitantes.

Siguiendo con lo anterior, imaginemos que queremos dos píxeles para dos situaciones:

  • En la visualización de un anuncio.
  • Al hacer click en dicho anuncio.

Comportamiento

  • En la visualización: cuando tenemos un píxel de visualización, simplemente tenemos que visualizar el píxel en un iframe desde la web o cargarlo mediante Javascript en un div/span.. así marcaremos al visitante con una cookie.
  • Al hacer click: cuando tenemos un píxel de click, tenemos que recibir el click, poner una cookie al visitante, y redirigir al usuario a la página de destino.

Ambos píxeles se basan en el uso de cookies. Por ejemplo, imaginemos que le ponemos estas dos cookies:

  • En la visualización, una cookie con nombre cookie.unblog.visualizacion de valor y fecha de caducidad como consideremos.
  • Al hacer click, otra cookie con nombre cookie.unblog.click de valor y fecha de caducidad como consideremos también.

En el momento en que lleguen a www.tutienda.com es trivial consultar si el visitante tienen alguna de las dos cookies anteriores. Así podremos desencadenar eventos como por ejemplo:

  • La compra X es de un visitante que tenía la cookie cookie.unblog.visualizacion con valor Y.
  • Mostrar mensajes relacionados con el anuncio al visitante en nuestro portal, quizá después de 30 días de haber visto el anuncio en otra web.
  • Etcétera.

Montando el sistema de píxeles en AWS CloudFront

La estrategia para montar todo esto es la siguiente:

  1. Recibir las visitas pasando por el CloudFront.
  2. Establecer un origen de datos de CloudFront en un sistema de ficheros de S3.
  3. Estableces unas rutas que redirijan ciertos directorios al origen de datos con los ficheros de S3. Por ejemplo, podemos recibir en S3 todo lo recibido bajo la ruta www.tutienda.com/pixeles/*
  4. Construir los píxeles en Javascript en S3. Por ejemplo, para este ejemplo podríamos crear en S3 los dos píxeles siguientes:

www.tutienda.com/pixeles/unblog.visualizacion
www.tutienda.com/pixeles/unblog.click

Para el paso 1 simplemente tenemos que poner delante de todas las visitas una distribución de CloudFront. Esto es contenido para otro post, así que doy por sentado que ya tienes una distribución de CloudFront funcionando. Añadimos el origen de datos que va a tener los píxeles indicados en el paso 2..

En el paso 3 creamos el comportamiento para recibir las visitas del directorio indicado en el S3 que almacena los píxeles..

Nos tiene que quedar algo parecido a esto..

Con este comportamiento podemos configurarle el nivel de cacheado en CDN que queramos. Con esto descargamos totalmente los servidores de las visitas a los píxeles. Esta es la parte crítica para mejorar nuestro sistema, ya que podemos hablar de una cantidad de visitas muy grande.

Ya sólo nos queda crear los píxeles en S3 siguiendo las rutas que vamos a recibir. En este caso tendríamos que crear los píxeles en los ficheros:

/pixeles/unblog.visualizacion
/pixeles/unblog.click

Para cómo crear el contenido de los píxeles de conversión me remito a este otro post sobre cómo hacer un píxel de conversión.

Espero que sirva. ¡Un saludo!


AWS CloudFront: balanceando las visitas entre varios servidores

2017-05-29 - Categorías: Amazon Web Services
Cloudfront logo

Hoy traigo un pequeño HOWTO de cómo balancear las visitas de un sitio web entre varios servidores, eligiendo exactamente qué visitas van a qué servidores. Se trata unas pocas directrices para configurar CloudFront y así redirigir las peticiones web.

Con esto puedes controlar qué subdirectorios, o que zonas de tu aplicación web se gestionan desde qué servidores. Balancear en función de la carga se puede hacer con un ELB (Elastic Load Balancer), pero estas configuraciones a nivel de CloudFront balancean las peticiones de forma permanente. Por ejemplo:

Continuar leyendo..

© 2020 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.