Ubuntu

Crear certificados SSL wildcard de Let’s Encrypt con certbot

Let’s Encrypt permite generar certificados SSL de forma gratuita, que podemos renovar periódicamente, por ejemplo cada tres meses. Ya sea para un entorno de pruebas o laboratorio, un proyecto personal, o para un proyecto empresarial de mayor tamaño, Let’s Encrypt es una solución adecuada y muy utilizada, cada vez más. Si bien, es habitual su uso con aplicaciones o servidores que están disponibles en Internet, en este Post os voy a contar cómo generar un certificado de Let’s Encrypt con certbot para una máquina Ubuntu que no está expuesta a Internet, ya sea un entorno de laboratorio o de pruebas, algo que para mi, resulta muy útil.

RabbitMQ – Introducción e instalación de RabbitMQ

¿Qué es RabbitMQ? RabbitMQ es uno de los más populares servicios de colas de mensajes o message-broker, disponible desde el año 2007, Open Source y escrito en Erlang, que implementa el protocolo AMQP (Advanced Message Queuing Protocol) para la comunicación asíncrona mediante mensajes con garantía de entrega, y permite ser extendido mediante el uso Plugins para implementar funcionalidad adicional como los protocolos STOMP (Streaming Text Oriented Messaging Protocol) y MQTT (Message Queuing Telemetry Transport). RabbitMQ es una pieza fundamental para el desarrollo de soluciones asíncronas y/o desacopladas mediante el uso de cola de mensajes. ¿Quieres conocerlo mejor?

Introducción a Keycloak, OAuth 2.0 y JWT

Keycloack es un Proveedor de Identidad (IdP) Open Source y gratuito, desarrollado en Java por JBoss (división de Red Hat, adquirida por IBM en 2019) sobre el servidor de aplicaciones WildFly, con Licencia Apache 2.0 (permite su uso comercial), y con gran adopción en el mercado, existiendo una versión comercial de pago: RedHat Single-Sign-On. Keycloack proporciona Single-Sign On (tanto con SAML 2.0 como con OpenID Connect), multi tenancy (crear servidores de identidad virtuales dentro de un mismo Keycloak), Login Social (ej: Facebook, Google, Twitter, Instagram, GitHub, etc), federación de identidades con LDAP y Active Directory, y un montón de opciones más para poder personalizarlo a tu gusto, y que tú te puedas concentrar en tu aplicación, que de la identidad, ya se encargan ellos

SonarQube – Introducción e instalación de SonarQube, SonarScanner CLI, y SonarLint

SonarQube (o simplemente Sonar) es una herramienta Open Source para el análisis estático de código y código limpio (Clean Code), que permite detectar bugs, vulnerabilidades de seguridad, y code smells, para diferentes lenguajes de programación (ej: Java, Kotlin, C#, JavaScript, Python, etc.), de gran ayuda para el aseguramiento de la calidad de nuestro Software, ya que proporciona diferentes métricas de calidad e incluso nos permite bloquear el despliegue si no cumplimos con un mínimo (Quality Gate). Se integra de forma sencilla con herramientas de CI/CD como Jenkins a través de SonarScanner para automatizar el análisis de código y subida de resultados al servidor SonarQube, y también con los diferentes IDEs a través del Plugin SonarLint (ej: PyCharm, Android Studio, Visual Studio Code, etc) para un feedback inmediato antes del Commit. Ayuda fundamental para mantener un código limpio y de calidad.

Jenkins – Instalar y configurar Jenkins sobre Ubuntu 22

Jenkins es quizás la principal herramienta para automatizar el CI/CD, es decir la compilación, integración y despliegue de aplicaciones de manera continua, aunque en general es una excelente herramienta de automatización (para otras muchas labores también). En este Post explico cómo instalar y configura Jenkins sobre Ubuntu 22, así como varias recomendaciones y Plugins habituales

Nexus OSS – Introducción e instalación en Ubuntu 22

Nexus es quizás el principal repositorio de artefactos (ej: APT, Composer, Conan, CPAN, Docker, ELPA, Git LFS, Go, Helm, Maven, npm, NuGet, p2, PyPi, R, Raw, RubyGems, o Yum), disponible en versión gratuita Open Source (Nexus OSS) y versión profesional de pago (Nexus PRO). Además, Nexus nos ofrece la posibilidad de crear repositorios Proxy (remotos) así como grupos de repositorios, gestión del almacenamiento, autenticación y autorización, y muchas opciones más para facilitar su administración. En este Post te cuento cómo instalar Nexus OSS 3.43.0 sobre Ubuntu Server 22 LTS, así como algún otro detalle de Nexus para que empieces a trabajar con él

Redis – Instalación en Ubuntu

La instalación de Redis para un entorno de Producción que soporte una carga de trabajo importante, tiene varios detalles a tener en cuenta, tanto de cómo hacer la instalación, como de diferentes configuraciones necesarias a realizar, tanto a nivel de Redis como del Sistema Operativo. En este Artículo te cuento los detalles más importantes, para instalar Redis en Ubuntu, para un entorno de alta carga.

Redis – Estructuras de Datos

Redis es una base de datos NoSQL en memoria, sin esquema, single-thread, Open Source, e implementada en lenguaje C, que ofrece un alto rendimiento y resulta especialmente útil en casos de uso como el cacheo de datos (optimizando el uso de las bases de datos relacionales), almacén de sesiones, e incluso service broker. En este Post vamos a tratar las diferentes estructuras de datos de Redis: Strings, Hashes, Lists, Sets, y Sorted Sets

Prometheus – Descubrimiento mediante file_sd y http_sd

Prometheus permite descubrir dinámicamente los servicios (Exporters) desde los que tiene que obtener métricas (scraping), a través de un fichero JSON, en lugar de configurarlo de forma estática en el propio fichero de configuración de Prometheus, con la ventaja adicional que una simple modificación del fichero actualizará a Prometheus los cambios, que aplicará sin necesidad de tener que reiniciar el servicio

Prometheus – Gestión de alertas con AlertManager

El AlertManager es un gestor de Alertas para clientes como Prometheus (expone endpoints REST), capaz de agruparlas, inhibirlas, silenciarlas (si aplica), enrutarlas, y de notificar a través de diferentes medios como Slack, mail (SMTP), OpsGenie, WeChat, Telegram, un WebHook, un busca (PagerDuty), etc.