Todos los posts

Mis consejos para obtener la certificación HashiCorp Certified: Terraform Associate (003)

Las últimas semanas me preparé para rendir el examen y obtener la certificación como HashiCorp Certified: Terraform Associate (003) y me gustaría compartir el proceso que seguí, cómo me preparé y algunos consejos útiles para aquellos quienes desean obtener esta certificación.

Docker, containerd, cri-o, runc? Explorando Runtimes de Contenedores

Desde los primeros días de Docker hasta la orquestación de Kubernetes, la gestión de contenedores ha evolucionado rápidamente, y con ella, los runtimes que dan vida a estas tecnologías. Descubrir el corazón de los contenedores, los mecanismos que los hacen funcionar y las opciones disponibles, se ha vuelto esencial para cualquier profesional de la tecnología.

Similitudes entre DevOps y la Medicina: Comprende, Adapta y Triunfa.

En este artículo, proporcionó desde mi perspectiva las claves para tener éxito en este campo utilizando una analogía: el profesional de DevOps es como un Médico ya que ambos requieren un amplio conocimiento, la posibilidad de especialización, la resolución de problemas y la adaptabilidad.

Desplegar Aplicaciones en OpenShift

En este tutorial, aprenderás a crear una aplicación Node.js que se ejecuta en un contenedor y cómo desplegarla a un clúster Openshift. Puedes usar una instancia de OpenShift en la nube , como OpenShift Online (ahora conocido como Red Hat OpenShift Dedicated) o en la versión gratuita llamada Red Hat OpenShift Sandbox.

Como implementar un Cloud ToolChain - OpenInfraDays México 2022

Tuve la oportunidad de presentar una charla en el marco del OpenInfraDays México 2022, un evento online que tiene como fin conocer como se estan resolviendo retos de diferentes industrias utilizando tecnologías Opensource para la infraestructura en la nube.

Personalización en la nube con cloud-init: Ejemplos con Terraform en AWS y Vagrant

Este post comienza con una lección que obtuve reciente mente y lo puedo resumir con la siguiente frase: En igualdad de condiciones, la explicación más sencilla suele ser la más probable.

Desplegar un API Gateway con Nginx

Para este tutorial preparé un proyecto demo que demostrará como desplegar endpoints construidos con stacks distintos y colocar enfrente un API Gateway con Nginx. El código disponible tiene dos APIs listas para responder peticiones, una construida con Python usando el framework de FastAPI y otra con Go usando el framework de Gin.

Beneficios y retos de la Infraestructura Inmutable + Tutorial: Packer, Ansible y Terraform

En los últimos años, la automatización se ha vuelto clave para la entrega de un producto de alta calidad.La clave aquí es: hazlo una vez, hazlo bien, hazlo replicable En teoría, se puede aplicar cierto nivel de automatización a cualquier tarea de TI.

Packer: Automatiza la creación de cualquier tipo de imagen de máquina virtual

Packer es una herramienta de creación de imágenes de código abierto, escrita en Go. Nos permite crear imágenes de máquina idénticas, para múltiples plataformas de destino, desde una única fuente de configuración.

Crear un entorno local DevOps de kubernetes fácil y rápido: Vagrant + Kind

***Actualización: 25 de Octubre de 2021 Gracias a los comentarios de Adrián Freisinger, se detectó que hay un bug del nginx ingress controller y por tal motivo se actualzó la instalación de Kind hacia v0.

¿Qué es Spinnaker? Una herramienta DevOps para desplegar a producción rápido, seguro y repetible

Spinnaker es una plataforma de entrega continua de código abierto para liberar cambios de software con alta velocidad y confianza. A través de una poderosa capa de abstracción, Spinnaker proporciona herramientas nos permiten llevar el código de la aplicación desde el “commit” hasta producción.

Troubleshooting Openstack: Servicios en contenedores y notas de HA

Las versiones anteriores de OpenStack utilizaban Systemd para administrar los servicios para el control plane. Pero desde la versión Queens (Equivalente a Red Hat Openstack Platform 13) ahora los servicios se ejecutan en contenedores.

Tutorial para instalar y configurar ElasticStack: Elasticsearch, Logstash, Kibana, Beats

El objetivo de este tutorial es instalar y configurar todo el Elastic Stack para centralizar los logs de nuestras aplicaciones. Esto puede ser muy útil para identificar problemas en los servidores o aplicaciones, ya que permite realizar búsquedas en todos los logs desde un solo sitio, con esto podemos identificar problemas que abarcan varios servidores vinculando los logs durante un período de tiempo específico.

Introducción a Elastic Stack

Estoy trabajando con Elastic Stack de nuevo, hace unos años que no implementaba o trabajaba con estas tecnologías y han cambiado notoriamente, así que aproveché de crear una entrada en el blog para cubrir las cuestiones básicas y aprender algunos casos de uso.

Tutorial: Desplegar un cluster de Kubernetes en GKE en 15 minutos

En este tutorial de Kubernetes me enfoqué en usar Google Kubernetes Engine (GKE) que proporciona un entorno para implementar, administrar y escalar aplicaciones en contenedores utilizando la infraestructura de Google de una manera muy, muy sencilla.

Comparación de Balanceadores de carga en Google Cloud: Global HTTP(s) vs SSL Proxy vs TCP Proxy vs Network load balancer vs Internal TCP/UDP vs Internal HTTP(S)

En Google Cloud Platform contamos hoy en día con 6 diferentes balanceadores de carga disponibles para cada caso o situación. En este post describiré las características y diferencias entre ellos así como una guía de apoyo para saber elegir el que mejor se adapta a nuestras necesidades de arquitectura.

Introducción + Instalación de SUSE Portus, un repositorio privado de imágenes para Docker

Si tu o tu empresa están buscando un Docker Registry privado con características de seguridad avanzadas y tener la capacidad de instalarlo de manera local, te va a encantar Portus. Pues no solo obtienes una solución sólida para almacenar las imágenes, sino que también obtienes la capacidad (instalando en conjunto Clair) de escanear tus imágenes en busca de vulnerabilidades.

6 herramientas para desplegar un cluster de kubernetes

Trabajando en tecnología ya seas desarrollor de software, DevOps o administración de sistemas, indudablemente has oído hablar de Kubernetes, pero como una herramienta poderosa, Kubernetes tiene bastante curva de aprendizaje. Todos estos roles están involucrados de alguna manera con Kubernetes pero no todos desde la misma perspectiva.

Terraform + Ansible: Automatizar el despliegue de WordPress en DigitalOcean

Este tutorial es la segunda parte de la entrada anterior: Tutorial: Infraestructura como código con Terraform. En esta ocasión, veremos un ejemplo que tiene como objetivo automatizar todo el despliegue de una aplicación con terraform y veremos cómo podemos usar en conjunto RedHat Ansible para automatizar la configuración de la aplicación.

Tutorial: Infraestructura como código con Terraform

Esta ocasión quiero hablar sobre qué es la Infraestructura como código y cómo empezar a usarla con Terraform. Terraform es un software de código libre que permite a partir de un lenguaje de alto nivel crear el plan de construcción de una infraestructura compleja, esto sería Infrastructura como código (Infrastructure as Code).

Mis consejos para obtener la certificación de Professional Cloud Architect de Google Cloud

Las últimas semanas me preparé para rendir el examen y obtener la certificación como Professional Cloud Architect de Google Cloud Platform y me gustaría compartir el proceso que seguí, cómo me preparé y algunos consejos útiles para aquellos quienes desean obtener esta certificación.

Comparación de Bases de Datos en Google Cloud: Datastore vs BigTable vs Cloud SQL vs Spanner vs BigQuery

Después de mucho tiempo, millones de dólares inversión y clientes de referencia en cada vertical importante, Google Cloud Platform finalmente se ha convertido en un competidor muy importante para Amazon Web Services y Microsoft Azure cuando se trata de infraestructura de nube.

Instalación de Mist.io, una plataforma de gestión de nube híbrida

Con la oferta tan amplia que hoy existe de proveedores de nube, la mayoria de las empresas han construido un ambiente multinube o multicloud. Esto lo demuestran datos de informes recientes como el State of the cloud report de Rightscale.

Automatiza todo lo que puedas: Cambiar password en Jenkins

La intención de escribir en el blog es también formar una bitácora sobre algunos procedimientos que me parecen importantes compartir. Este es el caso del post de hoy, tuve la necesidad de cambiar el password de Jenkins, un servidor de integración continua.

Almacenamiento persistente para contenedores: Red Hat OpenShift + Red Hat Gluster Storage

Cada vez es más común encontrar en el ecosistema aplicaciones construidas y entregadas en contenedores. Una de las primeras dudas cuando se trata de migrar a este tipo de arquitecturas es el tema del almacenamiento ya que los contenedores son efímeros, no persistentes, si el proceso del contenedor muere, todos los datos de las aplicaciones residentes se pierden.

Migrar una VM entre Centros de Datos en Google Cloud

Google Cloud está disponible en 17 regiones o centros de datos alrededor del mundo y a su vez, divididos cada uno en zonas, teniendo un total de 52 zonas. En este post explico como migrar una VM de un centro de datos de Google a otro.

OpenStack: Convertir imágenes ISO a QCOW2

En cualquier nube, una instancia (VM) es una máquina virtual alojada en la infraestructura de esta nube, estas instancias, necesitan de una imagen de sistema operativo para arrancar. Una imagen de máquina virtual es un archivo que contiene un disco virtual que tiene instalado un sistema operativo con el cual se puede arrancar.

Hablando de microservicios...¿Qué es Service Mesh?

Cómo toda arquitectura, los microservicios tienen muchas ventajas, pero tambien se introducen nuevos retos. Cuando se atomiza una aplicación en base a microservicios, una parte clave de nuestra solución depende de la comunicación vía red entre diversos componentes.

Cómo explicar DevOps y hacer que funcione en tu empresa.

Si lees de Cloud, Microservicios, Docker, Kubernetes, te vas a topar con un término en común, DevOps. Para que todas las estrategias anteriores funcionen, tu organización debe haber comprendido el valor de esta metodología, pero no siempre es fácil hacer que todas las áreas de la organización lo hagan ¿Que pasa cuando tienes que explicarle a las demás áreas de una empresa que es DevOps y porque vale la pena poner atención?

12 Factor apps: Una colección de patrones de arquitectura para aplicaciones cloud

“The twelve-factor app” es una metodología para construir aplicaciones. Lo podríamos ver como un conjunto de prácticas de desarrollo y arquitectura, que presta especial atención a las dinámicas del escalamiento y cubre los puntos fundamentales que debería cumplir el desarrollo de una aplicación preparada para ser distribuida como un servicio.

¿Cómo diseñar una API? Introducción a OpenAPI Specification

¿Cómo debo diseñar mi API? ¿Cómo voy a exponerla a distintos desarrolladores? Hoy en día las APIs son la parte modular de cualquier plataforma. Como sabemos, una API es un conjunto de funciones y procedimientos que cumplen una o muchas funciones con el fin de ser utilizadas por otro software. Todos los productos necesitan un manual de uso y las APIs no son la excepción. Es por eso que hoy escribí sobre OpenAPI, que es un estandar para crear este manual de uso para nuestra API.

Modelo de madurez de una aplicación nativa de nube

¿Cómo sé que tan madura es mi aplicación en términos de nube? ¿Cual debería ser mi objetivo para explotar todas las ventajas de la nube? Estoy prerado material para un curso que dictaré en Santiago de Chile para uno de nuestros clientes y estoy agregando el modelo propuesto por la Open Datacenter Alliance que leí hace unos meses, ellos en una publicación “Architecting Cloud Aware Applications” recomiendan las mejores practicas para arquitecturar una aplicación en la nube y describen un modelo para evaluar la madurez que me gustaría compartir ya que no hay mucha información en español al respecto…

20 herramientas de línea de comandos imprescindibles para DevOps

Una gran parte del mundo DevOps consiste en mantener la operación continua de las plataformas, una gran parte es desarrollar y mantener las aplicaciones, pero también está la infraestructura. Es difícil monitorear y debbugear problemas de performance, pero con las herramientas indicadas, en el momento justo, la tarea puede ser más sencilla. Aquí mi lista de herramientas que probablemente has escuchado, otras no sabias que existian y seguro otras más que ya estás usando:

Guia de sobrevivencia DevOps para degradaciones y perdidas de servicio

Las degradaciones o perdida de nuestro servicio son mitigables, pero también inevitables. Diseñar los sistemas para manejar las fallas es el punto neurálgico de cualquier servicio, es por esto que tenemos que crear arquitecturas diseñadas para fallar, les recomiendo ésta lectura de Netflix, donde mencionan que la mejor manera de evitar una falla, es fallar constantemente.

Virtualización a fondo ¿Cuales son las diferencias entre KVM y QEMU? ¿Son sinónimos?

Cuando comenzamos en el mundo de la virtualización, la opción más recurrente para comenzar es KVM. Después nos damos cuenta de que se comienza a usar tamién otro componente muy amenudo, QEMU y siempre hay muchas preguntas en torno a cómo funciona KVM y QEMU o cual es la diferencia entre ellos, es por esto que escribí al respecto

Cómo está construido este Blog

Como primer entrada, me gustaría compartir como está construido este blog. Los blogs anteriores que tuve estuvieron siempre desplegados en Digital Ocean y usé Wordpress, está vez elegí desplegar un blog completamente estático.

Hola mundo, otra vez

Este es el tercer blog que creo. Los otros han muerto anteriormente por falta de tiempo. En esta ocasión haré espacio para poder compartir mis experiencias en cloud, containers, devops, automatización, microservicios, etc, etc…