Ir al contenido principal

Pulumi: programando infraestructura

En el post anterior hablamos por encima de infraestructura como código y la importancia de utilizar herramientas que podamos utilizar en el proveedor que queramos para evitar tener que estar aprendiendo lenguajes y sintaxis nuevos cada vez que utilizamos un proveedor nuevo.

Para ello, Terraform utiliza un lenguaje propio, el Hashicorp configuration language o HCL. Como podemos leer en su Github, la idea detrás de la creación de este lenguaje es que sea de fácil lectura para máquinas y para humanos. También buscaban que no fuese necesario tener conocimientos previos de algún lenguaje de programación y que fuese ligeramente diferente a otro previo como JSON o YAML.

Pero... ¿y si ya sabemos programar? ¿No podríamos utilizar ese conocimiento para desplegar infraestructura en lugar de aprender un lenguaje nuevo? Si ambas respuestas son afirmativas, nuestra respuesta es Pulumi.

Leer más…

Terraform (I)

Ya he comentado en alguna ocasión mi amor por Hashicorp por las facilidades que nos ofrecen a los que trabajamos en entornos Cloud. Hoy vamos a hablar de su herramienta de aprovisionamiento de infraestructura, Terraform.

logo-terraform

Leer más…

Mi nube privada

En el mundo en el que vivimos, la nube se está extendiendo gracias a la proliferación de servicios integrados, ya sea en móviles, en electrodomésticos. El uso de los servicios ya gestionados por terceros, listos para utilizar, es algo generalizado: los de Google (Google Docs, Google Drive o GMail entre otros) son usados por casi todos los usuarios de Android, pero éstos no son los únicos y tenemos otros como Zoho, Office 365 o Quip entre otros.

Sin embargo también existen alternativas que ofrecen experiencias más o menos equivalentes y que podemos instalar y gestionar nosotros. Ya hemos hablado en el pasado de Nextcloud pero no son los únicos: Cozy (Parecido a Google Drive), Turtl (Una alternativa a Evernote) u otros...

Siempre me ha gustado montar los servicios que utilizo, por aprender y valorar lo que me ofrecen y gracias a la proliferación de placas como la Raspberry Pi, me he montado un sistema propio combinando algunos servicios antes citados.

Leer más…

Mejoras en tangelov.me

Cuando empecé a plantearme esta web hace un año aproximadamente la ví como un pasatiempo, un sitio donde plasmar cuando me apeteciera algunas de las pruebas y tests que hago en mi tiempo libre, esperando que a alguien le pudiese resultar útil. Bajo esa base, me comprometí conmigo mismo a cumplir con una serie de premisas:

  • Los posts deberían de estar en castellano. Ya existe una cantidad de documentación de una calidad excelente en inglés y me parecía que se debía enrriquecer un poco la blogosfera hispana.

  • Los post deberían de tratar temas que no estuviesen siendo tratados en la blogosfera hispana o de los cuales hubiera poca documentación en español o bien estuviese muy dispersa. Y la temática debía estar relacionada con las metodologías devops o la nube pública. El ritmo de publicación debe ser al menos de una vez al mes.

  • Internet está llena de documentación anticuada. Me comprometía a ir revisando periódicamente el contenido para evitar lo que me ha pasado a mi en numerosas ocasiones... que al buscar documentación ésta ya no funcionara debido a que el producto ya había cambiado tanto que no era compatible (en Ansible es bastante sangrante).

Leer más…

Packer

Hashicorp es una de las compañías que considero que más están innovando y que más nos están facilitando la vida a los administradores de sistemas para adoptar tecnologías ágiles y nuevas formas de trabajar más orientadas a los proveedores de nube.

Su compromiso con los entornos multi-cloud (privada, pública y mixta) es innegable y su suite de herramientas facilita mucho la transición entre proveedores, evitando que podamos caer en exceso en el llamado vendor lock-in

Una de estas herramientas es Packer

logo-packer

Leer más…

Aplicaciones para DevOps

Hace años, era realmente difícil encontrar aplicaciones que funcionaran para los principales s istemas operativos, quedándose Linux frecuentemente al margen. Sin embargo, de unos años para aquí, con el crecimiento de la nube y de las aplicaciones web esto parece estar cambiando. Val ve con su cliente Steam o Microsoft con su IDE Visual Studio Code son dos ejemplos de esta tendencia.

El auge de tecnologías web ha permitido que aparezcan frameworks que facilitan la creación de aplicaciones de escritorio multiplataforma. El más conocido de todos ellos es Electron.

Leer más…

Introducción a Jenkins

Tras haber probado alternativas (como aquí o aquí), hoy vamos a hablar sobre el campeón de integración continua.

Jenkins es un programa escrito en Java de código abierto y que nos permite diseñar e implementar pautas de automatización en el proceso de creación y despliegue de software. Además de ser una potente herramienta de CI, es multiplataforma y gracias a un sistema de extensiones bastante potente podemos integrarlo con cualquier lenguaje y situación.

Por ejemplo, nuestro Jenkins podría comprobar si el rendimiento de nuestra aplicación ha caído desde el último despliegue e impedir que se hiciera, comprobar si pasamos una serie de tests de calidad de forma automática o simplemente desplegar de forma automática en Pre-producción cada vez que alguien sube código a una rama en git o en subversion.

Leer más…

Integración continua con Github

Github es uno de los servicios más importantes que existen en este momento en el mundo del desarrollo de software. Pese a haber sido recientemente adquirido por Microsoft, sigue siendo la plataforma de gestión de repositorios más usada del mundo.

Como ya comenté hace tiempo, utilizo personalmente Gitlab como sistema de repositorios de código fuente, pero la verdad es que estaba deseando probar "su" sistema de integración continua, llamado Travis CI.

Leer más…

Google Cloud Certficied Professional Cloud Architect

Aunque tenía pensado escribir varios posts en Agosto, la verdad es que he estado muy liado estudiando. He pensado que debido a la experiencia que estoy cogiendo en GCP estaría bien apostar por sacarme alguna certificación de la plataforma. Así que me puse manos a la obra y tras más de cincuenta horas de estudio puedo decir que ahora soy Professional Cloud Architect de Google Cloud Platform.

La verdad es que fue duro...

gcp-calendar

... pero las impresiones y experiencias que habían tenido compañeros y amigos al respecto me hicieron desconfiar pese a que mi experiencia con Google Cloud Platform fuera extensa.

Ya comenté en un anterior post mis reticencias acerca las certificaciones en el mundo IT, sin embargo creo que esta certificación si es exigente y permite verificar una serie de competencias en Google Cloud Platform.

Leer más…

Ansible (V)

En el post anterior sobre Ansible ya teníamos un rol plenamente funcional, pero siempre podemos mejorarlo un poco más.

Imaginemos que realizamos cambios en nuestro rol y queremos probarlos a medida que seguimos desarrollándolo y que en una de las pruebas omitimos sin querer algun test y al aplicarno en nuestros servidores rompemos algo. Todo el desarrollo realizado anteriormente podría provocar pérdidas de datos o de servicio debido a un error humano.

¿Cómo podemos evitarlo? Podemos añadir a nuestro rol, molecule

Leer más…