Conferencia BilboStack 2020

Escrito por picodotdev el .
blog planeta-codigo
Enlace permanente Comentarios

BilboStack 2020

Se cumple la 9º edición de la conferencia del ámbito de proyectos de tecnología que una vez más ha sido hospeda en el palacio Euskalduna. Como anteriores ediciones en un formato de dos tracks simultáneos y cuatro presentaciones en cada uno, en una única mañana pero que se alarga durante la tarde con el networking y los pintxos, y da a tiempo a visitar la ciudad si se viene de viaje.

Las entradas fueron lanzadas en varias oleadas que en las primeras se agotaron en pocos minutos, incluso literalmente en unos segundos. Adquirir una entrada en la oleada final ya fue más sencillo. Al igual que el año anterior el precio ha sido muy reducido de 13,5 €.

Si otros años destacaba el desarrollo web, este año ha habido alguna presentación sobre la materia, este año ha habido algunas sobre varios de los temas que son tendencia en el desarrollo, devops junto con sus asuntos relacionados de monitorización y microservicios. Estas fueron principalmente a las que asistí como resumo más adelante.

Palacio Euskalduna Palacio Euskalduna Palacio Euskalduna

Palacio Euskalduna

Distribuidos por el recinto había varios photocalls en los que hacerse una foto.

Photocalls Photocalls Photocalls

Photocalls

Este año la acreditación ha sido un detalle que esté hecha de algodón reciclado que incluye semillas, se puede plantar, regar y ver que es lo que surge pasado unas semanas. También ha habido una zona amplia para los patrocinadores en los que ubicar sus stands, una oportunidad para conocerlos como posibles futuras oportunidades laborales, recoger varios obsequios que ofrecían y participar en algún sorteo en el tiempo de descanso entre las os primeras conferencias y las dos siguientes últimas.

Acreditación Acreditación Acreditación

Acreditación

Dado que los tracks son simultáneos y las charlas no se graban hay que elegir a que presentaciones nos resultan más atractivas, no siempre es fácil elegir y descartar la opción a la que no asistir.

BilboStack hashtag

BilboStack hashtag
Hora Sala OE
09:00-09:20 Presentación
09:30-10:20 DevOps: el camino de la entrega de valor en software por Luis Fraile Hernández
10:30-11:20 Monitorización con Prometheus por Laura Morillo-Velarde Rodríguez y Beatriz Martínez
11:30-12:00 Networking + Café
12:00-12:50 ¿Cómo de real puede llegar a ser la inteligencia artificial? por Eduardo Matallanas
13:00-13:50 Otra charla sobre microservicios por Isabel Garrido Cardenas y Sergi González
> 14:00 Networking + pintxos y poteo
Hora Sala OD
09:00-09:20 Presentación
09:30-10:20 Unos estáticos muy dinámicos por Joan León
10:30-11:20 El poder de las restricciones por Silvia Calvet
11:30-12:00 Networking + Café
12:00-12:50 Implementing corporate Design Systems in React por Ignacio Velázquez
13:00-13:50 Compassionate Hiring por Berta Devant Pintado
> 14:00 Networking + pintxos y poteo

Cartel

Cartel

De las presentaciones a las que asistí recojo las ideas principales que he apuntado, es muy posible que haya alguna omisión importante y no les hagan justicia al nivel de las presentaciones pero hago mi esfuerzo para una año más cumplir con el resumen de este año y que de esta forma quede recogido en el artículo sobre lo que versó estas presentaciones.

Presentación

La jornada al igual que el año anterior ha empezado con una presentación sobre la conferencia y los agradecimientos a los patrocinadores por su apoyo asi como unos comentarios de un miembro de Lan Ekintza, agencia el sector público del Ayuntamiento de Bilbao para el desarrollo local, sobre sus motivos de la importancia para la ciudad de eventos como este que ya tienen muchos años de constancia y el interés para empresas importantes que cotizan en bolsa ya existentes con sede en Bilbao y para otras que en un futuro se establezcan en el nuevo Zorrozaurre como nuevo polo empresarial, en estos momentos está en una fase de construcción con algunas obras importantes ya realizadas con la apertura del canal y otras obras que ya se están acometiendo.

BilboStack 2020 BilboStack 2020

BilboStack 2020

DevOps: el camino de la entrega de valor en software por Luis Fraile Hernández

La cultura o método de devops incluye personas, procesos y productos con el objetivo de habilitar la entrega de valor al negocio y a sus usuarios, rápida y constante resolviendo problemas y no creando otros. Incluye ámbitos como el desarrollo, despliegue, monitorización y operación, requiere planificación. No basta con entregar de cualquier forma, ha de funcionar y tener calidad, en pequeños entregables los defectos se pueden descubrir y validar hipótesis antes y más rápido.

Hay varias estrategias de despliegue:

  • blue-green: se despliegan en un entorno nuevo sin eliminar el antiguo.
  • rolling updates: se despliega de forma progresiva entre todas las instancias de servicio.
  • feature togles: la nueva funcionalidad se activa o desactiva mediante una condición.
  • Es posible emplear varias de las anteriores a la vez ya que no son exclusivas.

Estos despliegues progresivos son aplicables al código, requieren también despliegues progresivos en las base de datos empleando los pasos Expand, Migrate, Contract. Un caso es crear una nueva columna, copiar los datos a ella, mantener la versión antigua y nueva y finalmente completada la migración eliminar la columna antigua. Las migraciónes pogresivas también son aplicables a las APIs.

La monitorización permite conocer si una funcionalidad se está utilizando y obtener información del funcionamiento interno de la aplicación. La infraestructura se puede convertir en inmutable con tecnologías como contenedores como Docker y Kubernetes y tratar como código con tecnologías como Terraform. La gestión del código puede ser usando git flow o trunk based y con un único repositorio que incluya todo para tratarlo como el entregable.

DevOps: el camino de la entrega de valor en software _por Luis Fraile Hernández_

DevOps: el camino de la entrega de valor en software por Luis Fraile Hernández

Monitorización con Prometheus por Laura Morillo-Velarde Rodríguez y Beatriz Martínez

La herramienta de monitorización Prometheus se está convirtiendo en un estándar, muchas herramientas incluyen exportan métricas en formato prometheus, unas de forma nativa y otras mediante adaptadores. OpenMetrics trata de crear un estándar para la transmisión de métricas en representación en formato de texto y con Protocol Buffers.

La monitorización de caja negra analiza elementos externos del servicio como tiempo de respuesta, carga de CPU, memoria. La monitorización de caja blanca expone métricas propias de la aplicación. Al analizar las métricas hay que definir unos valores umbrales considerados como el funcionamiento correcto, de las métricas se extraen tendencias conociendo si es incremental o decremental, también se extraen correlaciones un fallo B puede estar causando por un fallo A. En el caso de una API para evaluar el estado de una API se pueden definir umbrales para las métricas de request rate, error rate y duration response time.

Las métricas de aplicación requieren instrumentalizar la aplicación para exponer los valores de los cuales es posible extraer información con valor para negocio. Hay cuatro tipos de métricas:

  • Counter: valor que se incrementa o reinicializa pero no se decrementa.
  • Gauge: va tomando valores mayores o menores que el anterior.
  • Histogram: son agrupaciones de los valores que se recogen.
  • Summary: trabajan con percentiles y medias.

En base a las métricas un sistema de alertas envía notificaciones cuando se detectan situaciones anómalas. Para un sistema de alertas efectivo hay que tener varias consideraciones. Una de ellas es que cuando lleguen alertas no sean ignoradas, solo han de llegar a las personas interesadas y que cuando les lleguen sea para que sean atendidas con alguna intervención. Si llegan alertas en las que hay que determinar si requieren atención corren el riesgo de que sean ignoradas. Para mayor efectividad las alertas se pueden deduplicar, agrupar, enrutar, inhibir y silenciar, funcionalidades que ofrece Alertmanager.

Los sistemas actuales requieren no solo saber el estado de funcionamiento de cada elemento de la infraestructura, también cuando no funcionan por qué. También permiten reaccionar de forma proactiva para evitar errores antes de que ocurran.

Monitorización con Prometheus por Laura Morillo-Velarde Rodríguez y Beatriz Martínez

Monitorización con Prometheus por Laura Morillo-Velarde Rodríguez y Beatriz Martínez

Descanso

Momento de tomar un café y pasar por los stands de los patrocinadores.

Stands patrocinadores Stands patrocinadores Stands patrocinadores

Stands patrocinadores Stands patrocinadores Stands patrocinadores

Stands patrocinadores Stands patrocinadores

Stands patrocinadores

Implementing corporate Design Systems in React por Ignacio Velázquez

Un sistema de diseño o design system es importante para tener consistencia de la imagen de marca en todos los canales de comunicación desde la web a una aplicación móvil, un correo electrónico o un folleto impreso. Incluye colores, tipografía, espaciado. Algunos design systems son:

Al desarrollar un design system en una organización es importante ofrecer documentación, dar visibilidad al proyecto e involucrar a toda la empresa de forma que se use en todos los departamentos, ha de mantenerse como cualquier otro desarrollo. En la jerga de los design system se incluyen átomos, moléculas, organismos, plantillas y páginas.

Varias herramientas son útiles para las pruebas y el desarrollo de un design system:

  • Jest: para hacer pruebas de con JavaScript.
  • Storybook: para desarrollar componentes React, Vue o Angular de forma aislada.
  • Chromatic: para probar los cambios visuales.
  • BrowserStack: para probar en varios dispositivos.

Implementing corporate Design Systems in React por Ignacio Velázquez

Implementing corporate Design Systems in React por Ignacio Velázquez

Otra charla sobre microservicios por Isabel Garrido Cardenas y Sergi González

Se empieza a desarrollar una aplicación en forma de monolito, a medida que es más grande la aplicación y la organización en número de personas se divide en áreas funcionales. El siguiente paso es crear crear APIs con contratos y microservicios que se comunican unos entre otros, quizá sigan compartiendo la base de datos y tienen dependencias. El resultado es un monolito distribuido que genera sus propios problemas de escalabilidad y pruebas.

Para conseguir desacoplar los microservicios y si la consistencia eventual es posible en vez de utilizar una comunicación síncrona y acoplada por API REST o gRPC hay que utilizar la comunicación desacoplada mediante eventos e implementar código reactivo a esos eventos.

El bus de eventos se convierte en un único punto de fallo con problemas que hay preveer:

  • Eventos duplicados
  • Eventos perdidos
  • Eventos desordenados
  • Implementar operaciones idempotentes en eventos

Otra charla sobre microservicios por Isabel Garrido Cardenas y Sergi González

Otra charla sobre microservicios por Isabel Garrido Cardenas y Sergi González

Acabando

Dicen que en este evento el evento en realidad es el postevento, lo que ocurre a partir de las 14:00 en el networking, pintxo y poteo. No lo conozco por experiencia propia porque no he estado en ninguno, no se me da bien y ya tengo suficiente con dedicar una mañana a la asistencia. En cualquier caso el evento es el momento ideal para saludar a algunos excompañeros de trabajo para saber como les va o como nos va. Este año hubo una charanga animando el networking.

En las presentaciones se han mencionado algunas herramientas pero en estas que he estado este año han sido todas bastante teóricas, a los que ya conocen algo del tema que se trata poco les será nuevo y a los que no conocemos el tema hay que indagar acabado el evento para darle algo de sentido a lo expuesto. He recogido algunas ideas que con tiempo será interesante profundizar como el caso de los design systems.

Comparte el artículo: