Este documento describe una presentación sobre la orquestación de microservicios como la realiza Netflix. La presentación explica por qué es necesaria la orquestación de microservicios, las diferencias entre orquestación y coreografía, el sistema de orquestación de Netflix llamado Conductor, y cómo Mutua Madrileña ha definido su arquitectura de aplicaciones usando orquestación de procesos y servicios.
This is a talk on how you can monitor your microservices architecture using Prometheus and Grafana. This has easy to execute steps to get a local monitoring stack running on your local machine using docker.
In this session, we will start with the importance of monitoring of services and infrastructure. We will discuss about Prometheus an opensource monitoring tool. We will discuss the architecture of Prometheus. We will also discuss some visualization tools which can be used over Prometheus. Then we will have a quick demo for Prometheus and Grafana.
Apache Airflow es una plataforma en la que podemos crear flujos de datos de manera programática, planificarlos y monitorear de manera centralizada.
Por Yesi Díaz
As engineers we spend much of our time getting stuff to production and making sure our infrastructure doesn’t burn down out right. We however spend very little time learning to understand and respond to outages. Does our platform degrade in a graceful way or what does a high cpu load really mean? What can we learn from level 1 outages to be able to run our platforms more reliably.
Plenty of people are jumping on the new hype, Observability, lots of them are replacing their “legacy” monitoring stack. Not all of them achieve the goals they set. But observability is not a tool — it is a property of a system. Moving from many small black boxes to a more holistic view of your system.
In this talk we ll talk about how to prepare teams to tweak their testing and monitoring setup and work instructions to quickly observe, react to and resolve problems. We look at improving your monitoring by adapting your culture and then maybe your tooling. Where we as engineers not only write, maintain and operate our software platforms but actively pursue ways to learn and predict its (non-functional) behavior.
Furthermore we ll discuss the need for and the options of not only monitoring our platforms and it's envitable outages, but also their (potential) length and impact. We ll look at tools like at using Service Level Objects for ways to prepare teams to tweak their testing and monitoring setup and runbooks to quickly observe, react to and resolve problems.
This is a talk on how you can monitor your microservices architecture using Prometheus and Grafana. This has easy to execute steps to get a local monitoring stack running on your local machine using docker.
In this session, we will start with the importance of monitoring of services and infrastructure. We will discuss about Prometheus an opensource monitoring tool. We will discuss the architecture of Prometheus. We will also discuss some visualization tools which can be used over Prometheus. Then we will have a quick demo for Prometheus and Grafana.
Apache Airflow es una plataforma en la que podemos crear flujos de datos de manera programática, planificarlos y monitorear de manera centralizada.
Por Yesi Díaz
As engineers we spend much of our time getting stuff to production and making sure our infrastructure doesn’t burn down out right. We however spend very little time learning to understand and respond to outages. Does our platform degrade in a graceful way or what does a high cpu load really mean? What can we learn from level 1 outages to be able to run our platforms more reliably.
Plenty of people are jumping on the new hype, Observability, lots of them are replacing their “legacy” monitoring stack. Not all of them achieve the goals they set. But observability is not a tool — it is a property of a system. Moving from many small black boxes to a more holistic view of your system.
In this talk we ll talk about how to prepare teams to tweak their testing and monitoring setup and work instructions to quickly observe, react to and resolve problems. We look at improving your monitoring by adapting your culture and then maybe your tooling. Where we as engineers not only write, maintain and operate our software platforms but actively pursue ways to learn and predict its (non-functional) behavior.
Furthermore we ll discuss the need for and the options of not only monitoring our platforms and it's envitable outages, but also their (potential) length and impact. We ll look at tools like at using Service Level Objects for ways to prepare teams to tweak their testing and monitoring setup and runbooks to quickly observe, react to and resolve problems.
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
This session does a quick recap of microservices: why do we want them, what problems do they solve and what are the principles around designing and implementing them? The Dapr.io runtime framework for distributed applications is introduced. Dapr provides a sidecar (almost like a personal assistant to a manager) to an application or microservice, a companion process that handles common tasks such as storing and retrieving state, consuming and publishing messages and events, invoking external services and other microservices as well as handling incoming requests. Participants will do a handson lab with Dapr.io and learn how to quickly implement interactions with various technologies, including Redis and MySQL.
Node(JS) is introduced – a server side JavaScript-based programming language that can be used well for implementing microservices. Some of the main characteristics of NodeJS are discussed (functional programming, asynchronous flows, NPM package manager) as well as common use cases (handle incoming HTTP requests, invoke REST APIs). In the second lab, Node and Dapr are used together to implement microservices that interact with databases and message brokers and each other – in a decoupled fashion.
Spring Weblfux. I have given this talk several times but in San Antonio JUG is where I think I have explained better this topic. An introduction to the reactive concepts on how Spring and Project Reactor implement them for Reactive web with Spring Webflux.
Designing a complete ci cd pipeline using argo events, workflow and cd productsJulian Mazzitelli
https://www.youtube.com/watch?v=YmIAatr3Who
Presented at Cloud and AI DevFest GDG Montreal on September 27, 2019.
Are you looking to get more flexibility out of your CICD platform? Interested how GitOps fits into the mix? Learn how Argo CD, Workflows, and Events can be combined to craft custom CICD flows. All while staying Kubernetes native, enabling you to leverage existing observability tooling.
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020Matt Raible
"Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!"
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2020/01/09/java-rest-api-showdown
GitHub repo: https://github.com/oktadeveloper/okta-java-rest-api-comparison-example
More Than Monitoring: How Observability Takes You From Firefighting to Fire P...DevOps.com
For some, observability is just a hollow rebranding of monitoring, for others it’s monitoring on steroids. But what if we told you observability is the new way to find out why—not just if—your distributed system or application isn’t working as expected? Today, we see that traditional monitoring approaches can fall short if a system or application doesn’t adequately externalize its state.
This is truer as workloads move into the cloud and leverage ephemeral technologies, such as microservices and containers. To reach observability, IT and DevOps teams need to correlate different sources from logs, metrics, traces, events and more. This becomes even more challenging when defining the online revenue impact of a failed container—after all, this is what really matters to the business.
This webinar will cover:
The differences between observability and monitoring
Why it is a bigger challenge in a multicloud and containerized world
How observability results in less firefighting and more fire prevention
How new platforms can help gain observability (on premises and in the cloud) for containers, microservices and even SAP or mainframes
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018Scrum Breakfast Vietnam
Are you struggling to create a non-blocking REST application or a reactive micro-services? Spring WebFlux, a new module introduced by Spring 5 may help.
This new module introduces:
- Fully non-blocking
- Supports Reactive Streams back pressure
- Runs on such servers as Netty, Undertow, and Servlet 3.1+ containers
- Its support for the reactive programming model
In our next Scrum Breakfast, we will discuss Spring WebFlux, its benefit and how we implement it.
Our workshop will be including the following:
- What is reactive programming
- Introduction to Spring Webflux
- Tea break
- The details in Spring Webflux
- Reactive stack demonstration
- Q&A
How deeply can you understand what is happening inside your application? In modern, microservices-based applications, it’s critical to have end-to-end observability of each component and the communications between them in order to quickly identify and debug issues. In this session, we show how to have the necessary instrumentation and how to use the data you collect to have a better grasp of your production environment. On AWS, CloudWatch collects monitoring and operational data in the form of logs, metrics, and events, providing you with a unified view of AWS resources, applications, and services. With AWS X-Ray, you can understand how your application and its underlying services are performing to identify and troubleshoot the root cause of performance issues and errors. X-Ray provides an end-to-end view of requests as they travel through your application, and shows a map of your application’s underlying components. AWS App Mesh standardizes how your microservices communicate, giving you end-to-end visibility and helping to ensure high-availability for your applications.
Presentación correspondiente al MuleSoft Meetup de Ciudad de Panamá sobre lo nuevo de MuleSoft (Mule 4.3, Anypoint Studio 7.5, Dataweave 2.3.0, MUnit 2.5, Anypoint Service Mesh). Incluye la presentación de un caso de uso ficticio para demostrar cómo crear y orquestar APIs usando MuleSoft
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Lucas Jellema
This session does a quick recap of microservices: why do we want them, what problems do they solve and what are the principles around designing and implementing them? The Dapr.io runtime framework for distributed applications is introduced. Dapr provides a sidecar (almost like a personal assistant to a manager) to an application or microservice, a companion process that handles common tasks such as storing and retrieving state, consuming and publishing messages and events, invoking external services and other microservices as well as handling incoming requests. Participants will do a handson lab with Dapr.io and learn how to quickly implement interactions with various technologies, including Redis and MySQL.
Node(JS) is introduced – a server side JavaScript-based programming language that can be used well for implementing microservices. Some of the main characteristics of NodeJS are discussed (functional programming, asynchronous flows, NPM package manager) as well as common use cases (handle incoming HTTP requests, invoke REST APIs). In the second lab, Node and Dapr are used together to implement microservices that interact with databases and message brokers and each other – in a decoupled fashion.
Spring Weblfux. I have given this talk several times but in San Antonio JUG is where I think I have explained better this topic. An introduction to the reactive concepts on how Spring and Project Reactor implement them for Reactive web with Spring Webflux.
Designing a complete ci cd pipeline using argo events, workflow and cd productsJulian Mazzitelli
https://www.youtube.com/watch?v=YmIAatr3Who
Presented at Cloud and AI DevFest GDG Montreal on September 27, 2019.
Are you looking to get more flexibility out of your CICD platform? Interested how GitOps fits into the mix? Learn how Argo CD, Workflows, and Events can be combined to craft custom CICD flows. All while staying Kubernetes native, enabling you to leverage existing observability tooling.
Java REST API Comparison: Micronaut, Quarkus, and Spring Boot - jconf.dev 2020Matt Raible
"Use Spring Boot! No, use Micronaut!! Nooooo, Quarkus is the best!!!"
There's a lot of developers praising the hottest, and fastest, Java REST frameworks: Micronaut, Quarkus, and Spring Boot. In this session, you'll learn how to do the following with each framework:
✅ Build a REST API
✅ Secure your API with OAuth 2.0
✅ Optimize for production with Docker and GraalVM
I'll also share some performance numbers and pretty graphs to compare community metrics.
Related blog post: https://developer.okta.com/blog/2020/01/09/java-rest-api-showdown
GitHub repo: https://github.com/oktadeveloper/okta-java-rest-api-comparison-example
More Than Monitoring: How Observability Takes You From Firefighting to Fire P...DevOps.com
For some, observability is just a hollow rebranding of monitoring, for others it’s monitoring on steroids. But what if we told you observability is the new way to find out why—not just if—your distributed system or application isn’t working as expected? Today, we see that traditional monitoring approaches can fall short if a system or application doesn’t adequately externalize its state.
This is truer as workloads move into the cloud and leverage ephemeral technologies, such as microservices and containers. To reach observability, IT and DevOps teams need to correlate different sources from logs, metrics, traces, events and more. This becomes even more challenging when defining the online revenue impact of a failed container—after all, this is what really matters to the business.
This webinar will cover:
The differences between observability and monitoring
Why it is a bigger challenge in a multicloud and containerized world
How observability results in less firefighting and more fire prevention
How new platforms can help gain observability (on premises and in the cloud) for containers, microservices and even SAP or mainframes
Reactive programming by spring webflux - DN Scrum Breakfast - Nov 2018Scrum Breakfast Vietnam
Are you struggling to create a non-blocking REST application or a reactive micro-services? Spring WebFlux, a new module introduced by Spring 5 may help.
This new module introduces:
- Fully non-blocking
- Supports Reactive Streams back pressure
- Runs on such servers as Netty, Undertow, and Servlet 3.1+ containers
- Its support for the reactive programming model
In our next Scrum Breakfast, we will discuss Spring WebFlux, its benefit and how we implement it.
Our workshop will be including the following:
- What is reactive programming
- Introduction to Spring Webflux
- Tea break
- The details in Spring Webflux
- Reactive stack demonstration
- Q&A
How deeply can you understand what is happening inside your application? In modern, microservices-based applications, it’s critical to have end-to-end observability of each component and the communications between them in order to quickly identify and debug issues. In this session, we show how to have the necessary instrumentation and how to use the data you collect to have a better grasp of your production environment. On AWS, CloudWatch collects monitoring and operational data in the form of logs, metrics, and events, providing you with a unified view of AWS resources, applications, and services. With AWS X-Ray, you can understand how your application and its underlying services are performing to identify and troubleshoot the root cause of performance issues and errors. X-Ray provides an end-to-end view of requests as they travel through your application, and shows a map of your application’s underlying components. AWS App Mesh standardizes how your microservices communicate, giving you end-to-end visibility and helping to ensure high-availability for your applications.
Presentación correspondiente al MuleSoft Meetup de Ciudad de Panamá sobre lo nuevo de MuleSoft (Mule 4.3, Anypoint Studio 7.5, Dataweave 2.3.0, MUnit 2.5, Anypoint Service Mesh). Incluye la presentación de un caso de uso ficticio para demostrar cómo crear y orquestar APIs usando MuleSoft
Tutorial Microsoft Power Automate: Automatización de flujos de trabajo para m...Fernando Leandro
Microsoft Power Automate es una aplicación de automatización de flujos de trabajo a través de la cual las tareas repetitivas se vuelven fáciles (y una de las cuatro soluciones que conforman Microsoft Power Platform: Power Bi, Power Apps, Power Automate y Power Virtual Agents).
Esta herramienta permite crear y personalizar tareas automáticas en la nube, integrando tus aplicaciones y servicios favoritos para recibir notificaciones, sincronizar archivos, recopilar datos, y mucho más.
Power Automate te permite crear flujos de trabajo automatizados sin código o con muy poco código, lo que se conoce como Low Code. Desde siempre los procesos de automatización estaban reservados a personas que saben programar, pero Power Automate es una herramienta para el usuario final con la que puedes crear estos procesos automatizados de forma sencilla.
En esta presentación hablamos de Linkerd, uno de los pioneros en el ámbito de las "arquitecturas Service Mesh". Haremos un repaso por la historia de este producto, conoceremos sus principales funcionalidades y tendremos una parte práctica en la que mostraremos su integración en arquitecturas distribuidas junto a Docker y Kubernetes.
Optimización de aplicaciones web con base de datos NoSQL In-MemoryGonzalo Chacaltana
Presentación que relata las distintas técnicas para optimizar una aplicación web. El objetivo del documento consiste en introducir al participante en los conceptos sobre escalabilidad horizontal, instalar y trabajar con Redis como base de datos NoSQL In-Memory y aplicar un ejemplo de conectarnos con Redis desde una aplicación PHP.
Observabilidad: Todo lo que hay que verSoftware Guru
El código que hacemos vive y tiene razón de ser al momento de llegar a producción… ¿Cómo sabemos que tan efectivo es ? Solo podemos saber midiendolo.
Presentada por Isaac Ruiz Guerra en SG Virtual Conference 2020
Webinar oracle adf12c… descubre todo su potencialatSistemas
Oracle ADF 12c nace con el objetivo de fusionar las anteriores dos vertientes de ADF 11g, ofreciendo de esta forma una elevada productividad y a su vez un aumento de la flexibilidad, tanto en los componentes declarativos como en los propios objetos del framework.
¿Cuáles son sus principales características?.
Con esta nueva versión, ADF evoluciona en muchos aspectos, como por ejemplo en su integración con Maven y GIT, con versiones actualizadas de librerías core como JSF y con un gran soporte REST en la capa ADF Business Components. Así mismo, esta nueva versión incorpora grandes mejoras a nivel de IDE y correctivos generales del framework.
Desde atSistemas, ofrecemos una experiencia real en desarrollo ADF 12c y en cómo abordar la actualización, que afecta no solo a las aplicaciones, sino también a la forma de desarrollar las mismas. Incluso, internamente, hemos construido algunas soluciones sobre Oracle ADF 12c, como ADF Smart Monitor, nuestra herramienta de monitorización y auditoría de aplicaciones ADF que ofrece información relevante a los equipos sobre la calidad de sus desarrollos.
En este video, obtendrás una visión detallada sobre Novedades en JDK y JSF, Nuevos componentes, Mejoras y novedades en JDeveloper, Mejoras y novedades en ADF, etc.
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones WebDeisy Sapaico
Pylot : Herramienta para pruebas de rendimiento de Aplicaciones Web.
Herramienta de código abierto para probar el rendimiento y la escalabilidad de los servicios web.
Ejecuta pruebas de carga HTTP, que son útiles para la planificación de la capacidad, la evaluación comparativa, análisis y ajuste del sistema.
En este segundo Meetup nos vamos a centrar en la integración de Mulesoft con BBDD relacionales del tipo Oracle, PostgreSQL, MySQL
1.- Cómo se integra Java con Bases de Datos relacionales
2.- Somo los integradores capaces de hacer de DBA? pide ayuda a alguien que sepa de BBDD
3.- Pool de conexiones, que es y para que nos sirve para mejorar el rendimiento
4.- ApiKit OData, generación automática de API´s a partir de una conexión de BD
5.- Historias para no dormir y casos extraños que nos encontramos en los clientes
NodeJS es una plataforma que permite programar servidores dedicados en Javascript de forma sencilla y eficaz. Pese a que Javascript no es un lenguaje con soporte a la concurrencia, el carácter no bloqueante de las operaciones que realizan accesos de entrada salida E/S permite avanzar los flujos de ejecución aumentando la productividad y la escalabilidad del sistema total. En efecto, los tiempos de espera en cada operación motivados por los accesos a disco son aprovechados para procesar nuevas peticiones entrantes en el servidor. Pese a sus innegables ventajas en productividad, el modelo de programación se complica. Dado que ahora las operaciones se liberan del flujo de control para retomarse posteriormente, ¿cómo podemos determinar cuándo una operación ha terminado? ¿Cómo podemos recuperar sus resultados? ¿Cómo gestionamos sus errores potenciales? A lo largo de este texto presentaremos diferentes modelos de programación que pueden ser empleado para dar respuesta a estas y otras preguntas en el marco de la programación asíncrona.
La arquitectura de microservicios persigue maximizar la adaptabilidad de las soluciones mediante la distribución de las responsabilidades del software en servicios con ciclo de vida independiente.
Lograr la independencia de los microservicios es clave para beneficiarse de las ventajas de la arquitectura. Esto exige un profundo entendimiento del dominio funcional, lo que se logra mediante DDD.
Por otro lado la arquitectura hexagonal nos permite estructurar el software de manera que la capa de código relacionada con el dominio funcional no se vea interferida por aspectos tecnológicos, es decir, que dicha capa sólo exprese el Ubiquitous Language, es decir el lenguaje del modelo en según lo llama DDD.
Dicha separación en capas y el invertir las dependencias permite además garantizar la máxima portabilidad del código.
¿Qué vamos a ver?
1. Beneficios
2. Domain Driven Design.
- Conceptos - Big Picture.
- Conceptos - Code architecture.
- Event Storming.
3. Clean Code Architecture.
- Hexagonal Architecture.
- Onion Architecture.
Bots 3.0: Dejando atrás los bots conversacionales con Dialogflow.Paradigma Digital
Atención personalizada y automatización de operativas con IA de forma sencilla con DialogFlow. Al terminar esta charla serás capaz de crear un bot con Dialogflow que solucione tareas sencillas.
En esta charla veremos:
- Cuales son las necesidades de negocio que satisface este tipo de soluciones
- Alternativas en el mercado
- Solución de la necesidad con DialogFlow
Ponente: Alex Asensio - Business Lead en Paradigma Digital
Pragmático y siempre enfocado a objetivos de negocio. Enamorado de la tecnología pero también con la forma en que entregamos software a nuestros clientes, basada en el "empirismo". Tech + Biz mano a mano es la fórmula de éxito que queremos compartir con ellos.
En esta nueva entrega sobre service-mesh veremos el que probablemente se convertirá en el producto de referencia: Istio.
Analizaremos las funcionalidades que aporta, su arquitectura interna, la integración con productos de terceros así como su repercusión
dentro de las arquitecturas actuales. Realizaremos algunos ejemplos para mostrar la funcionalidad y configuración
Ponente:
Abraham Rodríguez está especializado en soluciones cloud native con arquitecturas de microservicios, stack con el que ha trabajado en diversos proyectos. Apasionado defensor de todo lo relacionado con cloud, metodologías ágiles, software libre y devops.
¿Cómo hago que mis APIs sean usables?
A través de un ejemplo desarrollado en Spring veremos como realizar todo el proceso de diseño aplicando un conjunto de buenas prácticas que te ayuden en el proceso de toma de decisión a la hora de enfrentarte al diseño de APIs.
En este meetup vamos a analizar uno de los pilares básicos en el proceso de transformación digital de las empresas: API Management. Para ello, explicaremos en qué consiste esta estrategia, y los diferentes conceptos y componentes que intervienen en la misma.Además, para completar esta visión con un caso práctico, mostraremos un ejemplo de implementación mediante uno de los productos OpenSource de API Management más exitoso del mercado: WSO2.
https://www.meetup.com/Microservicios
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!Paradigma Digital
En el pasado Meetup, presentamos Couchbase de manera general, pero ha llegado el momento de ir ahondando en los detalles del producto para conocer todas sus capacidades. Esto nos permitirá estar en mejor disposición para adoptarlo en nuestros proyectos.
En esta ocasión, se hablará de la capa de operaciones y despliegue de Couchbase aunque no con un enfoque tradicional en máquinas físicas, sino siguiendo las buenas prácticas del mercado. Explicaremos y haremos el despliegue en Google Cloud con escalabilidad horizontal elástica y automática.
Para llevar a cabo esto haremos uso, entre otras, de las siguientes tecnologías: Google Cloud, Kubernetes, Python y, por supuesto, Couchbase.
Pondremos a prueba nuestra infraestructura con una pequeña aplicación, si queréis ver los resultados, no os lo podéis perder!
Google Analytics es una herramienta de analítica la que se conoce sólo una parte de su potencial. Además de medir audiencias y su comportamiento, Google Analytics permite priorizar las inversiones en marketing online, recoger comportamientos de Single Page Applications y visualizar datos offline, por ejemplo de CRM y combinarlos con los de visitas online. También es posible recoger datos en tiempo real de ventas, por ejemplo de ecommerce y de dispositivos físicos como bluetooth beacons. Las funcionalidades de Google Analytics, en combinación con Big Query y otros servicios de Google Cloud Platform, la convierte en una de las plataformas más interesantes de analítica para la transformación digital.
Si quieres ver el vídeo en el que fue usada esta presentación, pulsa aquí: https://www.youtube.com/watch?v=2mfIU-NXGXI
Para ver la convocatoria en nuestra web, clic aquí: https://www.paradigmadigital.com/eventos/usar-google-analytics/
La convocatoria a través del grupo de Meetup.com, clic aquí: https://www.meetup.com/es-ES/Front-end-Developers-Madrid/events/231793469/
¿Cómo definir el roadmap de transformación digital? En Paradigma llevamos más de 20 años ayudando a grandes compañías en su camino hacia la digitalización.
Esta presentación nos muestra qué es la programación reactiva, en qué consiste, qué nos permite hacer y por qué está tan de moda. Además, podemos ver el uso concreto de esta programación utilizando RxJava.
Autor: Juan Pablo González de Gracia.
En Paradigma creemos que los grandes dragones digitales han desbancado a las empresas tradicionales. La clave para combatir esos dragones es la transformación digital.
El pasado 17 de mayo se celebró en las oficinas de Paradigma Digital el meetup mensual del grupo Python Madrid. Pablo González Fuente, de GMV, nos habló de Python y Flink.
Vídeo del evento: https://www.youtube.com/watch?v=HPfNDL-jIGM
El pasado 17 de mayo se celebró en las oficinas de Paradigma Digital el meetup mensual del grupo Python Madrid. Nuestro compañero Álvaro León nos habló de Kafka y Python.
Vídeo de la presentación: https://www.youtube.com/watch?v=HPfNDL-jIGM
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Escaneo y eliminación de malware en el equiponicromante2000
El malware tiene muchas caras, y es que los programas maliciosos se reproducen en los ordenadores de diferentes formas. Ya se trate de virus, de programas espía o de troyanos, la presencia de software malicioso en los sistemas informáticos siempre debería evitarse. Aquí te muestro como trabaja un anti malware a la hora de analizar tu equipo
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
experiencia de aprendizaje sobre lectura y escritura como herramientas de ap...
Orquestando microservicios como lo hace Netflix
1. Meetup Microservicios - Orquestando microservicios
Orquestando microservicios
como lo hace Netflix
2. Meetup Microservicios - Orquestando microservicios
Grupo de meetup Microservicios
¡ Bienvenidos !
3. Meetup Microservicios - Orquestando microservicios
BIO
Borja Gómez
Arquitecto Software@Paradigma Digital
bgomez@paradigmadigital.com
@borjagomez
4. Meetup Microservicios - Orquestando microservicios
Grupo de meetup Microservicios
‘Orquestando Microservicios
como lo hace Netflix’
5. Meetup Microservicios - Orquestando microservicios
Objetivos de la sesión
● ¿Por qué orquestación de microservicios?
● Características orquestación
● Netflix Conductor
● Demo
6. Meetup Microservicios - Orquestando microservicios
¿Por qué la orquestación?
La primera aproximación es la de mediación. También son llamados servicios de
segundo nivel, o microservicios de negocio.
En algunos casos esta alternativa es buena. Pero cuando los tiempos o la
complejidad aumentan, parece necesario tener una lógica más enfocada a los
procesos.
7. Meetup Microservicios - Orquestando microservicios
¿Por qué la orquestación?
Los microservicios muchas veces no aportan valor por sí mismos.
- ¿Qué me aporta funcionalmente insertar un registro en una tabla de
auditoría?
- ¿De qué me sirve tener codificado un video si no lo subo al catálogo?
La problemática con microservicios es similar a la que vivimos con SOA: lo que
aporta valor al negocio es la funcionalidad, y en multitud de ocasiones esta
funcionalidad se implementa con un flujo de negocio, y no una llamada única.
8. Meetup Microservicios - Orquestando microservicios
¿Por qué la orquestación?
Consultar Cliente
en BD
Insertar en BD
Clientes
Insertar cuenta en
BD Cuentas
Creación Cuenta
10. Meetup Microservicios - Orquestando microservicios
Orquestación VS Coreografía
La orquestación de microservicios implica tener una entidad central que gobierna
el flujo de trabajo, decidiendo a qué servicios invocar y cuándo.
La coreografía prescinde de esta entidad central, delegando en los microservicios el
control del flujo.
11. Meetup Microservicios - Orquestando microservicios
Orquestación VS Coreografía
Con la orquestación, es necesario una pieza central que lo gobierne. Entonces…
Mejor la coreografía, ¿no? ¿Por qué hablamos de orquestación?
LET ME THINK
12. Meetup Microservicios - Orquestando microservicios
Orquestación VS Coreografía
Pese a que la orquestación necesita de un componente central, tiene ventajas:
● Los microservicios no tienen que conocer el proceso de negocio.
○ Cumplen el Principio de Responsabilidad Única.
● Tenemos una pieza central a la que podemos preguntar por el estado de los procesos,
estadísticas, etc.
● Permite la migración de versiones de procesos comenzados.
La coreografía por su parte tiene las siguientes desventajas:
● Es complicado escalar en funcionalidad. Cualquier cambio en un servicio impacta al flujo
completo.
● Es muy complejo conocer el estado de los procesos.
● Los microservicios deben conocer el proceso, y por lo tanto tienen una complejidad
mayor.
14. Meetup Microservicios - Orquestando microservicios
Netflix Conductor
¿Qué es?
Un orquestador de flujos que corre en entornos cloud y que permite implementar
cada una de las tareas mediante el uso de microservicios.
El reto de Netflix era crear un producto que permitiese orquestar los flujos
manteniendo las ventajas de usar un sistema basado en microservicios.
15. Meetup Microservicios - Orquestando microservicios
Netflix Conductor: Arquitectura de la Solución
16. Meetup Microservicios - Orquestando microservicios
Netflix Conductor: Tareas
● Tareas de Sistema
1. Fork: crea una bifurcación en paralelo.
2. Fork_join_dynamic: realiza la paralelización en función de la expresión de entrada.
3. Join: hace un join de un flujo previamente bifurcado.
4. Decide: condicional, de forma similar a un “case switch”.
5. Sub_workflow: arranca un flujo como una tarea. El flujo queda pausado hasta que el subflujo termina.
6. Wait: introduce un punto de parada asíncrono en el flujo. Se mantiene en estado in_progress hasta que se actualiza con estado
completed o failed.
7. HTTP: ejecuta la llamada a un microservicio a través de HTTP. Dicha invocación se regirá por la política de reintentos declarada al
definir la tarea.
8. Eventos: pueden arrancar una instancia de un flujo, y marcar una tarea como fallida o completada.
● Tareas simples: implementadas en el worker. Son las tareas enfocadas al negocio en sí. Las tareas se comunican con Conductor
mediante un sistema de polling para recuperar tareas programadas del tipo configurado, y la devuelven actualizada. En ese momento es
cuando Conductor continúa el flujo a partir de la tarea actualizada.
18. Meetup Microservicios - Orquestando microservicios
Netflix Conductor: Editor de Flujos
Una de las ventajas de Conductor es que huye de notaciones complejas, apostando por la simplicidad de JSON.
Los flujos se definen como una sucesión de tareas y eventos, que se definen en base a unos parámetros:
- Nombre: nombre de la tarea.
- Tipo de Tarea: tipo formal de la tarea.
- Recuento:
- Numero máximo de intentos.
- Tipo de Reintento. Fijo cada x segundos o exponencial en función del número de reintentos.
- Timeout. Fijado en
- Política de timeout: reintentar, marcar flujo como timed_out o simplemente informar.
- Parámetros de entrada salida.
Todo esto, se ve muy fácilmente en un visor de flujos incorporado en la herramienta.
JSONPath
19. Meetup Microservicios - Orquestando microservicios
Netflix Conductor: Contexto de Datos
Conductor permite el intercambio de información entre los compomentes del flujo.
Tiene dos contextos: workflow y task..
El binding de los datos se realizará mediante el uso de JSONPath, que implementa la mayoría de funcionalidad
de XPath para JSON.
${SOURCE.input.phoneNumbers[:1].number}
Y todos los que hemos trabajado con XPath…
Sabemos que con XPath puedes hacer (casi) cualquier cosa. JSONPath
21. Meetup Microservicios - Orquestando microservicios
Netflix Conductor: Monitorización
Conductor usa Spectator para la recolección me métricas de uso. Destacan las siguientes métricas:
1. workflow_server_error: Porcentaje de errores en servidor
2. workflow_failure: Contador para flujos que han fallado
3. workflow_start_error: Contador de errores al arrancar un flujo
4. workflow_running: Contador de flujos en estado “running”
5. task_queue_wait: Tiempo que lleva una tarea en la cola
6. task_execution: Tiempo que ha tardado en completarse la tarea
7. task_poll : Tiempo que ha tardado la tarea en ser asignada
8. task_queue_depth: Tareas en espera de asignación
9. task_timeout: Contador de tareas que han caído en time-out.
22. Meetup Microservicios - Orquestando microservicios
Netflix Conductor: Configuración
Una de las ventajas de conductor frente a otros orquestadores es la fuerte modularización. Casi todas las capas
son pluggables, de forma que podemos cambiar el producto que usamos e incluso la implementación.
Para ello es necesario implementar las siguientes interfaces para cada backend.
//Store for workflow and task definitions
com.netflix.conductor.dao.MetadataDAO
//Store for workflow executions
com.netflix.conductor.dao.ExecutionDAO
//Index for workflow executions
com.netflix.conductor.dao.IndexDAO
//Queue provider for tasks
com.netflix.conductor.dao.QueueDAO
23. Meetup Microservicios - Orquestando microservicios
Netflix Conductor: Configuración
Para realizar la configuración, contamos con un fichero de configuración:
27. Editar el estilo de texto del patrón
Mutua Madrileña. Definición Arquitectura de Aplicaciones
Orquestación de Procesos vs Orquestación de Servicios
Condiciones del Servicio / Entendimiento y enfoque de requisitos / Arquitectura Final/ Orquestación
Orquestación de Procesos (BPM) Orquestación de Servicios
Control de estado Sin estado
Larga duración Duración generalmente corta (no necesariamente)
Alta interacción con usuario (formularios, tareas manuales) Sin interacción con usuario.
UI para creación de flujos. Fácilmente entendible por negocio Generalmente carecen de IDE. Exigen más conocimiento técnico.
Muy completo: timers, events, tasks, relanzamiento, fault… Menor funcionalidad
Puede convertirse en un punto crítico del sistema Alto rendimiento. Perfecto encaje en modelo de microservicios
Ofrece mecanismos de compensación Es necesario implementar los mecanismos de compensación