Categories
54cuatro

Como Openshift acelera los negocios

Openshift es la plataforma de #containers de #RedHat que nos permite entregar a los desarrolladores de aplicaciones web espacios de trabajo para que desplieguen sus códigos realizados en distintos lenguajes de programación.

El corazon de la plataforma

Recordemos que esta aplicación de Red Hat esta basada en Kubernetes (K8s), una plataforma de código abierto que fue originalmente diseñada por Google y liberada a la Cloud Native Computing Foundation (#CNCF) y que sirve para automatizar la implementación, el escalado y la administración de aplicaciones en contenedores.

Ventajas de usar Openshift

Deployment evolution

Dentro de #Openshift cada desarrollador se preocupa por el desarrollo de su aplicación, sin tener que conocer que pasa a nivel infraestructura. Mientras se avanza en el desarrollo, se utiliza un repositorio tal como #Github, ese proyecto creado sera luego el que Openshift tomará como código fuente del repositorio, y desde el cual creará una imagen Docker de forma automática. Esa nueva imagen Docker es la que se utilice para desplegar la aplicación.

Ecosistema de Soluciones

Algo verdaderamente potente, es la posibilidad de integrar a Openshift con todo un ecosistema de soluciones open source, muchas de las cuales fueron tuteladas por Red Hat y permiten armar un gran plataforma funcionando de forma conjunta.

Una capa que brinda Red Hat para sumar a esto es su suite de #Middleware, que incluye:

  • Red Hat Runtimes
  • Red Hat #Fuse
  • Red Hat #3scale #API Management
  • Red Hat #AMQ (Broker, Interconnect, Streaming)

Dentro de estas plataformas se encuentran los tradicionales productos como Jboss. En el caso de 3scale es para destacar que es una solucion de #APImanagement completa, es decir, incluye el #APIgateway, el #APImanager y el #APIportal.

Esto es importante de destacar porque un API gateway por si solo no es una plataforma de API management. El gateway sirve para la integración de las API a nivel backend (ver entrada sobre APIs), pero el Manager y el Portal permiten a los usuarios definir los métodos de autenticación (e incluso integrarse con herramientas de SSO –Ver entrada sobre Keycloak-), límites y control de acceso, monetización, así como el análisis del uso de las APIs y un portal para los desarrolladores. 

Recorrido por la herramienta

Beneficios para todos

Desarrolladores

Como mencionamos, los desarrollares se benefician de Openshift al despreocuparse por la infraestructura, simplificar (y robustecer) la seguridad, optimizar la colaboración entre los grupos de trabajo, y finalmente entregar aplicaciones de forma rápida y segura acelerando el time to market.

Administradores de Infraestructura

Openshift permite entregar ambientes de manera mas rápida logrando disminuir los típicos roces que existen entre las áreas de desarrollo e infraestructura. El área de infra como operador de la platafoma lleva el control, visibilidad y administración.

Habilita DevOps

Hemos escrito muchas notas respecto a que es DevOps. Si bien existen muchos condicionantes que se requieren cumplir, recordemos que DevOps tiene como motor de cambio la integración de equipos de Desarrollo y Operaciones, y para lograr esa integración se necesita habilitar la Colaboración, la Automatización y la mejora continua. Openshift permite que los Devs implementen, creen sus pipelines de código (también hablamos de CI/CD en otras notas) mientras que Ops tengan como responsabilidad entregar una plataforma de contenedores estable y escalable para ello.

OpenShift Origin consoles

Por todo lo anterior, y porque permite actualizar aplicaciones legadas a arquitecturas mas modernas, porque le permite a los desarrolladores entregar aplicaciones robustas y funcionales en menor tiempo, es que Openshift permite acelerar los negocios.

Queres saber mas?


[popup_anything id=”2076″]
Categories
54cuatro

DevOps – Los desarrolladores están en el centro de la innovación

No solo sus competidores tradicionales lo reconocen: hay nuevos competidores que comienzan a lanzar #software innovador, trabajando dentro de su sector, pero al revés.

¿Usted elegiría software creado por un puñado de desarrolladores aislados o software creado por miles de personas que trabajan en colaboración para construir algo más sólido? 

Innove a gran escala. Confíe en lo que entrega.

Microsoft #Azure es la nube con servicios de desarrollador integrados y #GitHub construye sobre esta base para convertirse en la Plataforma #DevOps central de #Microsoft.

Aproveche Microsoft DevOps con GitHub para entregar innovación rápida y eficiente. ​

Innovación de producto

Herramientas de administración confiables y escalables en todos los niveles, además de una comunidad diversa detrás de todo

Rapidez de entrega

Para innovar, las empresas deben moverse rápidamente.

Flexibilidad y control

Cualquier desarrollador, cualquier #nube. Use las herramientas que elija, solo traiga el código.

Seguridad

Un líder confiable en seguridad, el mejor.

Acelere la entrega con #DevOps.

Su producto necesita llegar rápidamente a los clientes
y mantenerse disponible.

  • Objetivos y herramientas compartidos
  • Colaboración
  • Automatización de procesos
  • Entrega y mejora continuas

Implementación continua y conforme con la normativa

Servicios integrados de #seguridad, #monitoreo y administración de nivel empresarial

GitHub: El desarrollador de plataformas
nro 1 en el planeta

  • Mayores contribuciones: 1,100 millones en 2018
  • Más desarrolladores: 33 millones
  • Mayor crecimiento: 8 millones de nuevos desarrolladores en 2018
  • Más Repos: 96 millones
  • Mayor actividad: 200 millones de PR, 800 millones de solicitudes diarias de #API 
  • Más estudiantes: 1.1 millones
  • Más organizaciones: 2.2 millones
  • Mayor seguridad: 5 millones de alertas de vulnerabilidad en 2018

Desea crear su plan de desarrollo para implementar DevOps, contactenos

[popup_anything id=”2076″]
Categories
54cuatro

Patrones de Arquitectura para Microservicios

Acerca de los microservicios

Los #microservicios, son un estilo arquitectónico que estructura una aplicación como una colección de servicios. La arquitectura de microservicios permite la entrega rápida, frecuente y confiable de aplicaciones grandes y complejas.

Al trabajar con microservicios es común que las transacciones tarden mucho en ejecutarse debido a una gran distribución de aplicaciones como bases de datos y servicios que hacen más complejo mantener la consistencia de los datos (ACID). Recordemos que en un entorno de base de datos, ACID es un estándar de las base relacionales, que cumple estos requisitos: Atomicity — Atomicidad: Se ejecutan todas las instrucciones o ninguna, Consistency — Consistencia: Asegura que el estado final sea un estado válido y consistente. Isolation — Aislamiento: Sólo se puede acceder por un agente a la vez, a la información a ser modificada. Durability — Durabilidad: La información modificada tiene que quedar persistida en el repositorio.

Las transacciones locales de ACID tampoco ayudarán si la comunicación ocurre entre servicios separados con múltiples bases de datos.

Patrón de diseño SAGA

SAGA es un modelo de arquitectura publicado originalmente por el departamento de informática de la universidad de Princeton en 1987. Pueden descargar el paper original aquí.

De acuerdo a la descripción del modelo, SAGA es una secuencia de transacciones locales donde cada transacción actualiza los datos dentro de un solo servicio.

Hay un par de formas diferentes de implementar una transacción de saga, pero las dos más populares son:

  • Eventos / coreografía: cuando no hay coordinación central, cada servicio produce y escucha los eventos de otro servicio y decide si se debe tomar una acción o no.
  • Comando / Orquestación: cuando un servicio coordinador es responsable de centralizar la toma de decisiones y la secuencia de la lógica de negocios de la saga.

Vamos a usar estas imágenes de https://microservices.io para graficar cada modelo y que se entienda como funcionan:

Modelo EVENTOS
Modelo ORQUESTRADO

Ejemplo de una plataforma de stream de datos con Apache #Nifi

Beneficios de usar SAGA como patrón de arquitectura

Los eventos / coreografía es una forma natural de implementar el patrón de Saga, es simple, no requiere mucho esfuerzo para construir. Es un patrón muy atractivo para casos donde la transacción de su aplicación implica de 2 a 4 pasos. Este enfoque puede volverse confuso rápidamente si sigue agregando pasos adicionales en su transacción, ya que es difícil rastrear qué servicios escuchan qué eventos. Ademas las pruebas serían difíciles de implementar usando este diseño, para simular el comportamiento de la transacción, debe tener todos los servicios corriendo.

SAGA es un modelo muy util que permite que una aplicación mantenga la consistencia de datos en múltiples servicios sin usar transacciones distribuidas.

Prueba de Concepto

En #github, #Microsoft tiene una solución que simula un escenario de transferencia de dinero, donde se transfiere una cantidad entre cuentas bancarias a través de operaciones de crédito / débito y se genera un recibo de operación para el solicitante. Es una referencia de implementación del patrón #Saga a través de un enfoque de orquestación en una arquitectura sin servidor en #Azure. La solución aprovecha Azure #Functions para la implementación de los participantes de Saga, Azure Durable Functions para la implementación del Saga orchestrator, Azure Event Hubs como plataforma de transmisión de datos y Azure Cosmos DB como servicio de base de datos.

Repo disponible en: https://github.com/Azure-Samples/saga-orchestration-serverless

Architecture Overview

[popup_anything id=”2076″]