Actualmente tenemos un servidor en Amazon EC2 t2.large en donde almacenamos los sitios web de múltiples clientes a los cuales les hemos desarrollado principalmente WordPress los cuales tienen una cantidad considerable de visitas mensuales.
El problema está en que actualmente van 2 meses que nos llega la factura por $150 USD y por el problema actual del coronavirus, tenemos que recortar presupuesto si o si lo más posible.
Platicando con nuestros colegas de BWE Marketing les propuse migrar a un servidor nuevo optimizado y corriendo con Docker para reducir costes de procesamiento y automatizar el proceso de despliegue de nuestros desarrollos.
¿Cómo lo logramos?
A continuación te comparto los procedimientos que hicimos para reducir costes y optimizar el rendimiento de nuestro servidor en Amazon EC2.
Instalamos Docker
No había tenido experiencia previa instalando entornos de producción con Docker pero mi experiencia rompiendo cosas y testeando en entornos de prueba me ayudo demasiado a desplegar un servidor. Nota: si no tienes experiencia en algo y te gustaría aprender más sobre esa cosa, práctica, lee la documentación y adéntrate tanto en ese tema y pronto te volverás un experto.
¿Cuál fueron las tecnologías que instalamos?
-
- Docker
- Nginx (como proxy)
- Apache2 (como backend)
- PHP 7.2, 7.3 y 7.4 (por varios sistemas que tenemos)
- VestaCP (para administrar mejor el servidor)
- MariaDB
- Node
- Exim4 (servidor de correo, aunque lo cambiaremos en unos días)
¿Qué imagen utilizamos para Docker?
En el Hub de Docker encontramos una imagen completa para VestaCP la cual nos ayudó a ahorrar mucho tiempo y tener una instalación limpia y segura. Puedes ver la imagen dando clic aquí.
¿Qué tipo de instancia utilizamos?
Anteriormente estábamos utilizando t3.medium y el objetivo es utilizar t2.medium para reducir significamente costes.
El objetivo de utilizar t3.medium era debido a que teníamos procesos que teníamos que correr y consumían algo de CPU pero ahora esos procesos los hemos migrado a NodeJS y hemos notado un bajón de recursos increible.
Utilizamos CloudFlare
Con fines de reducir el consumo de la banda ancha y aumentar el rendimiento del servidor decidimos integrar CloudFlare por los siguientes motivos:
-
- Minificación de assets (reduce la carga del sitio web)
- CDN de calidad (con el objetivo de ahorrar tiempo y dinero y por
- Seguridad (esto lo tenemos también en el servidor pero con esto delegamos parte de la seguridad a CloudFlare)
- Caché
Eliminamos almacenamiento no necesario
Un problema que identificamos fue que estábamos almacenando assets innecesarios, dimos una revisión manual para los sitios que teníamos alojados en el antiguo servidor y eliminamos css, imágenes, vídeos, archivos php, html, etc.
Esto también englobo desinstalar plugins que no eran necesarios para los sitios web, en realidad realizamos una revisión minuciosa.
Optimizamos nginx y apache
Después de limpiar el servidor de archivos innecesarios tenemos que optimizar lo que más demanda recursos en el servidor y es por eso que reducimos la memoria que utilizaban estos ambos gigantes.
Hasta aquí creemos que realmente esto bajará los costes demasiado y estaremos monitoreando los primeros meses para ver como llega la factura y vamos a actualizar este post con la información para avalar lo que realizamos.
Obtén beneficios exclusivos
Suscríbete al boletín y obtén beneficios exclusivos directo en tu correo.
Gracias por suscribirte...
Algo salió mal...