Este documento presenta una discusión sobre arquitectura orientada a servicios (SOA), REST, y microservicios. Explica que SOA implica demasiadas cosas y puede ser complejo de implementar. REST se basa en JSON sobre HTTP y APIs hipermedia. Los microservicios implican dividir aplicaciones en servicios funcionales independientes y pequeños que se comunican a través de protocolos ligeros como HTTP.
Arquitectando la seguridad de punta a punta a nivel corporativo - https://aws.amazon.com/es/security
Más informacion: http://aws.amazon.com/es/colombia/
Automatización del despliegue de aplicaciones multi cloudSoftware Guru
Platicaremos sobre opciones para la automatización del despliegue de aplicaciones en ambientes multi cloud (AWS, Azure), utilizando herramientas de Infrastructure as Code y configuration management. Primero daremos un panorama teórico de lo que sucede y luego mostraremos ejemplos usando Terraform y Ansible.
Con el lanzamiento de ASP.NET Core se abrieron puertas para desplegar aplicaciones y microservicios usando herramientas antiguamente disponibles para otros Stacks. Pablo Castro Gonzalez y Eduardo Campañó presentan este modelo de arquitectura y como utilizarla con ASP.NET Core y Docker.
Arquitectando la seguridad de punta a punta a nivel corporativo - https://aws.amazon.com/es/security
Más informacion: http://aws.amazon.com/es/colombia/
Automatización del despliegue de aplicaciones multi cloudSoftware Guru
Platicaremos sobre opciones para la automatización del despliegue de aplicaciones en ambientes multi cloud (AWS, Azure), utilizando herramientas de Infrastructure as Code y configuration management. Primero daremos un panorama teórico de lo que sucede y luego mostraremos ejemplos usando Terraform y Ansible.
Con el lanzamiento de ASP.NET Core se abrieron puertas para desplegar aplicaciones y microservicios usando herramientas antiguamente disponibles para otros Stacks. Pablo Castro Gonzalez y Eduardo Campañó presentan este modelo de arquitectura y como utilizarla con ASP.NET Core y Docker.
En este presentación usada para impartir un webinar, se revisan conceptos de Virtualización y Cloud para explicar que es un Virtual Private Server (VPS) los acalnces y limitaciones de este modelo y sus diferencias con un servidor dedicado y el Hosting compartido.
¿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.
Redhat Open Day - Integracion JBoss Fuse A-MQAdrian Gigante
Conozca como nuestro bus de servicios empresariales Red Hat JBoss Fuse proporciona una mejor gestión de la información maximizando el valor de sus aplicaciones, reduciendo los tiempos de respuesta operativos, agilizando la toma de decisiones inteligentes para su negocio en tiempo real.
En este presentación usada para impartir un webinar, se revisan conceptos de Virtualización y Cloud para explicar que es un Virtual Private Server (VPS) los acalnces y limitaciones de este modelo y sus diferencias con un servidor dedicado y el Hosting compartido.
¿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.
Redhat Open Day - Integracion JBoss Fuse A-MQAdrian Gigante
Conozca como nuestro bus de servicios empresariales Red Hat JBoss Fuse proporciona una mejor gestión de la información maximizando el valor de sus aplicaciones, reduciendo los tiempos de respuesta operativos, agilizando la toma de decisiones inteligentes para su negocio en tiempo real.
Machine Learning es una rama de la inteligencia artificial, que nos permite utilizar algoritmos que pueden operar sobre datos para determinar comportamiento, patrones, preferencias, etc.
Apache Mahout es una librería de código abierto que implementa una diversidad de algoritmos de Machine Learning, que bien pueden ser usados para construir un motor de recomendaciones para dirigir compras.
Cada día se desarrollan tecnologías que aprovechan mejor las capacidades de los navegadores, el soporte para HTML 5 y CSS 3 mejora cada día y se pueden encontrar librerías JavaScript que ofrecen soporte para lo mas moderno u ofrecen un fallback para funcionar en navegadores anticuados.
Los usuarios cada vez sufren mas el fenomeno de la inmediatez, si el sitio web tarde en contestar se desesperan y se cierran el tab, perdemos al usuario. Por eso es importante que un sitio sea muy rápido y que ofrezca la información que el usuario busca.
En esta charla hablare de como hemos empezado a adoptar Single Page Interface y de los retos que esto significa, como Bookmarking, SEO y otros. Así como de las librerías JavaScript (microframeworks) que evaluamos y que finalmente terminamos usando.
En esta sesión analizaremos el caso de un proyecto que se realizó para una institución financiera para manejar el almacenamiento y búsqueda de grandes cantidades de datos. La implementación utiliza un cluster de 24 nodos distribuidos para manejar y buscar miles de millones de documentos que representan cientos de terabytes. Entre las tecnologías que se utilizaron están StorageGrid y ElasticSearch.
En esta plática compartiremos algunos de los principales retos técnicos del proyecto, y cómo se resolvieron.
Presentación sobre Reactive Programming en la JVM para el meetup JVM_MX.
Se mostraron conceptos sobre Reactive Programming y Functional Reactive Programming con la biblioteca RxJava de Netflix.
Testing as a Service: Desarrollo del mercado en Paraguay - Alfonso Mariano Fe...GeneXus
Partiendo de la estrategia presentada en la charla anterior (Testing as a Service: Nuevas oportunidades), la empresa Consultores Informáticos compartirá su experiencia en el mercado de Paraguay.
¿Cómo introducir el testing dentro de una metodología de desarrollo? ¿Cómo crear conciencia de la importancia del testing? ¿Cómo ofrecer servicios de testing?
Estas preguntas aparecieron en Consultores Informáticos y las respondimos cambiando nuestra metodología de trabajo con el apoyo de GeneXus Consulting.
Compartiremos el origen, proceso y resultados de estos cambios que se dieron en nuestra organización, para que las empresas que se inician en esto conozcan un testimonio real sobre el proceso de introducir el testing dentro de la cartera de servicios de una empresa de desarrollo.
03 Service Oriented Architecture Series - Basic SOA ArchitecturePouria Ghatrenabi
Service Oriented Architecture (SOA) is the secret sauce of many software integration and internet technologies. The SOA Series includes five presentations based on IBM SOA Associate Certificate. It gives a very concise, practical overview of SOA concepts. The third presentation discusses the characteristics of a basic SOA architecture, IBM SOA Reference Architecture, enterprise service bus (ESB), role of Web Services and messaging, and the the stages of the SOA lifecycle
Convergence of Internet of Things and ECM to Build the Connected EnterpriseNuxeo
ECM technologies must evolve to keep up with the explosive growth of Internet of Things. This webinar will show how the convergence demands the need for a modern ECM platform.
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
El desarrollo de aplicaciones web ha evolucionado muchísimo en los últimos años. Las interfaces de usuario que queremos diseñar son cada vez más avanzadas y requieren del uso de nuevas técnicas de desarrollo (y escribir mucho código en la capa correspondiente al navegador, principalmente en JavaScript). Conceptos como SPA, Ajax, patrones MV* están alcanzando el top en los stacks de desarrollo habituales.
Por suerte existen innumerables frameworks y herramientas para facilitarnos el trabajo, pero hay tantas que cuando nos enfrentamos a un nuevo proyecto, nos surgen una serie de inevitables preguntas…
http://dotnetters.es/evento/desarrollo-moderno-aplicaciones-web/
http://programadorphp.org
En esta presentación que hice para la Asociación de Webmasters de Granada y como parte de un trabajo para Redes de Computadores en la ETSIIT he explicado qué es un servidor, concretamente un servidor web, la evolución de este tipo de software hasta hoy en día desde que apareció, además de abordar otros temas relacionados: qué software usar para reconocer un webserver: apache, iis, cherokee, django, lighttpd, zeus, google web server, etc. Además de un pequeño análisis del gestor de difusión de contenidos de tuenti utilizado para compensar la carga del sistema a través de la división entre varios servidores con su caché, etc.
Presentación hecha en el SpringIO 2012 en Madrid España. Donde se muestra un poco de la experiencia adquirida durante el desarrollo y puesta a producción de la plataforma de eCommerce mas grande de LatinoAmerica construida con Grails
Desarrollando aplicaciones empresariales con Xamarin.Forms, Docker, MVVM y ....Yhorby Matias
Las aplicaciones móviles hoy en día se vuelven cada vez mas complejas y los requerimientos para las mismas cambian constantemente. Es imperativo construir una arquitectura flexible y moderna tanto en la aplicación como para el back-end, esto significa que las aplicaciones deben construirse a partir de varios componentes más pequeños que funcionen juntos sin problemas. En esta sesión, exploraremos una arquitectura de extremo a extremo para construir una aplicación móvil empresarial moderna y su back-end. La aplicación está construida con Xamarin.Forms, basada en los principios de MVVM. En el back-end, la aplicación conecta con una API basada en microservicios, construida con ASP.NET Core y alojada con Docker.
Pues volvemos de nuevo a la carga con un nuevo meetup donde os vamos a contar cómo podeis optimizar al máximo los recursos que CloudHub nos ofrece como por ejemplo:
1.- Saber dimensionar el número de operaciones por API
2.- Aplicar buenas prácticas para no saturar los recursos
3.- Aprovechar al máximo el 0.1 vCore
4.- Cuando escalar vertical y horizontalmente un API
5.- Utilizar herramientas de análisis de código como Sonar
aspectos de las aplicaciones y la configuración son necesarias a verificar para ejecutar cargas de trabajo en un entorno seguro.
Desde el ensamblaje de las imágenes de los contenedores a la seguridad de ETCD y acceso externo a elementos del cluster son importantes a considerar.
Kubernetes es una plataforma demasiado popular en este momento, todo mundo la usa o quiere usarla, pero es muy importante conocer las consideraciones y malos usos en los que algunos equipos caen al ejecutar aplicaciones Java.
Hableremos historia de los contenedores, por qué son necesarios, cómo docker llegó a cambiar el panoram, competencia de docker (rkt, etc.), la mejor ruta de aprendizaje y mejores prácticas.
Todo mundo habla de los beneficios de la arquitectura de microservicios, pero poco hay sobre los retos que esta arquitectuta introduce.
En esta presentación les compartimos un poco sobre algunos de los retos a los que nos hemos enfrentado en el campo.
DevFest Lima Corriendo cargas e trabajo seguras en GKE con IstioDomingo Suarez Torres
Istio es una nueva plataforma Open Source para conectar, administrar y asegurar microservicios, creado por IBM, Google y Lyft. En esta sesión se proporcionan detalles técnicos generales del proyecto Istio y una parte práctica de varias características de Istio, tales como trafico de ingreso, cumplimiento de políticas, telemetría y seguridad. Además se abordarán practicas que nos permitirán crear contenedores mucho más seguros.
El monitoreo no es suficiente, necesitamos más visibilidad de lo que ocurre en nuestra infraestructura, veremos como en sistemas distribuidos podemos tener trazabilidad y monitoreo para mantener saludables nuestros componentes.
Esta sesión comparte desde un punto de vista técnico las experiencias y aprendizajes obtenidos al orquestar contenedores usando la tecnología Kubernetes en SUNAT, la dependencia de gobierno federal en Perú encargada de la administración tributaria.
En esta charla se abordarán los diversos retos que se presentan cuando se requieren diseñar APIs REST usando la JVM. Los retos que se deben afrontar son diversos y cada uno de ellos tiene su contexto y complejidad.
Contrato del API. ¿Cómo no romper el API? ¿Cómo proveer soporte para diversas versiones? ¿Cómo documentar?
Modelo de programación del API. ¿Qué tipo de REST hacer? ¿Qué framework elegir? ¿Qué lineamientos de desarrollo seguir? ¿Debemos crear un cliente del API? ¿Debemos generar clientes del API para dispositivos móviles?
¿Debe ser mi API distribuida? ¿Necesito interactuar con sistemas externos? ¿Cómo debe mi API soportar caídas de sistemas externos? ¿Qué es eso de resiliencia? ¿Debe ser mi API residente por diseño?
¿Debo soportar altas cargas de tráfico en cortos períodos de tiempo? ¿Cómo diseño mi API para que sea escalable? ¿Cómo implemento alta disponibilidad? ¿Debo correr en la nube para escalar automáticamente? ¿Cómo hago escalamiento de mi API si no corro en la nube?
¿Cómo despliego mi API? ¿Debo resolver el aprovisionamiento de recursos que mi API necesita? ¿Qué es eso de Linux Containers? ¿Me sirve Docker para correr mi API? ¿Cómo ejecuto mi API en mi ambiente local?
La idea de la charla es dar un comparación entre los diversos features de ambos lenguajes como:
* Lambdas/Closures
* Method references
* Default Methods / Traits
* Soporte de APIs de Java 8 en Groovy
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.
Í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
7. SOA
• SOA implica demasiadas cosas. En un mundo
ideal:
• Deseable que las aplicaciones desaparezcan
• Existen core services que proveen lógica de
negocio y datos
• UI que sirven de agregadores y aplican
presentaciones.
8. SOA
• SOA implica demasiadas cosas.
• Comunicación entre sistemas usando una
estructura estándar, generalmente un dialecto
basado en XML. "CORBA with angle brackets"
• WS-*. Infierno de XML.
• Mensajería asíncrona para transferir documentos.
Enterprise Application Integration (EAI)
9. SOA
• Riesgos y problemas principales:
• Demasiada carga, muchas veces innecesaria.
• Costosas implementaciones, tanto en consultoría
como en herramientas y runtimes. No olvidemos la
operación.
• Complejidad innecesaria.
• Vendor lock-in
10. Alternativas al típico SOA
• Soluciones in-house usando frameworks típicos
• OpenSource runtimes & tools
22. µ services
• Estilo arquitectónico
• Cada servicio funcional o un conjunto muy pequeño se
ejecutan como procesos independientes.
• Generalmente usan protocolos ligeros y estándar como
HTTP.
• Despliegue independiente.
• Pueden o no contener todos los recursos que
necesitan. Es decir usan otros servicios para funcionar.
23. µ services
• Pueden estar escritos en diferentes lenguajes y
ejecutarse en diversos runtimes.
• Pueden usar diferentes mecanismos de
almacenaje. Relacionales o no-relacionales.
• Es común que los datos no estén centralizados.
24. µ services
• El enfoque es muy similar a SOA.
• La idea principal es no tener paquetes monolíticos de
servicios desplegables.
• Los paquetes monolíticos de servicios es la manera
natural de construir servicios.
• Con el tiempo es difícil mantener un paquete monolítico.
• Base enorme de código. Paquetes enormes para el
despliegue que toma bastante tiempo en despliegue.
25. Servicios monolíticos
• Cambios “pequeños” necesitan desplegar el
paquete completo.
• Dependiendo el entorno y la deuda técnica,
muchas veces implica hacer despliegues en
horas no productivas y tener downtimes.
• A la larga el código termina muy acoplado entre
servicios internos.
26. Componentes en µ services
• La idea es construir componentes, siempre ha sido
nuestro sueño poder rehusar y conectar componentes
existentes.
• Hemos logrado esto parcialmente usando librerías de
componentes. Que al final se convierten en
dependencias de nuestros servicios. Con todo lo que
ello implica.
• Los servicios son componentes que se ejecutan fuera
de nuestros procesos. Solo conocemos la interfaz.
27. Diseño
• En diseños monolíticos, es común que existan
diversos equipos acorde a cada capa definida. Vista,
lógica de negocio, datos, etc.
• Algunos cambios implican que todos los equipos
participen, para una organización significa costo.
• La organización para construir microservices implica
que el equipo sea cross-functional, con habilidades
para cubrir todas las capas necesarias para cada
servicio. Los servicios se organizan en torno a la
capacidad de negocio.
31. Dropwizard
• Muy maduro, Yammer lo usa.
• Basado en estándares como JAX-RS con Jersey
• Jackson para JSON
• Muy amistoso para DevOps, usa Metrics para
monitorear salud de los servicios.
• Incluye Jetty y no necesita un AppServer para
ejecutarse. !Mira mamá, sin AppServer¡
36. Ratpack
• Súper simple toolkit para crear webapps, como
APIs
• Construido sobre Apache Netty. !Mira mamá, sin
AppServer¡
37.
38. Spring Boot
• Usa la base de Spring Framework
• Soporte para todas las tecnologías de Pivotal
• Se ejecuta sobre Apache Tomcat empotrado
• !Mira mamá, sin AppServer¡
41. DevOps
• ¿Recuerdan que el tema de microservices es
sobre ownership?
• También en despliegue, no solo se trata de
entregar el código y dejar que los SysAdmins se
hagan pelotas.
• Los servicios deben incluir monitoreo para que
la operación sea más sencilla.
42. API management
• Ciertos requerimientos no funcionales no deben ser
implementados en los microservices.
• Existen diversas herramientas para aplicar ciertos servicios
necesarios como:
• Directorio/Descubrimiento
• Seguridad
• Monitoreo
• Métricas
• Escalamiento/Aprovisionamiento
43. Una opción más
• Al final la organización debe analizar que opción
es la ideal para si misma.
• SOAP/WS-* no son la única opción.
• ESB es fantástico si se usa adecuadamente con
mensajería.
44. Y como dice el @chochosmx:
!
“No hagan WebServices por convivir”