Blog

Tecnología para Desarrollo

Exprimiendo al máximo Kubernetes: autoescalado horizontal de pods con custom metrics

Una de las mayores ventajas de tener nuestra arquitectura desplegada sobre un orquestador como Kubernetes es la capacidad de automatización que nos brinda para múltiples aspectos de nuestra aplicación y su ciclo de vida.

A día de hoy, Kubernetes se ha convertido en el estándar de facto en cuanto a la orquestación de contenedores y nos facilita cosas como el autoescalado, autodiscovery, self-healing de nuestras aplicaciones.

También nos da la capacidad de desplegar estas aplicaciones con diferentes estrategias, configurar diferentes parámetros en cuanto al tráfico de red e incluso configurar políticas de seguridad, tanto a nivel de pod, como a nivel de roles de acceso al cluster. Estas son algunas de las muchas utilidades que nos aporta el uso de Kubernetes.

En este post profundizaremos un poco más en el universo de Kubernetes hablando de autoescalado horizontal de pods (también conocido como horizontal pod autoscaling, HPA).

¡Arrancamos!

sigue leyendo…

Introducción a Drools con Spring Boot: toma de contacto

No  hay duda de que la parte principal y corazón de cualquier aplicación es el bloque de acciones de negocio que realiza, lo que comúnmente llamamos su core.  

Con la premisa de proporcionar un ecosistema completo que permita definir, mantener, encapsular y ejecutar como una entidad única e independiente todas estas reglas de negocio nacen los Business Rule Management System (BRMS).

Hoy en el blog veremos cómo encaja Drools en todo este entramado, otros elementos de la suite de Red Hat BRMS y jugaremos un poco con la definición de reglas, para degustar la sencillez y potencia de esta herramienta.

sigue leyendo…

IOTA, conectando el mundo: ejemplos prácticos

Las tecnologías Blockchain son, sin duda, unas de las más disruptivas de los últimos años que cambiarán a corto-medio plazo muchos factores sociales tal y como los conocemos.

Yendo a un nivel más específico, dentro de Blockchain, ya hicimos en el blog una breve introducción a la tecnología DLT de IOTA y Tangle. Hoy damos un paso más y veremos unos ejemplos sencillos de cómo generar seeds, address, realizar transacciones entre monederos además de cómo leer las transacciones de una cola MQ.

Esto nos servirá como base para poder dar pasos orientados a diversos casos de uso de IOTA como, por ejemplo, aplicaciones IoT. ¡Empezamos!

sigue leyendo…

AWS Summit 2019: participamos en la DeepRacer League

Toda la comunidad técnica esperamos cada año con cierta inquietud uno de los eventos tecnológicos que se celebran en nuestros país: el AWS Summit, un encuentro donde Amazon presenta las principales novedades en sus productos y servicios.

Pero este año, además, AWS Summit 2019 traía una novedad especial: la DeepRacer League, una competición en la que desde Paradigma ¡no nos pudimos resistir a participar!

Pero, ¿qué es la DeepRacer League y cuál fue nuestra experiencia? Hoy en el blog, te contamos cómo nos preparamos para competir en esta liga y qué aprendimos de esta divertida carrera.

sigue leyendo…

¿Cómo mejorar el posicionamiento en apps móviles?

La alta penetración de los smartphone en la sociedad han supuesto un cambio en el uso de Internet y hoy día empleamos este dispositivo como nuestro principal medio para navegar y en el que más tiempo empleamos.

Dada esta repercusión, es vital para un negocio que tanto su versión web como su aplicación adaptada a móviles sea eficiente en su uso y, sobre todo, sea encontrable por los usuarios con el fin de que puedan descargarla e interactuar con ella.

En este post te presentaremos el concepto “ASO”, además de los principales factores que intervienen en el posicionamiento de la web.

sigue leyendo…

Testing en Android: cómo hacer pruebas instrumentadas

En los dos posts anteriores (tanto en la parte 1 como en la parte 2) hemos hablado de las consideraciones principales que debemos tener presente a la hora de estructurar la aplicación para ser fácilmente testable, aprendimos los conceptos y herramientas principales.

También nos pusimos manos a la obra e implementamos una serie de tests unitarios y de integración utilizando las herramientas y funciones más comunes de Mockito.

Para finalizar esta serie de post, en este último vamos a ver las denominadas pruebas instrumentadas, que es la base para las pruebas de UI.

Además, como ya mencionamos en los posts anteriores, también es una gran herramienta para pruebas End to End y cualquier otro tipo de prueba que requiera trabajar con la aplicación en su conjunto.

sigue leyendo…

Analítica web con R: análisis y visualización de datos

Uno de los retos de un analista digital es pasar por diferentes procesos de limpieza, exploración y análisis de contenido para sacar buenas conclusiones y detectar nuevos escenarios e insights. Además, tiene que comprobar si las fuentes de datos son de dudosa calidad o no.

Y si hablamos de un analista digital, es muy probable que toda esa exploración pase por la herramienta más utilizada en el mundo de la analítica: Google Analytics. Pero seguro que también estará conectado a otras fuentes como Google Sheet, un CRM o base de datos, u otros ficheros de texto, en formato csv, y más.

Hoy en día, un analista digital no solo tendrá que tener conocimientos solo de usabilidad de la web, también de negocios, estadística, programación, base de datos, visualización de datos, además estar actualizado con las nuevas tecnologías.

Entre las herramientas que normalmente podemos incluir en nuestro “maletín” de explorador de los datos, sería la programación. Y algunos de nuestros aliados deben ser el lenguaje R o Python, siendo “sencillos” en su aprendizaje y muy útiles a la hora de ejecutar pequeños script, ya que tienen muchas librerías open-source.

Veamos qué ofrecen cada uno de ellos y cómo pueden ayudarnos al análisis y visualización de datos.

sigue leyendo…

Tips básicos para implementar la contabilidad de un e-commerce

La contabilidad es clave en cualquier negocio, ya que es el elemento con el que se conoce la salud económica de la empresa, permite evaluar las tendencias y ayuda a anticiparse en momentos complicados.

A día de hoy, dentro de este campo, hay un actor que es cada vez más protagonista: el e-commerce. El mundo digital en que vivimos no concibe ya las nuevas formas de consumo sin el comercio electrónico.

En España, por ejemplo, el segundo semestre de 2018 cerró con un crecimiento de más de un 27%.Pero el e-commerce no es solo cosa de contables, los desarrolladores también tenemos mucho que aportar.

Y en este post veremos precisamente algunos consejos (desde el punto de vista de un perfil técnico) para ayudarte a implementar la contabilidad de un e-commerce. Consejos basados en una experiencia real que te ayudarán a prevenir errores.

sigue leyendo…

Testing en Android: cómo hacer tests unitarios

Si no has leído la primera parte de “Testing en Android: haz tus tests de forma rápida y sencilla” te recomiendo que le eches un ojo rápido antes de continuar con este, porque mencionaremos algunas cosas que vimos en él.

En esta segunda entrega, veremos los tests unitarios más en detalle. Como ya dijimos, desarrollar tests unitarios y tests de integración es muy similar y la diferencia radica en el número de entidades, capas y /o escenarios involucrados en la funcionalidad que se está probando. Para aclararlo, veremos ejemplos de ambos.

El objetivo de este post es ser mucho menos teórico que en el anterior y mancharnos más las manos, de manera que repasemos rápidamente mediante ejemplos algunas buenas prácticas a la hora de implementar una serie de tests relacionados entre sí y veamos las funciones principales que nos proporcionan JUnit y Mockito, al menos aquellas que hemos encontrado más útiles en los equipos en los que he trabajado.

Por supuesto, existen muchas maneras válidas de afrontar los tests de una funcionalidad y ni mucho menos pretendo dar a entender que esta es la más correcta, pero creo que será un buen punto de partida para que después cada uno de vosotros podáis refinar vuestros propios estilos.

La idea es darte un empujón para empezar, pero está en tus manos indagar más y sacarle aún más partido

sigue leyendo…

AWS vs Azure vs GCP: todos los servicios cloud frente a frente

En un mundo multicloud, dominado por los 3 grandes proveedores, Amazon Web Services, Google Cloud y Microsoft Azure, ¿por qué hay que elegir un único proveedor Cloud cuando puedes quedarte con la oferta de todos?

Cada vez tenemos a nuestra disposición productos más amplios y variados, pero  todos son servicios de alta calidad con una disponibilidad excelente, alta seguridad y rendimiento y nos van a permitir cubrir cualquier necesidad que podamos tener.

Existen diferencias en nombre, precio, tecnologías y en cómo están agrupados dentro de cada plataforma. vamos a poner frente a frente los servicios de las 3 grandes nubes públicas para poder elegir el que más nos convenga.

sigue leyendo…