microservicios Introducción y conceptos generales
|
|
|
- María Pilar Gil Castillo
- hace 7 años
- Vistas:
Transcripción
1 microservicios Introducción y conceptos generales
2 Por que hablar de microservicios en FLISoL?
3 Comunidad Aprender y Compartir Software Libre
4 Qué es la arquitectura de microservicios? Es una interpretación de Service Oriented Architecture para construir sistemas distribuidos. A diferencia de SOA surge como resultado de la experiencia y no solo como una teoría.
5 Qué es la arquitectura de microservicios? Estructura: Conjunto de servicios desacoplados. Objetivo: Acelerar el desarrollo de software mediante la aplicación de un flujo completo de integración y despliegue continuos.
6
7 Qué es un microservicio? Es un artefacto de software que: Sigue la filosofía Unix Hace una sola cosa y la hace bien Tiene una área de dominio bien delimitada Es autónomo en su desarrollo Se puede instalar de manera independiente Automatiza cada etapa de su ciclo de vida (desarrollo, pruebas, empaquetado, despliegue y escala)
8 Ventajas de usar microservicios Permiten la integración de sistemas con tecnología heterogénea. Aceleran el ritmo de desarrollo al reducir el impacto en otros componentes del sistema.
9 Ventajas de usar microservicios Incrementan la resiliencia del sistema (capacidad de recuperarse ante un fallo). Adaptan su escala fácilmente a la demanda del sistema.
10 Desventajas de usar microservicios Mantener un sistema distribuido no es una tarea trivial. La consistencia de los datos es asíncrona y no transaccional. Aumenta la complejidad para probar y monitorear.
11 Por dónde empiezo? Analiza la estructura de tu organización Las organizaciones dedicadas al diseño de sistemas [...] están abocadas a producir diseños que son copias de las estructuras de comunicación de dichas organizaciones Melvyn Conway, 1967
12 Por dónde empiezo? Prepara a tu equipo Promueve una cultura de la automatización Potencia las habilidades existentes y desarrolla aquellas que hagan falta Implementa un flujo efectivo de Continuous Delivery
13 Por dónde empiezo? Evalúa el estado de tu proyecto Coding (practices, patterns, etc) Testing (unit, acceptance, functional, integration, coverage, performance) Deployment (infrastructure as a code, containers, h/a)
14 Por dónde empiezo? Define los objetivos del proyecto Objetivos estratégicos Principios Prácticas
15 Qué sigue? Definir los dominios del sistema Buscar los patrones de diseño y adecuarlos al diseño general (Comunicación, descubrimiento de servicios, consistencia de datos, seguridad, pruebas, etc.) Elegir las herramientas para implementar los componentes base del sistema (Infraestructura, pruebas, empaquetado, monitoreo, etc)
16 Definiendo la estructura del sistema Detalla el modelo general que gobernará la implementación: Definición de dominios (de acuerdo a la lógica de negocios) Estandarización de interfaces (reglas y contratos entre servicios) Mecanismos de comunicación (REST, RPC, etc)
17 Definiendo la estructura del sistema Identificar dominios (de acuerdo a la lógica y estructuras de negocio) Estandarizar interfaces (reglas y contratos entre servicios) Establecer mecanismos de comunicación (REST, RPC, etc)
18 Buscando patrones de diseño Ruteo (API Gateway) Descubrimiento de servicios (Service Registry) Consistencia de datos (Eventually consistent approach) Seguridad (Access Token)
19 API Gateway (Patrón de diseño) Service A... Client API Gateway Service N Legacy System
20 API Gateway (Herramientas) Netflix / zuul Kong Solución a la medida
21 Service Discovery (Patrón de diseño) Service Client Router Load balance query Service A Instance 1... Service A Instance N Router Register
22 Service Discovery (Herramientas)
23 Service Authentication (Patrón de diseño) Service Client Identity Server Microservice Obtain token Send request
24 Service Authentication (Herramientas) (XML Assertions) (JSON tokens firmados) (Misma funcionalidad que OID2 OpenID Connect pero amigable con los APIs)
25 Antiprácticas Intentar usar la última tecnología sin tener una razón para ello Intentar crear un sistema desacoplado antes de tener claros los dominios de cada aplicación If you can't build a well structured monolith what makes you think microservices are the answer?
26 Antiprácticas Mantener más de un servicio en un mismo repositorio Usar una misma base de datos para mas de un servicio
27 Antiprácticas Exponer todos los componentes del servicio de manera pública Tener dependencias entre despliegues de diferentes servicios
28 Antiprácticas Pensar que la automatización viene después
29 Referencias NEWMAN, Sam (2015), Building Microservices, USA: ed. O'Reilly NADAREISHVILI, et al (2016), Microservices Architecture, USA: ed. O'Reilly RICHARDSON, C., A pattern language for microservices, Última consulta 21 Abr FOWLER, M., Microservices Resource Guide, Última consulta 21 Abr
30
DevOps: primeros pasos
DevOps: primeros pasos Club de Investigación Tecnológica Allan Cascante Martín Flores 27 de Julio. 2016 Agenda La idea detrás de DevOps Beneficios Prácticas para lograr ser DevOps Conclusiones Administradores
Reduciendo el Time to Market: Cómo DevOps transforma los procesos de TI y le brinda mayor agilidad al negocio
Reduciendo el Time to Market: Cómo DevOps transforma los procesos de TI y le brinda mayor agilidad al negocio Marcelo Corcilli Max Garcia Red Hat Argentina Software Cambia los Negocios Retail Finance Media??
BROKER Publicador Suscriptor. Jonnathan Corredor Lorena Arrieta Alejandro Mosquera
BROKER Publicador Suscriptor Jonnathan Corredor Lorena Arrieta Alejandro Mosquera Contenido 1. Descripción General 2. Guía de Implementación 3. Patrones Relacionados 4. Usos Conocidos 5. Variaciones 6.
Tema 1: Patrones Arquitectónicos
escuela técnica superior de ingeniería informática Tema 1: Patrones Arquitectónicos Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software de Gestión III Ejemplo de otro dominio Diseño
20247 Configuración e implementación de una nube privada
20247 20247 Configuración e implementación de una nube privada Fabricante: Microsoft Grupo: Sistemas Operativos Formación: Presencial Horas: 25 Subgrupo: Microsoft Windows Server 2012 Introducción Este
Tema 1: Patrones Arquitectónicos
escuela técnica superior de ingeniería informática Tema 1: Patrones Arquitectónicos Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software de Gestión III Índice Definiciones Qué es un
Aprovechar las capacidades nativas de los dispositivos. Diseño y experiencia de usuario nativa. Seguridad y reportes automáticos e integrales
La plataforma de movilidad de Kony es una tecnología abierta e integrada, basada en estándares para el desarrollo de aplicaciones móviles. Es compatible con todo el Ciclo de Vida de Desarrollo de Aplicaciones
Coordinación de Formación de Capital Humano en el Campo Espacial. Mario M. Arreola Santander
Coordinación de Formación de Capital Humano en el Campo Espacial Dirección de Divulgación de la Ciencia y Tecnología Espacial Big Data Conferencia Internacional de Archivistica Mario M. Arreola Santander
Service Oriented Architecture
Programación Concurrente y Distribuida Ingeniería en Informática Service Oriented Architecture José Carlos Cortizo Pérez [email protected] http://www.esp.uem.es/jccortizo D. Sistemas Informáticos
PROCESAMIENTO DISTRIBUIDO
Pág. 1 INTRODUCCIÓN PROCESAMIENTO DISTRIBUIDO Arquitectura de comunicaciones: Software básico de una red de computadoras Brinda soporte para aplicaciones distribuidas Permite diferentes Sistemas Operativos
APIFICACION y DevOps. Iván Sampedro Postigo Oracle Cloud Platform Sales Consultant. TIC en la Modernización de la Justicia.
TIC en la Modernización de la Justicia. APIFICACION y DevOps Iván Sampedro Postigo Oracle Cloud Platform Sales Consultant Copyright 2014 Oracle and/or its affiliates. All rights reserved. APIficación Copyright
Implementación de Soluciones de Infraestructura Microsoft Azure
Implementación de Soluciones de Infraestructura Microsoft Azure (Implementing Microsoft Azure Infrastructure Solutions) Duración: 40 horas Código: MS-20533 Descripción: Este curso está dirigido a profesionales
El 80% de las compañías desarrollan software de forma a día de hoy obsoleta
Imagen Dragon El 80% de las compañías desarrollan software de forma a día de hoy obsoleta Productos que nunca van lentos y nunca se caen El time to market ya no se mide con el calendario, se mide con
Orquestación de Microservicios Introducción a arquitecturas de desarrollo modernas basadas en sistemas distribuidos.
Orquestación de Microservicios Introducción a arquitecturas de desarrollo modernas basadas en sistemas distribuidos. Expositor Nombres: Jaider Anillo Garcia Perfil: Jaider es Ingeniero de Sistemas de la
Descripción. Objetivos de Aprendizaje. Estructura y Contenidos
Descripción El programa de aplicaciones híbridas tiene un enfoque de programación para dispositivos móviles que combina los puntos fuertes de la programación nativa y el desarrollo de aplicaciones web
Arquitectura de Software
Arquitectura de Software Ing. Gustavo Andrés Brey Ing. Nicolas Passerini 2005 Agenda # 1 2 3 4 5 Tema Introducción Ciclo de Vida Estructuras y Vistas Arquitectónicas Break y TPs Influencias y Entradas
Víctor Cornejo Espinoza. Solution Architect. [email protected]
MICROSERVICES ARCHITECTURE Víctor Cornejo Espinoza Solution Architect [email protected] AGENDA Arquitectura Monolítica Escalabilidad en 3 dimensiones Desafíos de hoy Arquitectura Microservicios JBoss
Enterprise Integration Patterns. Apache Camel. Domingo Suárez Torres CTO SynergyJ
Enterprise Integration Patterns Apache Camel Domingo Suárez Torres CTO SynergyJ Objetivo Comprender los beneficios de usar Patrones para Integrar aplicaciones usando OpenSource con Apache Camel 2 Agenda
Aplicaciones y Servicios Web (Web Services)
Aplicaciones y Servicios Web (Web Services) Joaquín Salvachúa DIT- [email protected] -1- Internet NG Índice Problema a resolver Arquitectura SOAP WSDL UDDI Conclusiones -2- Internet NG Aplicaciones WEB
20246C Monitoreo y operación de una nube privada
20246C 20246C Monitoreo y operación de una nube privada Fabricante: Microsoft Grupo: Sistemas Operativos Formación: Presencial Horas: 25 Subgrupo: Microsoft Windows Server 2008 Introducción Este curso
Desarrollo de WebServices- GEL XML
Desarrollo de WebServices- GEL XML Interoperabilidad de sistemas de información. Introducción Nexura provee una plataforma de servicios, consultoría y desarrollo basada en los estándares para WebServices
Tema 3.1: Introducción a Servicios Web
Tema 3.1: Introducción a Servicios Web Servicios Web (1) La Web proporciona un mecanismo de transporte universal, eficiente, robusto, escalable y probado tanto en aplicaciones inter-organización como intraorganización.
Patrones de Software para la Asignación de Responsabilidades
Patrones de Software para la Asignación de Responsabilidades Unidad 2 Patrones de Diseño de Software Patrones Un patrón es una descripción de un problema y cómo resolverlo Descripción Escenario Solución
2.5 DISEÑO ARQUITECTONICO
MODULO II Ingeniería de Software INF - 163 2.5 DISEÑO ARQUITECTONICO 18/10/2012 Resumen preparado por Miguel Cotaña 1 Architecture Business Cycle - ABC Los requerimientos no determinan del todo la arquitectura,
Propuesta framework de herramientas para el desarrollo de aplicaciones en un modelo colaborativo. Ricardo Borillo Domenech
Propuesta framework de herramientas para el desarrollo de aplicaciones en un modelo colaborativo Ricardo Borillo Domenech [email protected] Índice Introducción y objetivos Arquitectura básica del sistema
Plataforma ESB Adaptativa para Sistemas Basados en Servicios
Plataforma ESB Adaptativa para Sistemas Basados en Servicios Ing. Laura González Agosto - 2011 Tesis de Maestría en Informática Supervisor y Orientador: Dr. Ing. Raúl Ruggia Instituto de Computación Facultad
CAPÍTULO I Investigación Preliminar
CAPÍTULO I Investigación Preliminar 1.1 Introducción Según la descripción dada en la página web oficial, Go (conocido también como Golang), es un lenguaje de programación de código abierto que hace simple
Testing Software S.A
Testing S.A [email protected] www.testingsoft.com Tel. Oficina: +506 2573.6959, Costa Rica Testing se complace en presentar su oferta de Capacitación para el año 2014. Nuestra Capacitación está divida
TEMA 5. Otras arquitecturas distribuidas IV. Web Services
TEMA 5. Otras arquitecturas distribuidas IV. Web Services IV. Web Services 1. Qué son los Web Services? 2. Ejemplos de Web Services 3. Tecnologías y arquitectura 3.1. Arquitectura 3.2. Lenguaje de descripción:
El Modelo de Integración basado en Servicios
El Modelo de Integración basado en Servicios Agenda Conceptos SOA Por qué SOA? Gobierno SOA Qué ofrece DATA ADVISER Tibco y SOA Tibco y DATA ADVISER Conceptos SOA qué es SOA y por qué las empresas deberían
Diseño: Arquitectura de Software. IF 7100 Ingeniería del Software
Diseño: Arquitectura de Software IF 7100 Ingeniería del Software 1 Qué es arquitectura de software? Es la definición de una solución estructurada que cumpla todos los requerimientos técnicos y operacionales,
Diseño de software seguro: procesos de diseño seguro, interconectividad, modelado de amenazas, arquitecturas de aplicación y técnicas aplicables.
PROGRAMACIÓN SEGURA Introducción a la seguridad de la información: se presenta la seguridad en relación a los proyectos de desarrollo de software y los conceptos fundamentales a tener en cuenta para el
BPEMM: Procesos de Negocio implementados por servicios
: un modelo de medidas de ejecución para Procesos de Negocio implementados por servicios Dra. Ing. Andrea Delgado, InCo, FING, UdelaR Montevideo, Uruguay, Octubre 2013 Agenda 2 Motivación Medición de la
Introducción a Web Services
Introducción a Web Services Introducción internet Otros Java Organización A Organización B.Net Introducción Sistemas distribuidos procesamiento de la información está distribuido en dos o más computadoras
20488 Desarrollo de Microsoft SharePoint Server 2013 Core Solutions
20488Be 20488 Desarrollo de Microsoft SharePoint Server 2013 Core Solutions Fabricante: Microsoft Grupo: Desarrollo Subgrupo: Microsoft Sharepoint 2013 Formación: Presencial Horas: 25 Introducción En este
1. ARQUITECTURA SOA 1.1. FUNDAMENTOS DE SOA. Encapsulación de la lógica en servicios. Relación entre servicios ARQUITECTURA SOA
12 En esta sección se comentará con mayor detenimiento tanto los principios de la programación orientada a servicios como las tecnologías y especificaciones empleadas para llevarlos a cabo. 1. ARQUITECTURA
SISTEMAS DISTRIBUIDOS MÓDULO 9. Web Services en Sistemas Distribuidos. Arquitectura Orientada a Servicios
SISTEMAS DISTRIBUIDOS MÓDULO 9 Web Services en Sistemas Distribuidos Arquitectura Orientada a Servicios Servicios Web: Estructura y Funcionalidades Protocolo de Comunicación: Soap y Rest Lenguaje Descriptor
Ingeniería del Software Herramientas CASE Que es CASE? Ingeniería de sistemas asistida por computadoras (Computer-aised system engineering, o CASE)
Que es CASE? Ingeniería de sistemas asistida por computadoras (Computer-aised system engineering, o CASE) es la aplicación de la tecnología de la información a las actividades, técnicas y a las metodologías
Programación Web Tema 1: Arquitectura C / S
Programación Web Tema 1: Arquitectura C / S Miguel Ángel Manso Emerson Castañeda ETSI en Topografía, Geodesia y Cartografía - UPM Basado en la presentación de: Patricio Martínez Barco y Armando Suárez
ITILv3-Transición del Servicio de Información. Figuras basadas en material ITIL
ITILv3-Transición del Servicio de Información Figuras basadas en material ITIL Fundamentos de ITIL Edición 2011 Transición del Servicio Transición del Servicio Transición del Servicio Definición Terminología
Curso Developing ASP.NET MVC 4 Web Applications (20486)
Curso Developing ASP.NET MVC 4 Web Applications (20486) Programa de Estudio Curso Developing ASP.NET MVC 4 Web Applications (20486) Aprende a desarrollar aplicaciones avanzadas de ASP.NET MVC usando tecnologías
2. APROXIMACIÓN A SOA: EL ESB
17 2. APROXIMACIÓN A SOA: EL ESB Uno de los desafíos que uno puede encontrarse a la hora de considerar la integración entre servicios es la administración de todas las conexiones. Si se tienen interfaces
1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).
1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada
Evolución del Desarrollo WEB
Evolución del Desarrollo WEB Antonio José Sáenz Albanés (C.T.O) Reconocimiento No Comercial Compartir Igual - 2.5 - España 1 Introducción El desarrollo de aplicaciones WEB ha evolucionado por los siguientes
Generación automática de API REST a partir de API Java, basada en transformación de Modelos (MDD).
XX Workshop de Investigadores en Ciencias de la Computación 629 Generación automática de API REST a partir de API Java, basada en transformación de Modelos (MDD). Ariel Arsaute, Fabio Zorzan, Marcela Daniele,
Oracle Access Manager: Administración
Oracle University Contact Us: +34916267792 Oracle Access Manager: Administración Duration: 4 Days What you will learn Este curso proporciona un contexto para utilizar los sistemas de identidad Oracle Access
Implementación de Servicios Web Semánticos para Arquitecturas SOA
Implementación de Servicios Web Semánticos para Arquitecturas SOA Lucio Marcelo Quispe Ortega Directores: Dr. Alberto Córdoba Dr. Jesús Villadangos Defensa de Trabajo de Fin de Máster Septiembre, 2011
Desarrollo Software Gran Escala
Desarrollo Software Gran Escala Herramientas de Desarrollo (Parte 3: Generadores y Constructores) Diferentes tipos de herramientas Controladores de versión Ambientes de desarrollo Pruebas y Depuración
Siscotel. Corporativa Parte II
Siscotel Una Visión de Arquitectura TI Corporativa Parte II Como parte medular de los servicios que ofrece Siscotel, esta nuestra vasta experiencia, en arquitectar e implantar integración de sistemas/aplicaciones
Creando una AOS con PHP: Patrones de Diseño de Servicios Web
Creando una AOS con PHP: Patrones de Diseño de Servicios Web Jesús M. Castagnetto, Ph.D. Linux Week 2010 15 19 de Marzo, 2010 Linux IDES - Pontificia Universidad Católica del Perú Lima, Perú Advertencia
Java EE 6: Desarrollo de componentes de negocio con JMS y EJBs
Oracle University Contact Us: 001-855-844-3881 Java EE 6: Desarrollo de componentes de negocio con JMS y EJBs Duration: 4 Days What you will learn Esta capacitación Java EE 6: Desarrollo de componentes
FACULTAD DE INGENIERÍA
FACULTAD DE INGENIERÍA FORMACIÓN EN INGENIERÍA DE SOFTWARE Y BASES DE DATOS EN LOS ESTUDIANTES DE LA CARRERA DE ING. EN COMPUTACIÓN DE LA FI, UNAM EN EL PLAN DE ESTUDIOS 2015 MAYO, 2015 Porcentaje de alumnos
