Este documento presenta una introducción a los microservicios. Explica que los microservicios dividen las aplicaciones en múltiples servicios independientes y desplegables. Algunas ventajas son que los servicios son más simples y fáciles de probar, permiten el uso de diferentes lenguajes de programación, y si falla un servicio no afecta a los demás. También cubre patrones comunes como la comunicación entre servicios y la observabilidad. Finalmente, menciona herramientas como Spring Boot y Hystrix que facilitan el desarrollo con microservic
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation SlidesSlideTeam
Introducing DevOps On Cloud PowerPoint Template Slides PowerPoint Presentation Slides. Provide an overview of DevOps with this attention-grabbing PPT slideshow. This presentation helps to understand the need for DevOps, how it is different from traditional IT, DevOps use cases in business, lifecycle, roadmap, and so on. Provide an overview of how DevOps is different from agile by using the content-ready DevOps strategy PPT visuals. The slides also explain the roles, responsibilities, and skills of DevOps engineers. DevOps automation tools and DevOps roadmap for implementation in the organization can be discussed effectively. Provide an overview of DevOps on the cloud by describing cloud computing, characteristics of cloud computing, benefits, top risks related to cloud computing, etc. Cloud computing use cases and cloud deployment models can be presented with the help of visual attention-grabbing DevOps implementation roadmap PowerPoint slides. The roadmap to integrate cloud computing in business can be depicted easily by using the DevOps implementation strategy PowerPoint slideshow. https://bit.ly/3d8uYRY
YouTube Link: https://youtu.be/xuH81XGWeGQ
** Microservices Architecture Training: https://www.edureka.co/microservices-... **
This Edureka's video on Microservices Design Patterns talks about the top design patterns you can use to build applications. In this video, you will learn the following:
1:29 Why do we need Design Patterns?
3:41 What are Design Patterns?
4:28 What are Microservices?
6:00 Principles behind Microservices
10:24 Microservices Design Patterns
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
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.
Devops On Cloud Powerpoint Template Slides Powerpoint Presentation SlidesSlideTeam
Introducing DevOps On Cloud PowerPoint Template Slides PowerPoint Presentation Slides. Provide an overview of DevOps with this attention-grabbing PPT slideshow. This presentation helps to understand the need for DevOps, how it is different from traditional IT, DevOps use cases in business, lifecycle, roadmap, and so on. Provide an overview of how DevOps is different from agile by using the content-ready DevOps strategy PPT visuals. The slides also explain the roles, responsibilities, and skills of DevOps engineers. DevOps automation tools and DevOps roadmap for implementation in the organization can be discussed effectively. Provide an overview of DevOps on the cloud by describing cloud computing, characteristics of cloud computing, benefits, top risks related to cloud computing, etc. Cloud computing use cases and cloud deployment models can be presented with the help of visual attention-grabbing DevOps implementation roadmap PowerPoint slides. The roadmap to integrate cloud computing in business can be depicted easily by using the DevOps implementation strategy PowerPoint slideshow. https://bit.ly/3d8uYRY
YouTube Link: https://youtu.be/xuH81XGWeGQ
** Microservices Architecture Training: https://www.edureka.co/microservices-... **
This Edureka's video on Microservices Design Patterns talks about the top design patterns you can use to build applications. In this video, you will learn the following:
1:29 Why do we need Design Patterns?
3:41 What are Design Patterns?
4:28 What are Microservices?
6:00 Principles behind Microservices
10:24 Microservices Design Patterns
Follow us to never miss an update in the future.
YouTube: https://www.youtube.com/user/edurekaIN
Instagram: https://www.instagram.com/edureka_learning/
Facebook: https://www.facebook.com/edurekaIN/
Twitter: https://twitter.com/edurekain
LinkedIn: https://www.linkedin.com/company/edureka
Castbox: https://castbox.fm/networks/505?country=in
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.
¿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.
Microservice With Spring Boot and Spring CloudEberhard Wolff
Spring Boot and Spring Cloud are an ideal foundation for creating Microservices based on Java. This presentation explains basic concepts of these libraries.
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.
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
This is a deep journey into the realm of "microservice architecture", and in that I will try to cover each inch of it, but with a fixed tech stack of Java with Spring Cloud. Hence in the end, you will be get know each and every aspect of this distributed design, and will develop an understanding of each and every concern regarding distributed system construct.
Building Cloud-Native App Series - Part 2 of 11
Microservices Architecture Series
Event Sourcing & CQRS,
Kafka, Rabbit MQ
Case Studies (E-Commerce App, Movie Streaming, Ticket Booking, Restaurant, Hospital Management)
API Management within a Microservice ArchitectureWSO2
This slide deck will discuss API management's role in a microservices ecosystem. It will discuss the purpose of edge gateways and proxies and how that complements a well defined API management layer.
SecDevOps discussion from 2017 'All Things Open'. Discuss security champion idea as well as how to prepare for the common vulnerabilities. 'Security Champion' is the idea that a developer on an existing team represent the voice of security IN ADDITION TO any existing security safeguards in order to raise the bar of secure applications and dialog.
Funny stories and anti-patterns from DevOps landscapeMikalai Alimenkou
During last several years DevOps became strong buzzword used almost in every project, team and company. But almost everywhere it is used in very funny and strange context. For example, existing ops guys are renamed to DevOps just to sell them to the client for more money. Or DevOps is used as new job title for some magically powerful person who is able to operate cloud environment and modern infrastructure related tools, leading team of old school ops and participating in management meetings. In this talk I’m going to review all different anti-patterns and bad practices in DevOps landscape using stories from my personal experience as Delivery Manager and independent consultant.
This presentation about DevOps will help you understand what is DevOps, how is DevOps different from traditional IT, benefits of DevOps, the lifecycle of DevOps and tools used in DevOps processes. DevOps is one of the most trending IT jobs. It is a collaboration between development and operation teams which enables continuous delivery of applications and services to our end users. However, if you want to become a DevOps engineer, you must have knowledge of various DevOps tools (like Git, Maven, Selenium, Jenkins, Docker, Ansible, Nagios etc.) to achieve automation at each stage which helps in gaining Continuous Development, Continuous Integration, Continuous Testing and Continuous Monitoring in order to deliver a quality product to the client at a very fast pace. Now, let us get started and understand DevOps and does the various DevOps tools work.
Below are the topics explained in this DevOps presentation:
1. What is DevOps?
2. Benefits of DevOps
3. Lifecycle of DevOps
4. Tools in DevOps
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery, and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet, and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
DevSecOps ya no es una estrategia de nicho que pasa a segundo plano en DevOps, ahora es un movimiento de masas.
El año 2020 ha estado marcado por el rápido progreso de los paradigmas de DevOps transformadores, tales como: codesarrollo en comunidades globales, agnosticismo de plataforma, computación sin servidor, infraestructura como código, espacio de trabajo de extremo a extremo con experiencia unificada en todo el software. ciclo vital. Esa transformación de DevOps ha ofrecido una oportunidad única para la seguridad de las aplicaciones. Por primera vez en una década, es realista crear e integrar seguridad en un DevOps completo, convirtiéndolo así en DevSecOps. La ausencia de DevOps unificado, junto con la ausencia de herramientas nativas, fue un obstáculo para Sec. Ahora, el obstáculo se ha ido. DevOps ha dado un paso crítico hacia DevSecOps, que comenzó a ofrecer sus propias tecnologías de seguridad de aplicaciones.
Arquitectura de servicios distribuidos, trade-off, implementacion, experiencias y utilizacion de RabbitMQ como Message Broker entre servicios, beneficios de RabbitMQ. Experiencias con AWS Amazon Web Services.
¿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.
Microservice With Spring Boot and Spring CloudEberhard Wolff
Spring Boot and Spring Cloud are an ideal foundation for creating Microservices based on Java. This presentation explains basic concepts of these libraries.
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.
Understanding MicroSERVICE Architecture with Java & Spring BootKashif Ali Siddiqui
This is a deep journey into the realm of "microservice architecture", and in that I will try to cover each inch of it, but with a fixed tech stack of Java with Spring Cloud. Hence in the end, you will be get know each and every aspect of this distributed design, and will develop an understanding of each and every concern regarding distributed system construct.
Building Cloud-Native App Series - Part 2 of 11
Microservices Architecture Series
Event Sourcing & CQRS,
Kafka, Rabbit MQ
Case Studies (E-Commerce App, Movie Streaming, Ticket Booking, Restaurant, Hospital Management)
API Management within a Microservice ArchitectureWSO2
This slide deck will discuss API management's role in a microservices ecosystem. It will discuss the purpose of edge gateways and proxies and how that complements a well defined API management layer.
SecDevOps discussion from 2017 'All Things Open'. Discuss security champion idea as well as how to prepare for the common vulnerabilities. 'Security Champion' is the idea that a developer on an existing team represent the voice of security IN ADDITION TO any existing security safeguards in order to raise the bar of secure applications and dialog.
Funny stories and anti-patterns from DevOps landscapeMikalai Alimenkou
During last several years DevOps became strong buzzword used almost in every project, team and company. But almost everywhere it is used in very funny and strange context. For example, existing ops guys are renamed to DevOps just to sell them to the client for more money. Or DevOps is used as new job title for some magically powerful person who is able to operate cloud environment and modern infrastructure related tools, leading team of old school ops and participating in management meetings. In this talk I’m going to review all different anti-patterns and bad practices in DevOps landscape using stories from my personal experience as Delivery Manager and independent consultant.
This presentation about DevOps will help you understand what is DevOps, how is DevOps different from traditional IT, benefits of DevOps, the lifecycle of DevOps and tools used in DevOps processes. DevOps is one of the most trending IT jobs. It is a collaboration between development and operation teams which enables continuous delivery of applications and services to our end users. However, if you want to become a DevOps engineer, you must have knowledge of various DevOps tools (like Git, Maven, Selenium, Jenkins, Docker, Ansible, Nagios etc.) to achieve automation at each stage which helps in gaining Continuous Development, Continuous Integration, Continuous Testing and Continuous Monitoring in order to deliver a quality product to the client at a very fast pace. Now, let us get started and understand DevOps and does the various DevOps tools work.
Below are the topics explained in this DevOps presentation:
1. What is DevOps?
2. Benefits of DevOps
3. Lifecycle of DevOps
4. Tools in DevOps
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery, and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet, and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
DevSecOps ya no es una estrategia de nicho que pasa a segundo plano en DevOps, ahora es un movimiento de masas.
El año 2020 ha estado marcado por el rápido progreso de los paradigmas de DevOps transformadores, tales como: codesarrollo en comunidades globales, agnosticismo de plataforma, computación sin servidor, infraestructura como código, espacio de trabajo de extremo a extremo con experiencia unificada en todo el software. ciclo vital. Esa transformación de DevOps ha ofrecido una oportunidad única para la seguridad de las aplicaciones. Por primera vez en una década, es realista crear e integrar seguridad en un DevOps completo, convirtiéndolo así en DevSecOps. La ausencia de DevOps unificado, junto con la ausencia de herramientas nativas, fue un obstáculo para Sec. Ahora, el obstáculo se ha ido. DevOps ha dado un paso crítico hacia DevSecOps, que comenzó a ofrecer sus propias tecnologías de seguridad de aplicaciones.
Arquitectura de servicios distribuidos, trade-off, implementacion, experiencias y utilizacion de RabbitMQ como Message Broker entre servicios, beneficios de RabbitMQ. Experiencias con AWS Amazon Web Services.
Ojala que el exito de generar valor con Agile en tu equipo o empresa fuera tan facil como simplemente aplicar los conceptos y ya. Lamentablemente no es asi, se necesita constancia y algunos otros ingredientes, que te mostramos en esta presentacion, fruto de la experiencia de vivir el cambio, de haber fracasado mas de una vez y tambien haber tenido exito en otras ocasiones.
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CO v...Guillermo Javier Bellmann
Presentation about microservices architectures using Azure Service Fabric given at .NET Conf CO v2018 in Medellin, Colombia.
Presentación sobre arquitecturas de microservicios con Azure Service Fabric dada en .NET Conf CO v2018 en Medellín, Colombia.
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...Guillermo Javier Bellmann
Presentation about microservices architectures using Azure Service Fabric given at .NET Conf CL v2018 in Santiago, Chile.
Presentación sobre arquitecturas de microservicios con Azure Service Fabric dada en .NET Conf CL v2018 en Santiago, Chile.
Mecanismos y patrones para acelerar adopción en arquitecturas de microserviciosSoftware Guru
En esta charla explico tanto los problemas que se presentan asi como el patron y/o mecanismo para resolverlos dentro del contexto de microservicios.
Presentada por Miguel Enriquez en SG Virtual Conference 2020
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...MongoDB
Las arquitecturas de microservicios han sido adoptados muy rápidamente, debido a su capacidad para proveer modularidad, escalabilidad y alta disponibilidad
En este seminario web grabado, nuestros expertos, Rubén Terceño de MongoDB y Miguel Garrido de Paradigma Digital le explican cómo se puede usar microservicios para:
Alinear las estructuras de tu organización
Realizar aplicaciones más rápidamente
Hacer un uso eficiente de tus recursos
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.
In this talk, I will talk about what Cloud Native is and why it's important in the design of applications.
I will also address the challenges involved in writing Cloud Native applications in the JVM. The topics in details that will be discussed are:
Microservices arquitecture
Containers
Orchestration
Observability
CI, CD and Continuous Deployment
Security
An evening with... Microservices - Session 1Arkhotech
Si bien la tecnología de microservicios tiene ya un par de años, su uso más formal con implementaciones importantes en ambientes productivos es bastante reciente. En este meetup se hará un introducción mundo de los microservicios comenzando por los aspectos más teóricos, pasando por la descripción de arquitectura y buenas prácticas, para finalizar con un ejemplo práctico de implementación y un primer acercamiento al escalamiento.
Tema 3: Despliegue de aplicaciones web (Desarrollo Aplicaciones Web)Micael Gallego
Esta presentación corresponde al "Tema 3: Despliegue de aplicaciones web" de la asignatura "Desarrollo de Aplicaciones Web" de 3º del Grado en Ingeniería del Software de la ETSII en la Universidad Rey Juan Carlos.
Las arquitecturas sin servidores le permiten construir y ejecutar aplicaciones y servicios sin la necesidad de administrar la infraestructura que necesitan. Con las arquitecturas sin servidores en AWS su aplicación si se ejecuta en servidores pero toda la administración de los mismos la hace AWS.
En este webinar, usted aprenderá cómo construir aplicaciones y servicios mediante el uso de una arquitectura sin servidores o "serverless". Discutiremos cómo utilizar AWS Lambda para la ejecución de código para cualquier tipo de aplicación o servicio de backend; utilizar Amazon DynamoDB para almacenar los datos de la misma con una alta escalabilidad y redundancia; y utilizar Amazon API Gateway para crear y administrar puntos de conexión seguros API. También veremos un demo de cómo montar una arquitectura como estas y discutiremos las mejores prácticas y patrones utilizados por nuestros clientes para ejecutar aplicaciones sin servidores.
Objetivos de aprendizaje:
• Entender los conceptos básicos de arquitecturas sin servidores
• Aprender cómo usar Lambda, API Gateway y DynamoDB para ejecutar aplicaciones
¿Quién debería atender?:
• Desarrolladores, desarrolladores Web
Í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
(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.
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.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
2. AGENDA
• ¿Qué son los microservicios?
• ¿Por qué usar microservicios?
• Microservicios vs monolíticos
• Arquitectura microservicios
• Patrones usados en microservicios
• Herramientas para implementarlo
• Bibliografía
3. ¿QUÉ SON LOS
MICROSERVICIOS?
• Una forma particular de diseñar aplicaciones de
software como un conjunto de independiente de
servicios desplegables.
• Conjunción de diversos servicios independientes
que se despliegan según se vayan necesitando. Por
tanto, tendremos una aplicación modular a base de
pequeñas piezas, que podremos ir ampliando o
reduciendo a medida que sea necesario.
5. ¿POR QUÉ USAR
MICROSERVICIOS?
• Los servicios en sí son muy simples de construir, pues se centran en hacer
solamente una cosa bien, de forma que son fáciles de probar y se puede
asegurar mayor calidad.
• Cada servicio podría construirse con las tecnologías y herramientas más
adecuadas, permitiendo “Polyglot Programming” (las aplicaciones se deben
escribir en una mezcla de lenguajes para explotar sus mejores
características).
• Múltiples equipos pueden trabajar independientemente. Esto fomenta
“continuous delivery” debido a que permite actualizaciones frecuentes
mientras el resto del sistema se mantiene estable.
• Si un servicio deja de funcionar, solo afectará las partes que dependen
directamente de él (si las hay). El resto operará normalmente.
6. ¿POR QUÉ USAR
MICROSERVICIOS?
• Combinar los servicios como nos interese.
• Escalar a nivel de microservicios.
• Simplificación del mantenimiento.
• Su fallo no arrastra a todo el sistema.
• Podemos hacer despliegue progresivo, no
necesariamente todo junto.
16. PATRONES CORE
• Arquitectura monolítica: arquitectura de una
aplicación como una única unidad desplegable
• Arquitectura micro servicio: arquitectura de una
aplicación como una colección de servicios sin
acoplamiento
17. PATRONES DESCOMPOSICIÓN
• Descomponer por capacidades del negocio: definir
servicios correspondientes a las capacidades del
negocio
• Descomponer por subdominio: definir servicios
correspondiente a subdominio DDD (Domain Driven
Design)
18. PATRONES DE DESPLIEGUE
• Múltiples instancias de servicio por servidor: desplegar múltiples instancias de un
servicio en un único servidor
• Instancia de servicio por servidor: desplegar cada instancia de servicio en su propio
servidor
• Instancia de servicio por máquina virtual :desplegar cada instancia del servicio en su
propia VM.
• Instancia de servicio por contenedor: desplegar cada instancia del servicio en su
propio contenedor
• Despliegue Serverless: desplegar un servicio usando una plataforma de despliegue
Serverless (aplicaciones que dependen de terceros)
• Plataforma de despliegue de servicios: desplegar servicios usando una plataforma de
despliegue altamente automatizada que provea servicios de abstracción
19. PATRONES PREOCUPACIONES
TRANSVERSALES
• Micro servicio chasis: un framework que permite
resolver las preocupaciones transversales y
simplifica el desarrollo de servicios
• Externalizar configuraciones: dejar de manera
externa todas las configuraciones como locación de
base de datos y credenciales
20. PATRONES DE COMUNICACIÓN
• Remote Procedure Invocation: una un protocolo
basado en RPI para comunicación entre servicios
• Messaging: usa mensajes asíncronos para la
comunicación entre servicios
• Protocolo de dominio específico: una un protocolo
de dominio especifico.
21. API EXTERNA
• API gateway: un servicio que provee a cada cliente
una interface unificada de servicios
• Backend for front-end: un API gateway for each
separado para cada tipo de cliente.
22. API GATEWAY
• Es una capa abstracta que oculta a todos los
microservicios, dejando un único Endpoint para que
los clientes se comuniquen. Las solicitudes que
lleguen al Gateway serán procesadas/enrutadas
hacia los servicios específicos. El Gateway también
nos permite monitorear fácilmente el tráfico y uso de
los servicios.
23. DESCUBRIMIENTO DE
SERVICIOS
• Descubrimiento en el lado del cliente: consultas en el cliente a un registrador
de servicios para descubrir la locación de las instancias de servicios
• Descubrimiento en el lado del servidor: consultas a un registrador de servicios
para obtener la locación de las instancias de los servicios
• Registrador de servicio: una base de datos para encontrar las instancias de
los servicios
• Registro a si mismo: instancia del servicio que se registra a si mismo con el
registrador de servicio
• Registro tercera parte: registradores de un tercero que registra la instancia del
servicio con el registrador de servicios
24. CONFIABILIDAD
• Cortacircuitos: busca prevenir fallos en cascada de
los servicios por problemas de red. Para esto invoca
un servicio remoto a través de un proxy que falla de
inmediato cuando hay una tasa de fallo o el llamado
excede la capacidad
25. GESTIONAR CONSISTENCIA DE
DATOS
• Base de datos por servicio: cada servicio tiene su propia base de datos privada
• Base de datos compartida: servicios comparten una base de datos
• Arquitectura basa en eventos: usar eventos para mantener la consistencia de la
información a través de los servicios.
• Fuente de eventos: persistir agregados como secuencias de eventos.
• Cola de los de transacciones: publicar cambios como se capturan en el registro de
transacciones de la base de datos como mensajes
• Disparadores de base de datos: usar triggers para capturar cambios en los datos.
• Eventos de aplicación: la aplicación inserta eventos en una tabla de la base de datos que
es usada como una cola de mensajes
• CQRS: mantener una o más vistas materializadas que pueden hacer consultas eficientes
26. SEGURIDAD
• Token de acceso: un token que almacena de
manera segura la información sobre el usuario y
que se intercambia entre los servicios
27. TESTING
• Service Component Test: un conjunto de pruebas
de un servicio aislado usando simulaciones para
cualquier otro servicio que invoque.
• Service Integration Contract Test: un conjunto de
pruebas para un servicio que es escrito por los
desarrolladores de otro servicio que consume.
28. OBSERVABILIDAD
• Logs de aplicación: agregar logs a la aplicación
• Métricas de aplicación: instrumentar un código de servicio para obtener
estadísticas sobre operaciones.
• Logging de auditoria: almacenar las actividades del usuario en una base de datos
• Traza distribuida: instrumentar servicios con un código que se asigna a cada
petición externa con un identificador único que se pasa entre los servicios
• Rastreo de excepciones: reporta todas las excepciones en un servicio de
monitoreo de excepciones que agrega, deja traza y notifica a los desarrolladores
• Validar salud de la API: servicio de la API que retorna la salud de un servicio y al
cual se le puede hacer ping
29. PATRONES UI
• Composición fragmento de página en el lado del
servidor: construir una página web en el lado del
servidor componiendo fragmentos HTML que son
pintados por múltiples componentes
• Composición UI del lado del cliente: construir una
interfaz de usuario en el lado del cliente compuesta
por fragmentos que son pintados por múltiples
componentes
31. HYSTRIX PARA INGENIERÍA
RESILIENTE
• Hystrix es una librería ,
creada por Netflix,
diseñada para controlar la
interacción entre servicios
distribuidos; provee una
gran tolerancia a la
latencia y a los fallos.
• http://github.com/Netflix/H
ystrix
32. SPRING BOOT
• Permite crear fácilmente aplicaciones stand-alone,
aplicaciones que solo se necesita ejecutar.
• https://projects.spring.io/spring-boot/
34. TENER MUY PRESENTE
• Los micro servicios generan mayor complejidad en la arquitectura
• Se requiere cluster para conmutación por fallas y resiliencia
• Un simple llamado tradicional podría convertirse en un llamado de
procedimiento remoto (RPC), un REST o un mensaje asincrónico.
Los desarrolladores necesitan pensar más en problemas como la
latencia entre servicios, tolerancia a fallos, control de versiones, etc.
• Son más fáciles de probar por sí mismos, las pruebas de integración
end-to-end son más difíciles. Como el flujo de código es complejo,
puede ser difícil identificar en qué parte de la cadena se presentan
los errores.
35. “WHILE OUR EXPERIENCES SO FAR ARE POSITIVE COMPARED TO
MONOLITHIC APPLICATIONS, WE'RE CONSCIOUS OF THE FACT THAT
NOT ENOUGH TIME HAS PASSED FOR US TO MAKE A FULL
JUDGEMENT.”
JAMES LEWIS AND MARTIN FOWLER
HTTPS://MARTINFOWLER.COM/MICROSERVICES/
36. BIBLIOGRAFÍA
• Microservices [En línea]
<https://martinfowler.com/articles/microservices.html> [Consulta: 15 Enero
2017]
• ¿Por qué usar un enfoque de microservicios para crear aplicaciones? [En
línea] <https://docs.microsoft.com/es-es/azure/service-fabric/service-fabric-
overview-microservices> [Consulta: 15 Enero 2017]
• [En línea] <http://microservices.io/patterns/> [Consulta: 15 Enero 2017]
• [En línea] <https://projects.spring.io/spring-boot/> [Consulta: 15 Enero
2017]
• [En línea] <https://github.com/Netflix/Hystrix> [Consulta: 15 Enero 2017]