Este documento presenta una introducción a los microservicios. Define un microservicio como una arquitectura de aplicación modular donde cada servicio tiene un ámbito específico de diseño, implementación y gestión. Explica cinco patrones clave para microservicios como la conversión de XML a JSON, la orquestación transaccional de servicios, la ubicación de la orquestación, la publicación de APIs y la gestión de APIs. El objetivo es conocer los conceptos y mejores prácticas de los microservicios.
¿Qué tienen en común compañías como Amazon, eBay, Facebook, Google y Netflix, desde el punto de vista de su arquitectura de software?
Microservicios, un nuevo estilo de arquitectura de software.
Microservicios es una aproximacion de desarrollo en pequeños servicios, independientes uno del otro, que pueden ejecutarse en procesos aislados y que se comunican mediante un mecanismo ligero basado en api http
In this session, we’ll discuss the benefits of moving from monolithic to micro-services application architectures, and examine where micro-services can be used. We’ll share common transition strategies and relate them to the specifics of e-commerce and retail workloads, using customer examples. You’ll learn how to build micro-services using AWS services, and get a better understanding of the role of data storage, API endpoints and service discovery. Plus, you can learn from the real-life experience of Digital Goodie, an online retailing platform for connected commerce.
¿Qué tienen en común compañías como Amazon, eBay, Facebook, Google y Netflix, desde el punto de vista de su arquitectura de software?
Microservicios, un nuevo estilo de arquitectura de software.
Microservicios es una aproximacion de desarrollo en pequeños servicios, independientes uno del otro, que pueden ejecutarse en procesos aislados y que se comunican mediante un mecanismo ligero basado en api http
In this session, we’ll discuss the benefits of moving from monolithic to micro-services application architectures, and examine where micro-services can be used. We’ll share common transition strategies and relate them to the specifics of e-commerce and retail workloads, using customer examples. You’ll learn how to build micro-services using AWS services, and get a better understanding of the role of data storage, API endpoints and service discovery. Plus, you can learn from the real-life experience of Digital Goodie, an online retailing platform for connected commerce.
This is a small introduction to microservices. you can find the differences between microservices and monolithic applications. You will find the pros and cons of microservices. you will also find the challenges (Business/ technical) that you may face while implementing microservices.
A proper Microservice is designed for fast failure.
Like other architectural style, microservices bring costs and benefits. Some development teams have found microservices architectural style to be a superior approach to a monolithic architecture. Other teams have found them to be a productivity-sapping burden.
This material start with the basic what and why microservice, follow with the Felix example and the the successful strategies to develop microservice application.
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESSOAT
Les systèmes distribués ont largement évolués ces 10 dernières années, passant d’énormes applications monolithiques à de petits containers de services, apportant plus de souplesse et d’agilité au sein des systèmes d’information.
Le terme « Architecture microservice » a vu le jour pour décrire cette manière particulière de concevoir des applications logicielles.
Bien qu’il n’y ait pas de définition précise de ce style d’architecture, elles ont un certain nombre de caractéristiques communes basées autour de l’organisation de l’entreprise, du déploiement automatisé et de la décentralisation du contrôle du langage et des données.
Seulement, développer ces systèmes peut tourner au véritable casse-tête. Je vous propose donc un tour des concepts et différentes caractéristiques de ce type d’architecture, des bonnes et mauvaises pratiques, de la création jusqu’au déploiement des applications.
Kevin Huang: AWS San Francisco Startup Day, 9/7/17
Architecture: When, how, and if to adopt microservices - Microservices are not for everyone! If you're a small shop, a monolith provides a great amount of value and reduces the complexities involved. However as your company grows, this monolith becomes more difficult to maintain. We’ll look at how microservices allow you to easily deploy and debug atomic pieces of infrastructure which allows for increased velocity in reliable, tested, and consistent deploys. We’ll look into key metrics you can use to identify the right time to begin the transition from monolith to microservices.
The introduction covers the following
1. What are Microservices and why should be use this paradigm?
2. 12 factor apps and how Microservices make it easier to create them
3. Characteristics of Microservices
Note: Please download the slides to view animations.
Especificación de Arquitectura de SoftwareSoftware Guru
El objetivo de la plática es mostrar con un ejemplo como especificar la arquitectura de un sistema.
Hoy en día hay varios libros de Arquitectura de software que nos muestran: Que debemos hacer, Que podemos usar pero pocos nos dan un ejemplo concreto.
Esta platica está dirigida a aquellos colegas que quieren iniciar en el rol de Arquitecto de Software, que tienen la experiencia y conocimientos pero tienen duda de como plasmar sus decisiones de diseño ó se preguntan si su diseño es suficiente y correcto.
En esta platica se desarrolla en 2 partes:
En la 1ª. se repasaran algunos conceptos relativos a la práctica de Arquitectura tales como objetivo, requerimientos no funcionales, riesgos, restricciones, patrones, vistas, etc.
En la 2ª. parte se mostrará como hacer una especificación de Arquitectura de un caso real pero acotado.
Al final espero que el participante se quede con una referencia que sirva para mejorar su práctica de Diseño de Arquitectura.
A talk I gave at Kenzan Hack Nights meetup about Docker, Docker Compose and Docker Swarm. From the basics of Docker to how to run your own Docker Swarm Cluster with Docker Machine for containers orchestration.
Aprender que en el camino de la construcción de nuestras Aplicaciones de Negocio, después de la definición de la Arquitectura, el siguiente paso es crear la base de funcionalidades siguiendo el paradigma de SOA, es decir, crear servicios.
Entender que el “Backend” (lógica de negocio) debe estar siempre cerca del corazón de la Organización.
Comprender que el “Backend” es una parte de tu Aplicación y para tener una Aplicación completa, como mínimo es necesario el “Frontend”.
Interiorizar que desde el punto de vista Arquitectónico, el concepto de “Backend” está muy asociado al concepto de “Multi-tier” y que las configuraciones clásicas son “C/S”, “MVC”, etc.
This is a small introduction to microservices. you can find the differences between microservices and monolithic applications. You will find the pros and cons of microservices. you will also find the challenges (Business/ technical) that you may face while implementing microservices.
A proper Microservice is designed for fast failure.
Like other architectural style, microservices bring costs and benefits. Some development teams have found microservices architectural style to be a superior approach to a monolithic architecture. Other teams have found them to be a productivity-sapping burden.
This material start with the basic what and why microservice, follow with the Felix example and the the successful strategies to develop microservice application.
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESSOAT
Les systèmes distribués ont largement évolués ces 10 dernières années, passant d’énormes applications monolithiques à de petits containers de services, apportant plus de souplesse et d’agilité au sein des systèmes d’information.
Le terme « Architecture microservice » a vu le jour pour décrire cette manière particulière de concevoir des applications logicielles.
Bien qu’il n’y ait pas de définition précise de ce style d’architecture, elles ont un certain nombre de caractéristiques communes basées autour de l’organisation de l’entreprise, du déploiement automatisé et de la décentralisation du contrôle du langage et des données.
Seulement, développer ces systèmes peut tourner au véritable casse-tête. Je vous propose donc un tour des concepts et différentes caractéristiques de ce type d’architecture, des bonnes et mauvaises pratiques, de la création jusqu’au déploiement des applications.
Kevin Huang: AWS San Francisco Startup Day, 9/7/17
Architecture: When, how, and if to adopt microservices - Microservices are not for everyone! If you're a small shop, a monolith provides a great amount of value and reduces the complexities involved. However as your company grows, this monolith becomes more difficult to maintain. We’ll look at how microservices allow you to easily deploy and debug atomic pieces of infrastructure which allows for increased velocity in reliable, tested, and consistent deploys. We’ll look into key metrics you can use to identify the right time to begin the transition from monolith to microservices.
The introduction covers the following
1. What are Microservices and why should be use this paradigm?
2. 12 factor apps and how Microservices make it easier to create them
3. Characteristics of Microservices
Note: Please download the slides to view animations.
Especificación de Arquitectura de SoftwareSoftware Guru
El objetivo de la plática es mostrar con un ejemplo como especificar la arquitectura de un sistema.
Hoy en día hay varios libros de Arquitectura de software que nos muestran: Que debemos hacer, Que podemos usar pero pocos nos dan un ejemplo concreto.
Esta platica está dirigida a aquellos colegas que quieren iniciar en el rol de Arquitecto de Software, que tienen la experiencia y conocimientos pero tienen duda de como plasmar sus decisiones de diseño ó se preguntan si su diseño es suficiente y correcto.
En esta platica se desarrolla en 2 partes:
En la 1ª. se repasaran algunos conceptos relativos a la práctica de Arquitectura tales como objetivo, requerimientos no funcionales, riesgos, restricciones, patrones, vistas, etc.
En la 2ª. parte se mostrará como hacer una especificación de Arquitectura de un caso real pero acotado.
Al final espero que el participante se quede con una referencia que sirva para mejorar su práctica de Diseño de Arquitectura.
A talk I gave at Kenzan Hack Nights meetup about Docker, Docker Compose and Docker Swarm. From the basics of Docker to how to run your own Docker Swarm Cluster with Docker Machine for containers orchestration.
Aprender que en el camino de la construcción de nuestras Aplicaciones de Negocio, después de la definición de la Arquitectura, el siguiente paso es crear la base de funcionalidades siguiendo el paradigma de SOA, es decir, crear servicios.
Entender que el “Backend” (lógica de negocio) debe estar siempre cerca del corazón de la Organización.
Comprender que el “Backend” es una parte de tu Aplicación y para tener una Aplicación completa, como mínimo es necesario el “Frontend”.
Interiorizar que desde el punto de vista Arquitectónico, el concepto de “Backend” está muy asociado al concepto de “Multi-tier” y que las configuraciones clásicas son “C/S”, “MVC”, etc.
Mulesoft: Plataforma empesarial de integracionesLarry Magallanes
Primer Meetup de MuleSoft en Ciudad de Panamá. Se hace una introducción a SOA, APIs, Microservicios, API-Led Connectivity y a las principales herramientas de la suite de MuleSoft para soluciones de integración: Anypoint Platform
Derribando la torre de marfil - Plain Concepts Dev DayPlain Concepts
Los microservicios son el nuevo hype del desarrollo pero, ¿seguro que sabemos cómo y cuándo utilizarlos? En esta charla veremos, a través de un ejemplo de un caso de negocio, una breve introducción a los microservicios, ventajas y retos que plantea (no todo va a ser fácil), incluyendo buenas prácticas.
Segundo meetup de Mulesoft en Ciudad de Panamá. En este evento se hizo una breve pero completa introducción al Anypoint Platform con énfasis en el Design Center para el diseño e implementación de APIs y soluciones de integración. También se habla de buenas prácticas en general para el diseño de APIs.
MuleSoft Meetups Panama City 04 - MuleSoft API ManagerLarry Magallanes
Gobierno simple y eficiente de APIs usando MuleSoft Anypoint Platform y MuleSoft API Manager como base para la gestión de todo el ciclo de vida de los APIs
MuleSoft Meetup #5 de Ciudad de Panamá.
Mejoras y nuevas funcionalidades de la Anypoint Platform en sus releases del año 2019 incluyendo el reciente release de Mayo 2019 presentado en el MuleSoft CONNECT de Atlanta.
También se habla sobre el tema de monetización de APIs y la API Economy según el modelo de MuleSoft.
WSO2 API Manager y ESB la plataforma perfecta para evolucionar los serviciosWSO2
To view recording of this webinar please use the below URL:
http://wso2.com/library/webinars/2015/04/wso2-api-manager-y-esb-la-plataforma-perfecta-para-evolucionar-los-servicios/
En nuestra presentación vamos realizar una breve introducción a estas herramientas y abordar temas relacionados con lo mencionado anteriormente, realizando ejemplos y comentando buenas prácticas. Algunos de los tópicos que mostraremos son:
Exponiendo Servicios Complejos del ESB en un API Rest
Veremos un ejemplo y hablaremos del patrón de fachada API
OAuth 2.0, su implementación en API Manager
Veremos su implementación y hablaremos de seguridad API
Los 5 secretos mejor guardados del API Manager y que deberías conocer
Relacionaremos 5 peculiaridades muy interesantes y poco conocidas
Velocidad y escalamiento / alta disponibilidad
Realizaremos alguna prueba en directo de velocidad y mostraremos diferentes patrones de clusterización
En el webinar aprenderemos como exponer servicios del ESB desde el API Manager, cual es seguridad que subyace en esta exposición, varias formas de sacar mejor partido de la herramienta y sus posibilidades de crecimiento.
¿Qué debemos hacer desde Tecnología para estar alineados con la Transformac...Martín Cabrera
La industria financiera está experimentando una transformación digital que desafía fuertemente el modelo de negocios tradicional de los Bancos en todo el mundo. Como no podía ser de otra manera, dicha transformación está fuertemente apalancada en el uso de tecnología. Esta nueva realidad representa un tremendo desafío para toda la organización y en particular para los equipos de tecnología que por muchos años han estado concentrados principalmente en la continuidad operativa del negocio. ¿Qué debe hacer un equipo de tecnología para alinearse con esta transformación?, ¿cuáles deberían ser sus focos?…estas son algunas de las preguntas que abordará Martín durante su conferencia.
ILUMINATIC TECNOLOGIA | 3 Tecnologías Open Source para la Transformación Tecn...Jose Luis Bugarin Peche
Presentación de las 3 herramientas open source que están dirigiendo la transformación tecnológica para el desarrollo de aplicaciones. Elaborado por Jose Luis Bugarin
Presentación de referencia para tener una mirada rápida de como el lenguaje de programación java puede ayudarnos a implementar la inteligencia artificial. Elaborado por Jose Luis Bugarin de CONSULTORJAVA.com
Presentación que se usa en la charla sobre performance, apm, open source, elk https://consultorjava.com/blog/application-performance-management-en-aplicaciones-java/
presentación para poder entender y aprender sobre la facturación electrónica y sus componentes tecnológicos. Creado por @JLBUGARIN para http://iluminatic.com
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
¿Que son los microservicios?
1. Micro Servicios
Jose Luis Bugarin Peche
Arquitecto de Transformación Tecnológica
Docente Universitario UPC
2. Jose Luis Bugarin Peche
Ingeniero de Sistemas de la Universidad Nacional del Callao, con más de 10 años de experiencia como líder técnico, gerente
de proyectos y/o arquitecto SOA, asesoría en dirección de tecnologías empresariales. Con Maestría en Sistemas en la
Universidad del Callao.
Experiencia laboral:
- Interbank: Arquitecto de Tecnología en División de Arquitectura y Transformación Tecnológica.
- Corporación Grupo Romero: Arquitecto de Negocios
- Corporación Grupo Romero: Arquitecto Empresarial y Procesos tecnológicos
- Corporación Grupo Romero: Supervisor de Desarrollo Java e Integración
- Corporación Grupo Romero: AS Aplicaciones Empresariales
- PCM-ONGEI: Arquitecto SOA
Especializaciones:
- Cloud Computing, Tecnología de la información - Silicon Valley - USA
- IBM Interconnect – Las Vegas - USA
- HPE Discover, Tecnología de la información – Las Vegas - USA
- Gartner Application Archtecture, Development & Integration Summit – Las Vegas - USA
- Cloud Computing and IT Revolution en KISA – Seúl - Corea del Sur
4. ¿Que es un MicroServicio?
¿Servicio Pequeño?
¿Reusable?
¿Agilidad?
¿Moda?
Micro Servicio
¿Aplicación Pequeña?
5. ¿MicroServicio?
MicroServicio
• Es una arquitectura de aplicación.
• Su ámbito de diseño, implementación y gestión
es la modularización de aplicaciones.
• No es un concepto de integración de
aplicaciones.
• Para la integración los microservicios se
exponen en protocolos ligeros (ej. API
REST/JSON).
6. Ámbito de los servicios SOA y microservicios
• SOA se relaciona a la Arquitectura de Integración (pueden ser
servicios REST o SOAP)
• Microservicios se relaciona a la Arquitectura de Aplicación
7. Arquitectura basada en MicroServicios
Arquitectura de Integración
Arquitectura de Aplicaciones
8. Patrones
• Todo Micro servicio para su existencia debe de cumplir lo siguiente::
– Su ámbito de diseño, implementación y gestión es la modularización de
aplicaciones.
– No es un concepto de integración de aplicaciones.
– Para la integración los micros servicios se exponen en protocolos ligeros (ej. API
REST/JSON).
Patron 0: Un Microservicio esta en el ámbito de la arquitectura de aplicaciones.
MicroServicio
Arquitectura de Aplicaciones
9. Patrones
• Todo servicio SOAP expuesto en el back-end, puede s er consumido por un Micro
servicio como API REST, de la siguiente manera:
- Utilizar el API Gateway (on-premise para servicios on-premise y cloud para servicios
cloud)
- Producto disponible en Interbank: IBM API Connect+Datapower
- No es recommendable codificar en cada microservicio dicha conversión o crear
microservicios que solo hagan ello.
Patron 1: Conversion XML-to-JSON
Mapeo
10. Patrones
• Cuando se requiera realizar llamada a Servicios en secuencia de manera transaccional.
- Utilizar un orquestador transaccional de servicios.
- Producto disponible en Interbank: IBM BPM (Motor BPEL/SCA)
- No se recomienda codificar en microservicios toda la lógica de manejo de reintentos y gestión de errores en caso de
falla a la invocación de un servicio
Patron 2: Orquestación Transaccional de Servicios
Manejo de errores y rollback automático Compensación (cuando el servicio no soporta rollback automático)
11. Cloud
Back End
(On Premise)
Patrones
• La orquestación transaccional debe de estar localizada donde se necesite más. Esta
puede ser: Pegada a los back end, pegada al cloud o pegada a otro data center.
Patron 3: La Orquestación Transaccional debe hacerse cercano a la Fuente (BackEnd)
Otro DataCenter
12. Patrones
• Cuando se requiera publicar los APIs disponibles para otras aplicaciones (reuso).
- Utilizar un Portal de APIs.
- Producto disponible en Interbank: IBM API Connect
Patron 4: Publicación de APIs para reuso.
Publicación
13. Patrones
• Cuando se requiera monitorear el uso de los APIs indentificando tiempos de respuesta y
errores en ejecución.
- Utilizar API Management.
Patron 5: Gestión de APIs
Monitoreo
14. • Referencias:
• Microservices from Theory to
Practice: Creating
Applications in IBM Bluemix
Using the Microservices
Approach -
https://www.redbooks.ibm.co
m/redbooks.nsf/RedbookAbst
racts/sg248275.html
Gracias
• Contacto:
• jbugarin@iluminatic.com
• @jlbugarin - @iluminatic
Notas del editor
Bounded context — This pattern specifies that every component should use an autonomous
domain model that can run in isolation and has no dependencies on other components at
runtime. A microservice correlates to a bounded context. A microservice owns its own data.
■ Context map — A context map defines the boundaries of a system and the relationships among
bounded contexts. Development teams must be disciplined in maintaining this context map.
■ Event sourcing — The event sourcing pattern captures all application state changes as distinct
event objects. Event sourcing is the primary persistence model for a microservice, and events
drive most interactions between microservices.
■ CQRS — The Command Query Responsibility Segregation (CQRS) pattern uses separate
information models to support update and query functions, thereby ensuring adequate
performance and scalability of both types of functions.
■ BASE — The basically available, soft state, eventually consistent (BASE) transaction model is an
alternative to the atomicity, consistency, isolation and durability (ACID) transaction model. BASE
trades off absolute consistency for improved availability and scalability.