Ir al contenido principal

Integración continua con Gitlab (II)

Hace más de un año que decidí empezar a escribir este blog. Aunque tuve dudas sobre qué stack o tecnologías utilizar o investigar, siempre supe que mi código iba a ir a Gitlab.

A lo largo de este año han ocurrido muchas cosas respecto a sistemas de gestión de código: Microsoft compró Github y ahora ofrecen repositorios privados de código gratis, el SaaS de Gitlab cambió de proveedor de nube pública (de Microsoft Azure a Google Cloud Platform) y de paradigma conceptual (de monolitos a microservicios y contenedores) y Gitea, un hermano pequeño de Github escrito en Go ha empezado a ser una alternativa potente a tener en cuenta.

Leer más…

Kubernetes (I)

Tras unos meses un poco desaparecido debido a temas personales... volvemos a la carga con un clásico. Es prácticamente imposible tener un blog de temática tecnológica y Cloud sin hablar del producto estrella de dicho mundillo, así de cómo su orquestador principal: hablamos respectivamente de los contenedores y kubernetes.

Leer más…

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…