Crónica de Commit Conf 2018

Los días 23 y 24 de noviembre estuvimos en Commit, la primera edición de un nuevo evento (antes bajo la marca Codemotion) que se celebró en el Campus Montepríncipe de la Universidad San Pablo CEU.

Commit es un encuentro ineludible para programadores, desarrolladores, arquitectos de software y otros perfiles profesionales del universo IT para descubrir y compartir conocimientos y experiencias del sector.

 

Profile en Commit

Fue un evento especial, por la emoción del estreno, también para Profile. Como patrocinadores Silver de Commit, estuvimos conociendo a muchos de los desarrolladores que pasaron por nuestro stand y que pudieron disfrutar de todas las sorpresas que les habíamos preparado, así como participar en el sorteo de una ansiada SNES Classic Mini.  

Algunas imágenes del stand de Profile en Commit 2018

Varios compañeros acudieron también como asistentes a las charlas y talleres durante las dos jornadas de una agenda repleta de contenidos sobre arquitectura software y desarrollo web: front, back, devops, agile, cloud, bases de datos, machine learning, soft skills… 12 tracks y 150 charlas dan para mucho.

Commit pone el énfasis en visibilizar el talento local y lo que se está haciendo en España. Así lo explicó Nacho Coloma en la ponencia inaugural: “Creemos en la calidad de lo que producimos nosotros en España. Commit trata de dar una plataforma desde la que nuestros ponentes puedan expresarse y dar una oportunidad a nuevos ponentes para irse realizando.

Este es un resumen de algunas de las charlas a las que pudimos asistir.

IBM: IA más allá de Watson

La primera ponencia fue a cargo de Jorge Barroso, programador y cofundador de Karumi, que trabaja para IBM Research, la división de I+D e innovación de IBM. Presentó la plataforma y habló del liderazgo de IBM en este campo, con 12 laboratorios para investigación, presentes en 6 continentes, más de 3000 investigadores y más de 9000 patentes en 2017.

Durante la charla, centrada en el área de Inteligencia Artificial, Jorge mencionó algunos de los proyectos de IA más destacados en los que él había participado.

Hypertaste
Esta “lengua electrónica” permite averiguar la composición de líquidos. En su presentación puso como ejemplo la distinción de diferentes aguas. Este proyecto será interesante para poder verificar estándares de calidad de los productos, así como detectar fraudes. También nos presentó un proyecto similar que consistía en una “nariz electrónica”. Ambos proyectos van a colaborar en un futuro próximo y pueden ser interesantes, por ejemplo, en la producción de vino ya que permitiría a los enólogos controlar el desarrollo del sabor deseado en las botellas desde el principio del proceso.

Internet of Body
Este proyecto está orientado a la espirometría, una técnica de exploración no invasiva que permite conocer la función pulmonar de una persona sin necesidad de acudir a un centro de salud. Ellos, por medio de dos aparatos electrónicos y un teléfono móvil, son capaces de que el paciente los utilice (soplar aire y esputar) para que los resultados se transmitan electrónicamente al doctor correspondiente y sean analizados.

Jorge Barroso en su charla de Commit 2018

Project Debater
Es un proyecto muy particular en el que un robot es capaz de debatir sobre cualquier tema que se le proponga mostrando su punto de vista con argumentos. Podéis ver cómo funciona en este video.

Quantum 4 AI
Jorge también nos presentó proyectos como QUANTUM 4 AI de programación cuántica, AI Fairness 360 para que se utilice en proyectos de inteligencia artificial encontrando pequeños problemas y Adversarial Robustness Toolbox para encriptar imágenes (CAPTCHA).

Puedes ver el aquí el vídeo de la charla.

Fragmentación, el virus que puede acabar con tu alta disponibilidad (con ejemplos para kubernetes)

En esta ponencia, Héctor Rodes y Álex González nos explicaron cómo en el equipo de PaaS de BBVA construyen sistemas distribuidos en alta disponibilidad donde diferentes arquitecturas orientadas a servicios y microservicios realizan varias despliegues al día, escalando según sea necesario.

Nos contaron los problemas que tienen de fragmentación en su clúster de kubernetes con el riesgo de poner en peligro la alta disponibilidad.

Encontrarás las slides de la charla en este link.

Service Mesh for your Service Mess

Fernando Llaca, Site Reliability Engineer en Tuenti, nos hizo ver la dificultad que tiene operar con microservicios.

Fernando utilizó una analogía hablando de las similitudes que puede llegar a haber entre políticos como Donald Trump, Marine Lepen o Theresa May y los Service Mesh. En todos los casos se intenta controlar el tráfico, hablemos de personas o de http.

Los principales problemas que nos presentó en una arquitectura de microservicios fueron enrutamiento, monitorización y seguridad. Tener muchos servicios que se comunican en producción es un trabajo tedioso y de ahí que aparezca Service Mesh, patrón arquitectónico que viene a resolver estos problemas con un enfoque simplista.

En este patrón, la figura clave es el Sidecar Proxy. Cada microservicio tiene un Sidecar Proxy que es el que recibe peticiones y envía todas las peticiones. A este conjunto de proxies se le denomina Data Plane. Al orquestador de Data Plane se le denomina Control Plane, que es donde se configurará según las reglas que establezcamos, balanceo de carga, enrutamiento o seguridad.

También puso énfasis en la diferencia que había entre un Service Mesh y el stack de Netflix. Este último implementa todos estos problemas vía programática lo que añade complejidad a la aplicación.
Fernando mencionó diferentes Service Mesh como Linkerd + Namerd, Envoy Proxy, Istio (Envoy, Kubernetes) y Conduit.

Una ponencia muy bien explicada y amena que nos pareció un buen complemento actualizado a la que ofreció Alfredo Espejel en T3chfest a principios de año.

Charla Service Mesh for your Service Mess

Hotelbeds journey to a microservices cloud-native architecture

Jordi Puigsegur, líder del equipo de solution Architecture de Hotelbeds, ofreció una charla muy amena e ilustrativa. Otro estrangulamiento de monolito y otra muestra más de la fatalidad de no usar software libre y caer en las garras “vendor lock-in” (en este caso PL/SQL).

Siempre es bueno tomar nota de stacks de producción modernos: Redis, Spring Cloud Config, Spring Boot, AWS, ElastiCache, Kafka, PostgreSQL, etc.

Puedes ver aquí las slides de la ponencia.

Sail in the Cloud – Intro to Istio

Alex Soto, Software Engineer en Red Hat, nos regaló una introducción a Istio, el nuevo disruptor del ecosistema de microservicios.

El ponente explicó cómo instalar Istio y usarlo para lanzar correctamente nuevas versiones de nuestros servicios, siguiendo estrategias de canary testing, A/B deployments y traffic shadowing. Por otra parte también demostró las posibilidades que ofrece para mejorar la resiliencia de un ecosistema de microservicios a través del patrón circuit breaking.

Alguna duda se nos quedó en el tintero, pero otra fue felizmente resuelta en Twitter. ¡Tejiendo comunidad!

Puedes ver aquí las slides de la charla de Alex.

Slide de la charla Sail in the Cloud - Intro to Istio

Introducción la programación cuántica

Juan Lupión demostró su gran capacidad de oratoria en esta ponencia sobre un tema de gran complejidad como es la programación cuántica.

Manipular la información a nivel subatómico supone una revolución tecnológica e implica un cambio de paradigma en la manera de construir software.

A pesar de la densidad de los conceptos de física, Juan supo mantener la atención del público y salimos de allí entendiendo un poco más qué es un ordenador cuántico.

Kafka en la Playa

Isabel Cazorla y Alicia Ropero, ambas Engineer Lead en Hotelbeds ofrecieron una introducción a Kafka, en la que nos enseñaron conceptos básicos:
Kafka es un sistema de mensajería basado en el modelo publicador/suscriptor, persistente, escalable, replicado, tolerante a fallos, capaz de atender grandes bloques de información entre aplicaciones.

Nos describieron conceptos como topic, broker, producer y consumer.

Isabel y Alicia, explicaron los usos que hacen y las ventajas que aprovechan de Kafka en Hotelbeds:

  1. Mensajería y gran capacidad de transporte de datos. Para alimentar las cachés en la parte frontend. Ya que su base de datos es on premise.
  2. Monitorización de logs junto con el uso de Elastic Search y Kibana.
  3. Sistema de monitorización del tráfico en las redes de Hotelsbed.

También mencionaron creaciones de particiones atendiendo a criterios como rendimiento, durabilidad de los datos, disponibilidad y latencia.

Una buena ponencia para iniciarse en Kafka. Puedes ver aquí el vídeo de la charla completa.

Going Async with Kotlin

José María Muñoz, Organizador del GDG Cáceres y Associate Software Engineer en Tuenti, aportó en su charla una buena introducción a las diferentes formas de trabajar de manera asíncrona con la JVM. En Profile (en Pivotal y Googlen también) amamos con pasión Kotlin, así que la disfrutamos mucho.

José María mostró 4 abstracciones sobre un mismo caso de uso simple y didáctico: Callbacks, CompletableFutures, Observables y Corrutinas.

Inicialmente nos enseñó el código síncrono asociado a un cliente/servidor, donde el servidor cuenta con un delay de 500 ms para simular cierta carga. En total se quieren modelar 5 peticiones: sesión, usuario, amigos, fotos y noticias (las tres últimas potencialmente paralelizables).

La aproximación más básica de asincronía nos llevaría a Threads, con los siguientes inconvenientes:

  • alto coste
  • alto consumo de recursos
  • difícil de gestionar

El API está estable en la versión 1.3 de Kotlin, con estas interesantes características:

  • anidable, con posibilidad de cancelación en cascada
  • aspecto secuencial (fácilmente beneficiable de utilidades como try/catch)
  • channel: colas ligeras que comunican corrutinas
  • patrón Actor 
  • multi-plataforma

Ventajas principales:

  • primitivas
  • aspecto secuencial ya comentado
  • en el caso de uso de esta demo se adecúa como un traje a medida (hay que analizar cada situación)

Inconvenientes:

  • scopes y context (donde asociar los thread pools) complejos
  • hay que seguir teniendo cuidado con los threads (como en las otras 3 aproximaciones)
  • algunos aspectos de bajo nivel (donde por ej. RxJava da una mayor abstracción)

En esta slide se resumen las conclusiones de la charla:

Conclusiones de la charla

Crea tu entorno de CI/CD con Google Container Builder

Con Carlos Coloma aprendimos cómo crear un entorno de integración continua con Google Cloud Builder.

Carlos expuso conceptos de Continuous Integration (CI) y Continuous Delivery (CD), así como las ventajas que ofrece Google Cloud Builder.

También se detuvo en ciertos aspectos que debemos considerar:

  • Principalmente hay que hacer lo que nos dé menos dolor de cabeza
  • Cada step es un contenedor independiente: comparte código con /workspace
  • Un cloud builder es un contenedor (base para el step) Docker, en GCB se llama así
  • Cloud Build es un SAAS (siempre debemos tener un mecanismo para poder pasar a pro a mano si falla la nube)

Una charla densa, pero muy bien explicada y de gran interés.

El día que creamos una AI que jugara a La Abadía del Crimen

Genial demostración de cómo aplicar IA para intentar resolver un juego, en este caso uno con tanta importancia para la historia del software español como es La Abadía del Crimen, toda una leyenda, y todo un reto por su dificultad.

Un 10 para Juantomás García, como siempre, todo un showman que siempre sabe cómo amenizar una charla involucrando a su público. Os recomendamos ver el vídeo (cuando lo suban), donde además podréis disfrutar con la colaboración de uno de nuestros compañeros de Profile.

Conclusiones

Commit ha demostrado ser el sucesor natural del anterior Codemotion: dos días llenos de charlas muy variadas, ofreciendo además un espacio común en el que encontrarte con caras conocidas e impregnarte de las tendencias alrededor del desarrollo de software.

Nuestra experiencia fue muy satisfactoria y desde aquí queremos dar las gracias y la enhorabuena tanto a la organización y voluntarios, como a los ponentes por su esfuerzo en hacer que esta primera edición de Commit haya sido un éxito.

En el canal de Youtube de Commit puedes encontrar muchas de las charlas grabadas en vídeo.

¡Nos vemos en Commit 2019!

Compañeros de arquitectura de Profile posando en Commit 2018

¿Te pareció interesante? Compártelo:
Share on Facebook
Facebook
Share on Google+
Google+
Tweet about this on Twitter
Twitter
Share on LinkedIn
Linkedin
Print this page
Print
Email this to someone
email

Sobre el Autor:

Profile Software Services es una compañía de consultoría y servicios TI y software formada por más de 140 profesionales, especialistas en arquitectura de software, desarrollo web, apps móviles, sistemas, cloud computing, apificación y gestión de APIs y diseño UX. Estamos en Madrid, Barcelona y Sevilla.