Detrás de cámaras
Este sitio está creado con jekyllrb. Esto me permite no preocuparme por la seguridad de una base de datos o que inyecten comentarios de viagra. En el pasado trabajé en uno de los sitios de noticias con más tráfico en México, y aprendí lecciones importantes en cuanto a cual es la mejor opción para un blog, soluciones como wordpress vienen acompañadas de miles de plugins y temas a elegir, es como un “niño en confitería”. Pero hay varios problemas en este tipo de herramientas, por el momento vamos a dejar a un lado la seguridad; vamos a asumir que tenemos ingenieros muy buenos y la seguridad está en buen estado. Vamos a hablar de dinero, el costo de hacer “queries” a base de datos por cada usuario es muy alto. En un sitio de noticias no se publica contenido nuevo más de 30 veces al día, lo que significa que el sitio es el mismo el 99% del tiempo. Al trabajar con contenido estático tienes el beneficio de que eliminas muchísimos costos de cloud computing debido a que el precio de un CDN es mucho menor.
Markdown
El hecho de tener disponible markdown es una gran ventaja porque los programadores estamos acostumbrados a usar github o bitbucket todo el día. Me siento como pez en el agua cuando estoy escribiendo con markdown.
---
layout: post
title: "Detrás de cámaras"
date: 2019-03-24 13:39:00 -0600
categories: blog
---
Lorem. Proin laoreet augue quis eros. Suspendisse vehicula nunc ac nisi.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fusce mi. Vivamus
enim velit, condimentum sit amet, laoreet quis, fermentum non, ipsum.
Docker
La imagen de docker que estoy usando es un nginx muy básico con archivos estáticos generado con jekyllrb. La gran ventaja es que nos hace muy fácil los deployments y el control de versiones que lanzamos a producción.
bundle exec jekyll build
Configuration file: /Users/richistron/lab/blog/_config.yml
Source: /Users/richistron/lab/blog
Destination: /Users/richistron/lab/blog/_site
Incremental build: disabled. Enable with --incremental
Generating...
Jekyll Feed: Generating feed for posts
done in 0.601 seconds.
Auto-regeneration: disabled. Use --watch to enable.
docker build --no-cache -t blog .
Sending build context to Docker daemon 1.429MB
Step 1/4 : FROM nginx:latest
---> 881bd08c0b08
Step 2/4 : WORKDIR html
---> Running in 1ef374583bc1
Removing intermediate container 1ef374583bc1
---> 408ead449048
Step 3/4 : COPY nginx.conf /etc/nginx/nginx.conf
---> 948e20f1c1ea
Step 4/4 : COPY _site /html
---> 44d84ae031c1
Successfully built 44d84ae031c1
Successfully tagged blog:latest