Amazon EKS Architecture in detail including CNI/Networking, IAM, Provisioning, Shared Responsibility Model, Project Calico, Load Balancing, Logging/Metrics, CI/CD using AWS CodePipeline, CodeCommit, CodeBuild, Lambda, Amazon ECR and Parameter Store and finally the use of Spot Instances which could yield a savings of 70-90% versus conventional on-demand EC2 instances.
Benchmarking is hard. Benchmarking databases, harder. Benchmarking databases that follow different approaches (relational vs document) is even harder.
But the market demands these kinds of benchmarks. Despite the different data models that MongoDB and PostgreSQL expose, many organizations face the challenge of picking either technology. And performance is arguably the main deciding factor.
Join this talk to discover the numbers! After $30K spent on public cloud and months of testing, there are many different scenarios to analyze. Benchmarks on three distinct categories have been performed: OLTP, OLAP and comparing MongoDB 4.0 transaction performance with PostgreSQL's.
What would be faster, MongoDB or PostgreSQL?
Unique course notes for the Certified Kubernetes Administrator (CKA) for each section of the exam. Designed to be engaging and used as a reference in the future for kubernetes concepts.
Taylor Wicksell and Tom Gianos at SpringOne Platform 2019VMware Tanzu
This document discusses Netflix's use of Spring frameworks. Netflix uses Spring Boot applications to power its Java platform and big data platform. Some key points:
- Netflix has a small Java platform team that leverages Spring to accelerate application delivery and prepare apps for production.
- The big data platform processes over 100PB of data and executes over 250,000 jobs per day using Spring Boot services like Genie for job orchestration.
- Spring provides unifying abstractions, production-ready features, easy configuration, and a large ecosystem that make development and deployment easier for Netflix engineers.
- Netflix has migrated many internal frameworks to use Spring implementations to take advantage of Spring's benefits for both developers and the platform
Monitoramento de Banco de dados SQL Server com ZabbixGustavo Henrique
O documento discute monitoramento de bancos de dados SQL Server com Zabbix, incluindo (1) determinar metas de monitoramento, (2) descoberta automática de instâncias SQL Server, (3) criação de templates, (4) monitoramento de fragmentação de índices, (5) agente Zabbix customizado, (6) análise de estatísticas, (7) alertas e (8) dashboards dinâmicos.
This document provides an overview of Cloud Foundry, including:
- Cloud Foundry is an open source cloud application platform that allows developers to build, deploy, and run applications.
- It describes the architecture of Cloud Foundry including the cloud controller, cells, buildpacks, and how applications are deployed and scaled.
- It also discusses services on Cloud Foundry, including the marketplace, creating and binding services, and accessing service credentials.
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)Altinity Ltd
ProxySQL 2.0 includes several new features such as query cache improvements, GTID causal reads for consistency, native Galera cluster support, Amazon Aurora integration, LDAP authentication, improved SSL support, a new audit log, and performance enhancements. It also adds new monitoring tables, variables, and configuration options to support these features.
The document discusses tuning MySQL server settings for performance. Some key points covered include:
- Settings are workload-specific and depend on factors like storage engine, OS, hardware. Tuning involves getting a few settings right rather than maximizing all settings.
- Monitoring tools like SHOW STATUS, SHOW INNODB STATUS, and OS tools can help evaluate performance and identify tuning opportunities.
- Memory allocation and settings like innodb_buffer_pool_size, key_buffer_size, query_cache_size are important to configure based on the workload and available memory.
Introduction to Spring WebFlux #jsug #sf_a1Toshiaki Maki
The document provides an introduction and overview of Spring WebFlux, a non-blocking web framework for Spring. It discusses the differences between blocking and non-blocking web stacks, and how Spring WebFlux uses reactive streams and programming. Code examples are provided showing how to build reactive controllers and streams in Spring WebFlux that support backpressure.
Message Queue 가용성, 신뢰성을 위한 RabbitMQ Server, Client 구성Yoonjeong Kwon
RabbitMQ Concept & How to work
High Availability in RabbitMQ
- Clustering & Mirrored Queue
HAProxy
Spring Cloud Stream Sample & configuration: Spring Boot App with Rabbit
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...Toshiaki Maki
The document discusses Spring Cloud Data Flow, which provides a framework for building data pipelines using microservices. It describes how Spring Cloud Data Flow orchestrates long-lived streaming applications using Spring Cloud Stream and short-lived batch processing applications using Spring Cloud Task. It also discusses how these applications can be deployed on modern platforms using deployment-specific Spring Cloud Deployers.
MySQL Parallel Replication: inventory, use-case and limitationsJean-François Gagné
Booking.com uses MySQL parallel replication extensively with thousands of servers replicating. The presentation summarized MySQL and MariaDB parallel replication features including: 1) MySQL 5.6 uses schema-based parallel replication but transactions commit out of order. 2) MariaDB 10.0 introduced out-of-order parallel replication using write domains that can cause gaps. 3) MariaDB 10.1 includes five parallel modes including optimistic replication to reduce deadlocks during parallel execution. Long transactions and intermediate masters can limit parallelism.
On-Demand Recording: https://www.nginx.com/resources/webinars/how-to-get-started-with-nginx/
In this webinar, we help you get started using NGINX, the de facto standard building block for modern microservices-based architectures. During this practical workshop, we take you through installing and configuring NGINX as a web server, load balancer, and reverse proxy.
레드햇의 Etsuji Nakai 씨의 "OpenStack: Inside Out" 한글 번역본입니다.
다시 한번 좋은 문서를 공유해주신 Etsuji Nakai 씨에게 감사를 드립니다.
http://www.slideshare.net/enakai/open-stack-insideoutv10
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-RegionJi-Woong Choi
OpenStack Ceph & Neutron에 대한 설명을 담고 있습니다.
1. OpenStack
2. How to create instance
3. Ceph
- Ceph
- OpenStack with Ceph
4. Neutron
- Neutron
- How neutron works
5. OpenStack HA- controller- l3 agent
6. OpenStack multi-region
Spring Boot on Amazon Web Services with Spring Cloud AWSVMware Tanzu
SpringOne 2021
Session Title: Spring Boot on Amazon Web Services with Spring Cloud AWS
Speakers: Maciej Walkowiak, Software Consultant at Independent; Matej Nedic, Software engineer at Ingemark
The Modern Database for Enterprise ApplicationsQAware GmbH
Gregor Bauer, Couchbase & QAware Meetup, 02.02.23
Couchbase and Kubernetes: a powerful data management duo
Gregor explains how to escape the common struggles of cloud deployments by leveraging cloud portability across platforms and providers. Here, the Couchbase Autonomous Operator for Kubernetes enables cloud portability and automates operational best practices for deploying and managing the Couchbase Data Platform.
The following key features will be presented:
Native integration with Kubernetes Operator which provides a data platform with rich query support, mobile, analytics, and full-text search functionality out of the box.
Easily deploy Couchbase within a managed private cloud or public cloud, which offers maximum flexibility, customizability, and performance.
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptxSibilinoAndante
El documento presenta una introducción al desarrollo web con ASP.NET Core MVC. Explica los conceptos clave de ASP.NET Core, ASP.NET Core MVC, la estructura de un proyecto MVC, y los componentes clave como controladores, vistas y modelos. También cubre temas como Razor, scaffolding, transferencia de datos y implementación de acciones.
Este documento presenta una introducción a Spring MVC, incluyendo una descripción del patrón MVC, los componentes clave de Spring MVC como DispatcherServlet y HandlerMapping, y cómo configurar una aplicación Spring MVC. También explica conceptos como controllers, views y binding de datos, e incluye ejemplos de código de controllers simples y MultiActionController.
This document provides an overview of Cloud Foundry, including:
- Cloud Foundry is an open source cloud application platform that allows developers to build, deploy, and run applications.
- It describes the architecture of Cloud Foundry including the cloud controller, cells, buildpacks, and how applications are deployed and scaled.
- It also discusses services on Cloud Foundry, including the marketplace, creating and binding services, and accessing service credentials.
New features in ProxySQL 2.0 (updated to 2.0.9) by Rene Cannao (ProxySQL)Altinity Ltd
ProxySQL 2.0 includes several new features such as query cache improvements, GTID causal reads for consistency, native Galera cluster support, Amazon Aurora integration, LDAP authentication, improved SSL support, a new audit log, and performance enhancements. It also adds new monitoring tables, variables, and configuration options to support these features.
The document discusses tuning MySQL server settings for performance. Some key points covered include:
- Settings are workload-specific and depend on factors like storage engine, OS, hardware. Tuning involves getting a few settings right rather than maximizing all settings.
- Monitoring tools like SHOW STATUS, SHOW INNODB STATUS, and OS tools can help evaluate performance and identify tuning opportunities.
- Memory allocation and settings like innodb_buffer_pool_size, key_buffer_size, query_cache_size are important to configure based on the workload and available memory.
Introduction to Spring WebFlux #jsug #sf_a1Toshiaki Maki
The document provides an introduction and overview of Spring WebFlux, a non-blocking web framework for Spring. It discusses the differences between blocking and non-blocking web stacks, and how Spring WebFlux uses reactive streams and programming. Code examples are provided showing how to build reactive controllers and streams in Spring WebFlux that support backpressure.
Message Queue 가용성, 신뢰성을 위한 RabbitMQ Server, Client 구성Yoonjeong Kwon
RabbitMQ Concept & How to work
High Availability in RabbitMQ
- Clustering & Mirrored Queue
HAProxy
Spring Cloud Stream Sample & configuration: Spring Boot App with Rabbit
Data Microservices with Spring Cloud Stream, Task, and Data Flow #jsug #spri...Toshiaki Maki
The document discusses Spring Cloud Data Flow, which provides a framework for building data pipelines using microservices. It describes how Spring Cloud Data Flow orchestrates long-lived streaming applications using Spring Cloud Stream and short-lived batch processing applications using Spring Cloud Task. It also discusses how these applications can be deployed on modern platforms using deployment-specific Spring Cloud Deployers.
MySQL Parallel Replication: inventory, use-case and limitationsJean-François Gagné
Booking.com uses MySQL parallel replication extensively with thousands of servers replicating. The presentation summarized MySQL and MariaDB parallel replication features including: 1) MySQL 5.6 uses schema-based parallel replication but transactions commit out of order. 2) MariaDB 10.0 introduced out-of-order parallel replication using write domains that can cause gaps. 3) MariaDB 10.1 includes five parallel modes including optimistic replication to reduce deadlocks during parallel execution. Long transactions and intermediate masters can limit parallelism.
On-Demand Recording: https://www.nginx.com/resources/webinars/how-to-get-started-with-nginx/
In this webinar, we help you get started using NGINX, the de facto standard building block for modern microservices-based architectures. During this practical workshop, we take you through installing and configuring NGINX as a web server, load balancer, and reverse proxy.
레드햇의 Etsuji Nakai 씨의 "OpenStack: Inside Out" 한글 번역본입니다.
다시 한번 좋은 문서를 공유해주신 Etsuji Nakai 씨에게 감사를 드립니다.
http://www.slideshare.net/enakai/open-stack-insideoutv10
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-RegionJi-Woong Choi
OpenStack Ceph & Neutron에 대한 설명을 담고 있습니다.
1. OpenStack
2. How to create instance
3. Ceph
- Ceph
- OpenStack with Ceph
4. Neutron
- Neutron
- How neutron works
5. OpenStack HA- controller- l3 agent
6. OpenStack multi-region
Spring Boot on Amazon Web Services with Spring Cloud AWSVMware Tanzu
SpringOne 2021
Session Title: Spring Boot on Amazon Web Services with Spring Cloud AWS
Speakers: Maciej Walkowiak, Software Consultant at Independent; Matej Nedic, Software engineer at Ingemark
The Modern Database for Enterprise ApplicationsQAware GmbH
Gregor Bauer, Couchbase & QAware Meetup, 02.02.23
Couchbase and Kubernetes: a powerful data management duo
Gregor explains how to escape the common struggles of cloud deployments by leveraging cloud portability across platforms and providers. Here, the Couchbase Autonomous Operator for Kubernetes enables cloud portability and automates operational best practices for deploying and managing the Couchbase Data Platform.
The following key features will be presented:
Native integration with Kubernetes Operator which provides a data platform with rich query support, mobile, analytics, and full-text search functionality out of the box.
Easily deploy Couchbase within a managed private cloud or public cloud, which offers maximum flexibility, customizability, and performance.
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptxSibilinoAndante
El documento presenta una introducción al desarrollo web con ASP.NET Core MVC. Explica los conceptos clave de ASP.NET Core, ASP.NET Core MVC, la estructura de un proyecto MVC, y los componentes clave como controladores, vistas y modelos. También cubre temas como Razor, scaffolding, transferencia de datos y implementación de acciones.
Este documento presenta una introducción a Spring MVC, incluyendo una descripción del patrón MVC, los componentes clave de Spring MVC como DispatcherServlet y HandlerMapping, y cómo configurar una aplicación Spring MVC. También explica conceptos como controllers, views y binding de datos, e incluye ejemplos de código de controllers simples y MultiActionController.
Cross development - React para desarrolladores de asp.netAlberto Diaz Martin
En esta sesión os contaremos la visión de React para el desarrollo de aplicaciones web desde el punto de vista de un desarrollador de ASP.NET que tiene que aprender a trabajar con estas nuevas tecnologías.
En esta sesión os contaremos la visión de React para el desarrollo de aplicaciones web desde el punto de vista de un desarrollador de ASP.NET que tiene que aprender a trabajar con estas nuevas tecnologías.
El documento habla sobre ASP.NET MVC, un framework para desarrollo web que ofrece separación de preocupaciones, URLs limpias y un modelo de programación más performante. Explica conceptos como modelos, vistas y controladores, y características como Razor, rutas, y jQuery. También cubre SignalR, una biblioteca que permite comunicaciones en tiempo real entre el servidor y el cliente.
Este documento describe cómo usar procedimientos almacenados (SPROCs) con LINQ to SQL para obtener datos de una base de datos. Explica cómo mapear SPROCs a métodos en la clase DataContext para poder llamarlos y devolver objetos del modelo de datos. También cubre cómo devolver múltiples tipos de datos de un SPROC y el soporte para funciones definidas por el usuario.
Este documento describe diferentes tecnologías y APIs para desarrollar servicios web utilizando Java, PHP, Perl y Google. Explica cómo crear servicios web con JAX-WS, JAX-RPC y JAXB en Java, así como utilizando XML-RPC y SOAP en PHP. También cubre el uso de SOAP::Lite para crear servicios web en Perl y lista numerosas APIs de Google como Google Maps, Google Docs y Google Calendar.
Este documento presenta una introducción a la programación avanzada para desarrollo web. Explica conceptos clave como servidores web, contenedores web, servlets, JSP y aplicaciones web con Java. También incluye una guía rápida de HTML y una descripción de la estructura y configuración típica de aplicaciones web con Java.
1) Los servlets y JSPs son módulos que amplían las capacidades de los servidores web orientados a petición-respuesta, permitiendo generar páginas dinámicas en Java.
2) Los servlets usan los métodos doGet y doPost para procesar solicitudes HTTP y devolver respuestas, mientras que las JSPs permiten combinar código estático y dinámico en un mismo archivo para generar contenido.
3) Tanto los servlets como las JSPs pueden acceder a la solicitud, sesión, y otros objetos para proces
Este documento describe los servicios web y su implementación en diferentes lenguajes de programación como PHP, Perl, Java y las APIs de Google. Explica cómo crear un servidor y cliente XML-RPC en PHP, un servicio web simple "Hola Mundo" en Perl, cómo definir y consumir un servicio web de validación de tarjetas de crédito en Java, y lista las diferentes APIs que Google ofrece para desarrolladores.
Este documento describe diferentes tecnologías y herramientas para el desarrollo de servicios web con Java, PHP, Perl y Google. Explica cómo crear servicios web simples como saludos y buscadores de libros usando tecnologías como JAX-WS, SOAP, XML-RPC y APIs de Google como Blogger, AdSense y feeds de Gmail.
Este documento presenta la agenda para la primera sesión de un curso sobre el desarrollo de aplicaciones web. La agenda incluye una introducción al curso, HTML, JavaServer Pages, los métodos POST y GET, y las transacciones HTTP simples. También describe la arquitectura multinivel típica de las aplicaciones web y algunas tecnologías web de Java como servlets y JSP.
El documento describe la evolución de la Web 2.0 y las tecnologías asociadas como AJAX y Ruby on Rails. Explica que la Web 2.0 se basa en servicios en lugar de software, con contenido generado por los usuarios y APIs que permiten combinar múltiples servicios. También describe las características sociales como la inteligencia colectiva y la participación de los usuarios.
El documento describe la evolución de las aplicaciones web desde las primeras páginas estáticas hasta las aplicaciones distribuidas modernas. Explica cómo ASP.NET mejora sobre ASP al compilar los scripts sólo una vez y permitir cualquier lenguaje .NET. También describe los conceptos básicos de los WebForms de ASP.NET, que permiten crear interfaces de usuario independientes del navegador mediante controles en el servidor y un modelo basado en eventos.
El documento describe la evolución de las aplicaciones web desde las primeras páginas estáticas hasta las aplicaciones distribuidas modernas. Explica cómo ASP.NET mejora sobre ASP al compilar los scripts sólo una vez y permitir cualquier lenguaje .NET. También describe los conceptos básicos de los WebForms de ASP.NET, que permiten crear interfaces de usuario independientes del navegador mediante controles en el servidor y un modelo basado en eventos.
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkitpabloesp
Esta presentación hace un respaso completo sobre las técnicas necesarias para desarrollar aplicaciones con Microsoft Ajax 1.0 y el Ajax Control Toolkit. Repasamos conceptos generales sobre Ajax, para revisar, de forma practica, cómo integrar Ajax en aplicaciones ASP.NET 2.0, Servicios Web, etc... Usaremos los controles UpdatePanel, UpdateProgress, etc... así como los elementos del Control Toolkit
El documento describe la arquitectura MVC y sus componentes clave (modelos, vistas y controladores), así como un ejemplo de implementación de un blog MVC. Explica cómo crear un servidor web con Express y procesar peticiones, incluyendo rutas y parámetros.
Este documento presenta las principales características de Spring 3.0. Spring 3.0 incluye mejoras como una nueva implementación del lenguaje de expresiones de Spring, soporte para configuración basada en Java, extensiones para soportar REST y negociación de contenido, y abstracciones para mapeo de objetos a XML. Spring 3.0 también actualiza la API para aprovechar las características de Java 5 como generics.
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.
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.
¿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.
Este documento presenta las principales características de Java 8 como el manejo de fecha y hora con la clase Clock y las clases DateTime, la programación funcional mediante expresiones lambda, el uso de Optional para evitar nulos, los streams de colecciones para iterar de forma declarativa sobre conjuntos de datos, y CompletionStage para trabajar de forma asíncrona y no bloqueante.
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.
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
Kubernetes es un sistema de orquestación de contenedores de código abierto creado por Google. Se compone de pods que contienen contenedores, nodos que ejecutan los pods, y un master que gestiona la distribución de los pods. Los pods se comunican entre sí a través de servicios que mapean nombres lógicos a conjuntos de pods, y la conectividad entre nodos se logra a través de las IPs, variables de entorno o DNS.
Docker, kubernetes, openshift y openstack, para mi abuela. techfest 2017.pptxParadigma Digital
Este documento presenta conceptos básicos como sistemas operativos, direcciones IP y DNS, y luego describe cuatro tecnologías principales: Docker permite empaquetar aplicaciones en contenedores; Kubernetes orquesta contenedores en clústeres; OpenShift añade características empresariales a Kubernetes; y OpenStack provee máquinas virtuales y recursos de red para ejecutar contenedores.
Este documento describe las ventajas de implementar una arquitectura basada en microservicios en lugar de una aplicación monolítica. Explica que una aplicación monolítica tiene tres capas (interfaz de usuario, aplicación y base de datos) que se gestionan como una sola unidad, mientras que los microservicios dividen la aplicación en servicios independientes enfocados en una única responsabilidad. Implementar microservicios permite mayor simplicidad, eficiencia, tiempo de lanzamiento al mercado e independencia de desarrollo.
Este documento presenta una introducción a la programación reactiva con RxJava. Explica que RxJava es una librería Java que implementa el patrón Observer para manejar eventos de forma asíncrona mediante observables. También describe algunos de los operadores más comunes como map, filter y zip que permiten transformar y combinar observables de forma declarativa. Finalmente, menciona algunas ventajas de este paradigma como la simplificación de la concurrencia y la mejora de la legibilidad del código.
¿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.
Couchbase Server is a NoSQL database that allows developers to build applications with agility and scale them to any size. It provides a flexible JSON schema, fast document storage and retrieval using document IDs, and various data access methods like views, global secondary indexes, and the N1QL query language. Couchbase supports many development frameworks and platforms, and can be deployed in various environments including Docker. It provides features like auto-sharding of data across nodes, replication, and cross data center replication for high availability and disaster recovery.
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.
Este documento presenta Apache Flink y su capacidad para procesar datos en streaming usando Python. Primero introduce a GMV, la compañía que dará la presentación. Luego resume las características clave de Flink como su soporte para ventanas, rendimiento y funcionalidades en comparación con otros frameworks. Finalmente, discute la experiencia usando Python con Flink, notando que aunque es posible, el soporte es más limitado que otros lenguajes como Scala.
En esta presentación, abordaremos los aspectos más importantes de los sistemas operativos: qué son, cómo funcionan, sus componentes principales, tipos más comunes (como Windows, Linux y macOS), y su importancia en distintos entornos, desde computadoras personales hasta servidores y dispositivos móviles.
En esta presentacion buscamos mostrarte un poco sobre como funcionan los navegadores de internet y para que sirven, ademas, mencionamos algunos de los mas populares.
4. Meetup Spring Madrid - WebFlux
Programación Reactiva
“
In computing, reactive programming is a
declarative programming paradigm
concerned with data streams and the
propagation of change.
”
https://www.reactivemanifesto.org/
5. Meetup Spring Madrid - WebFlux
Reactive Streams
Publisher
También llamados Observables. Estos objetos son los que emiten el
flujo de datos
Subscriber
También llamados Observers. Estos objetos son a los que se les
notifican los cambios en el flujo de datos que emite el Publisher
Subscription
Una suscripción se creará en el lado del ‘Publisher’ y se compartirá
con el ‘Subscriber’
Processor
Un procesador puede ser utilizado entre el ‘Publisher’ y el
‘Subscriber’ para realizar transformaciones
La especificación de ‘Reactive Stream’ es un estándar y desde Java 9
se incluye en el Flow API
Programación Reactiva - Conceptos
6. Meetup Spring Madrid - WebFlux
Es un proyecto que se basa en la especificación de
‘Reactive Stream’ proporcionando una
implementación.
Proporciona dos tipos:
Mono: implementa un Publisher y devuelve 0 o 1
elementos
Flux: implementa un Publisher y devuelve N elementos
En RxJava serían un Flowable o Observable (en función
de la versión)
Project Reactor
¿Qué es?
7. Meetup Spring Madrid - WebFlux
La nueva versión de Spring 5 trae soporte para la
programación reactiva mediante el nuevo módulo
llamado WebFlux.
WebFlux a su vez toma como base la librería del
proyecto Reactor (https://projectreactor.io).
WebFlux permite su uso a través de anotaciones (de
forma similar al modelo de programación de Spring
Web MVC) o de forma funcional (programática)
Spring WebFlux
¿Qué es?
17. Editar el estilo de texto del patrón
Spring MVC y Spring WebFlux
18. Meetup Spring Madrid - WebFlux
Spring WebFlux
Spring MVC Spring WebFlux
Reactive Web API
Reactor, Reactive Streams
Servlet API
Tomcat, Jetty Netty Tomcat, Jetty
Blocking I/O Non - Blocking I/O
Ref: Juergen Hoeller
19. Meetup Spring Madrid - WebFlux
Spring WebFlux
Spring MVC Spring WebFlux
Reactive Web API
Reactor, Reactive Streams
Servlet API
Tomcat, Jetty Netty Tomcat, Jetty
Blocking I/O Non - Blocking I/O
Ref: Juergen Hoeller
1 Thread gestiona toda
llamada, quedando
bloqueado hasta que esta
termina produciendo la
respuesta.
Trabaja con un pool de
threads esperando a recibir
peticiones
20. Meetup Spring Madrid - WebFlux
Spring WebFlux
Spring MVC Spring WebFlux
Reactive Web API
Reactor, Reactive Streams
Servlet API
Tomcat, Jetty Netty Tomcat, Jetty
Blocking I/O Non - Blocking I/O
Ref: Juergen Hoeller
1 Thread gestiona toda
llamada, quedando
bloqueado hasta que esta
termina produciendo la
respuesta.
Trabaja con un pool de
threads esperando a recibir
peticiones
Idóneo si el ‘sistema de
almacenamiento’ es
bloqueante
Llamadas no bloqueantes
Modelo de concurrencia
‘event loop’
Endpoints funcionales
Idóneo si el ‘sistema de
almacenamiento’ es NO
bloqueante
21. Meetup Spring Madrid - WebFlux
Spring WebFlux
@Controller, @RestController
Spring MVC Spring WebFlux
Reactive Web API
Reactor, Reactive Streams
Servlet API
Tomcat, Jetty Netty Tomcat, Jetty
Blocking I/O Non - Blocking I/O
Ref: Juergen Hoeller
22. Meetup Spring Madrid - WebFlux
Spring WebFlux
@Controller, @RestController
Spring MVC Spring WebFlux
Reactive Web API
Reactor, Reactive Streams
Servlet API
Tomcat, Jetty Netty Tomcat, Jetty
Blocking I/O Non - Blocking I/O
Ref: Juergen Hoeller
Router
functions
26. Meetup Spring Madrid - WebFlux
Spring WebFlux
El entorno de ejecución recoge una petición que hace
‘match’ con la URL especificada y la envía al
manejador de la petición
27. Meetup Spring Madrid - WebFlux
Spring WebFlux
El entorno de ejecución recoge una petición que hace
‘match’ con la URL especificada y la envía al
manejador de la petición
Se pasan los parámetros al método del repositorio que
devuelve un ‘Publisher’ para el objeto ‘Message’ si es
posible producirlo
30. Meetup Spring Madrid - WebFlux
Spring WebFlux
Llega una petición
Se pasa al manejador
t
31. Meetup Spring Madrid - WebFlux
Spring WebFlux
Llega una petición
Se pasa al manejador
El manejador identifica los parámetros
t
32. Meetup Spring Madrid - WebFlux
Spring WebFlux
Llega una petición
Se pasa al manejador
El manejador identifica los parámetros
El manejador construye un pipeline para llegar al elemento Mensaje y lo devuelve.
Operación NO BLOQUEANTE
t
33. Meetup Spring Madrid - WebFlux
Spring WebFlux
Llega una petición
Se pasa al manejador
El manejador identifica los parámetros
El manejador construye un pipeline para llegar al elemento Mensaje y lo devuelve.
Operación NO BLOQUEANTE
El entorno de ejecución (en este caso el sistema de ‘event loop’ que proporciona WebFlux) se encarga de
registrar un Subscriber (crear una suscripción) al Publisher (el elemento Mono)
t
34. Meetup Spring Madrid - WebFlux
Spring WebFlux
Llega una petición
Se pasa al manejador
El manejador identifica los parámetros
El manejador construye un pipeline para llegar al elemento Mensaje y lo devuelve.
Operación NO BLOQUEANTE
El entorno de ejecución (en este caso el sistema de ‘event loop’ que proporciona WebFlux) se encarga de
registrar un Subscriber (crear una suscripción) al Publisher (el elemento Mono)
El Publisher (el elemento Mono) comienza a preguntar por el elemento ‘Message’
t
35. Meetup Spring Madrid - WebFlux
Spring WebFlux
Llega una petición
Se pasa al manejador
El manejador identifica los parámetros
El manejador construye un pipeline para llegar al elemento Mensaje y lo devuelve.
Operación NO BLOQUEANTE
El entorno de ejecución (en este caso el sistema de ‘event loop’ que proporciona WebFlux) se encarga de
registrar un Subscriber (crear una suscripción) al Publisher (el elemento Mono)
El Publisher (el elemento Mono) comienza a preguntar por el elemento ‘Message’
El Publisher recibirá el elemento siempre que sea posible producirlo y lo reenviará en la respuesta HTTP
t
36. Editar el estilo de texto del patrón
Spring WebFlux - Programación funcional
37. Meetup Spring Madrid - WebFlux
Spring WebFlux - Funcional
Spring WebFlux - Funcional
38. Meetup Spring Madrid - WebFlux
Spring WebFlux - Funcional
Spring WebFlux - Funcional
39. Meetup Spring Madrid - WebFlux
Spring WebFlux - Funcional - Lambdas
Spring WebFlux - Funcional - Lambdas
40. Editar el estilo de texto del patrón
Spring WebFlux - Server Sent Events
41. Meetup Spring Madrid - WebFlux
Spring WebFlux - Server Sent Events
API basada en HTTP para el envío de información push.
Permite al servidor enviar información al cliente
(comunicación en un único sentido)
¿Diferencia con los webSocket?
Los webSockets son un sistema de comunicación
basado en TCP que permite comunicación
bi-direccional entre cliente y servidor
¿Qué es?
42. Meetup Spring Madrid - WebFlux
Spring WebFlux - Server Sent Events
Spring WebFlux - Server Sent Events
43. Meetup Spring Madrid - WebFlux
Spring WebFlux - Server Sent Events
Spring WebFlux - Server Sent Events
44. Meetup Spring Madrid - WebFlux
Spring WebFlux - Server Sent Events
Cliente - Server Sent Events
Ref: www.w3schools.com
45. Editar el estilo de texto del patrón
Spring WebFlux - WebSockets
46. Meetup Spring Madrid - WebFlux
Spring WebFlux - WebSockets
Spring WebFlux - WebSockets
47. Editar el estilo de texto del patrón
Spring WebFlux - Cliente Reactivo
48. Meetup Spring Madrid - WebFlux
Spring WebFlux - Cliente reactivo
microservicio microservicio microservicio
microservicio
DB DB DB
49. Meetup Spring Madrid - WebFlux
Spring WebFlux - Cliente reactivo
microservicio microservicio microservicio
microservicio
DB DB DB
Non - Blocking I/O
50. Meetup Spring Madrid - WebFlux
Spring WebFlux - Cliente reactivo
microservicio microservicio microservicio
microservicio
DB DB DB
RestTemplate
Non - Blocking I/O
Blocking I/O
51. Meetup Spring Madrid - WebFlux
Spring WebFlux - Cliente reactivo
microservicio microservicio microservicio
microservicio
DB DB DB
WebClient
Non - Blocking I/O
Non - Blocking I/O
52. Meetup Spring Madrid - WebFlux
Spring WebFlux - Cliente reactivo
Spring WebFlux - Cliente reactivo
56. Meetup Spring Madrid - WebFlux
Spring WebFlux - Conclusiones
● Creación de un proyecto con Spring WebFlux
● Diferencias entre Spring WebFlux y Spring MVC y sus respectivos stacks
● Flujo de trabajo
● Creación de servicios REST con Spring WebFlux
● Modelo de programación funcional
● Server Sent Events
● WebSockets
● Cliente reactivo
● Testing
57. Meetup Spring Madrid - WebFlux
Spring WebFlux - Conclusiones
Ref: https://medium.com/@the.raj.saxena
Rendimiento
Spring MVC Spring WebFlux
Spring MVC 1.5.10.RELEASE
Spring WebFlux 2.0.0.RELEASE
2500 users (4 requests/user)
58. Meetup Spring Madrid - WebFlux
Spring WebFlux - Conclusiones
Ref: https://medium.com/@the.raj.saxena
Rendimiento
Spring MVC Spring WebFlux
Spring MVC 1.5.10.RELEASE
Spring WebFlux 2.0.0.RELEASE
5000 users (4 requests/user)
59. Meetup Spring Madrid - WebFlux
Spring WebFlux - Conclusiones
Ref: https://medium.com/@the.raj.saxena
Rendimiento
Spring MVC Spring WebFlux
Spring MVC 1.5.10.RELEASE
Spring WebFlux 2.0.0.RELEASE
10000 users (4 requests/user)