Categories
54cuatro

Transitando la adopción de arquitecturas serverless

La tecnología serverless fue la que mayor crecimiento expone desde el 2018 hacia hoy. #AWS y luego #Azure fueron dos grandes promotores de la tecnología #serverless. Al dia de hoy existen múltiples alternativas, incluso para correr serverless sobre on-premise.

¿De dónde viene la tecnología sin servidor?

En primer lugar, tenemos que hablar de Virtualizacion. La virtualización de servidores fue el paso inicial, que se basaba en correr múltiples servidores en un mismo hipervisor. Con el avance de la nube publica, las empresas utilizaron #IaaS (infraestructura como servicio), que básicamente es arrendar servidores y mover la carga de la infraestructura a la nube, pero los equipos aún tenían que lidiar con la configuración del servidor. Mas tarde apareció en escena PaaS (Plataforma como servicio). Los proveedores de #PaaS ofrecían una pila de aplicaciones más completa, como sistemas operativos y bases de datos para ejecutarse en la nube y ser administrados por el proveedor. Pero eso no fue suficiente. Luego surgió la tendencia de crear contenedores, una tendencia que sigue en alza, pero que significa de todas formas llevar a cabo configuraciones.

#Serverless o #FaaS (función como servicio) representa un nuevo enfoque para el desarrollo de aplicaciones. En pocas palabras, FaaS es una forma de computación sin servidor que utiliza una infraestructura completamente administrada por un proveedor para cargar funciones y ejecutarlas mediante “pago por solicitud”, y logrando que los desarrolladores y equipos de operaciones se abstraigan totalmente de las instalaciones de sistemas operativos, servidores de aplicaciones, librerías, etc.

Arquitectura Serverless

La arquitectura “sin servidor” aplica a una capa de servicios, por tanto, los diseños de arquitectura deben contemplar las capas de datos e integración como parte de la misma. En líneas generales, las capas de presentación (web, mobile) y las de aplicaciones son las mas factibles de llevar a modelos serverless, con los siguientes beneficios:

Menores costos y escalabilidad. En comparación con el enfoque tradicional, reduce los costos de operaciones y mantenimiento del servidor. En comparación con otros tipos de computación en la nube, la mayoría de los proveedores de FaaS trabajan con el modelo de precios de pago por solicitud. Esto significa que solo paga por el tiempo que se invocó una función y por la cantidad de invocaciones.

Capacity planning. Puede asignar una cierta cantidad de memoria y CPU para una función, y escalarla según sea necesario hacia arriba y hacia abajo. Incluso apagarse apagarse cuando no sea necesaria.

Desarrollo e implementación más rápidos. En lugar de escribir una estructura monolítica, FaaS ofrece una alternativa más flexible. Los desarrolladores pueden escribir código para un conjunto de funciones, en lugar de toda la aplicación monolítica, y cargar bits de código en el servidor. Eso hace que toda la estructura sea fácil de corregir, actualizar y agregar nuevas funciones.

Proveedores de arquitectura serverless

#AWS es quien introdujo la tecnología con mayor fuerza. #Lambda se convirtió en sinónimo de serverless, manteniendo la posición de producto líder en el mercado con la más amplia gama de servicios disponibles. #Azure Functions fue el siguiente oferente de esta tecnología en la nube, ofreciendo un conjunto de servicios similar a Amazon pero con un enfoque orientado hacia familia de lenguajes y herramientas de #Microsoft.

Luego #Google en #GCP, #IBM, #Oracle, #Huawei lograron implementar soluciones serverless en sus nubes. Todos los proveedores mencionados ofrecen servicios similares, suficientes para lanzar una aplicación en una infraestructura administrada.

En cuanto a la compatibilidad de lenguajes, Azure y Lambda admiten más idiomas que otros proveedores, y en cuanto a performance, no existe una diferencia crítica entre el rendimiento de las FaaS de cada provider.

Como monitorear servicios sin-servidor

El monitoreo es necesario para controlar las aplicaciones que corran en formato serverless, teniendo en cuenta ademas que toda la infraestructura es administrada por un proveedor. Entonces, para ver qué sucede exactamente con su aplicación y aplicar métricas, cada servicio tiene que ofrecer herramientas de monitoreo / registro. Esto le permite una descripción general de los recursos asignados y utilizados, detectar errores, monitorear registros, etc. Un factor fundamental a monitorear tiene que ver con la concurrencia, entendiendo por concurrencia a la ejecución paralela de diferentes funciones en un período de tiempo determinado, esto permite determinar la tasa simultaneidad que tolera cada aplicación, y que viene determinada por configuraciones a realizar en el proveedor del servicio FaaS.

¿Puedo tener Serverless en mi datacenter?

Si. Por ejemplo Kubernetes ademas de funcionar como herramienta para automatizar la implementación, la administración y el escalado de aplicaciones en contenedores, tiene un marco nativo sin servidor para la implementación de código llamado Kubeless.

Apache OpenWhisk es otra plataforma de código abierto que ejecuta funciones, pero administra la infraestructura, los servidores y el escalado mediante contenedores Docker. Tambien existe una herramienta open source llamada Fn project. Es una plataforma sin servidor de código abierto que se puede ejecutar en cualquier lugar, en la nube o en on premise.

En cuanto a herramientas comerciales, #RedHat posee #Openshift Serverless, una herramienta serverless de nivel empresarial que brinda portabilidad y uniformidad a todos los entornos híbridos y multicloud basada en Knative.

Conclusión

La tecnología Serverless permite acceder a una forma de trabajar, con mayor foco en el desarrollo, delegando la administración de la infraestructura a un tercero.

¿Ya habías oído de Serverless? ¿Tu empresa se encuentra en proceso de adopción?

    Por favor, demuestra que eres humano mediante la selección la taza.

    Categories
    54cuatro

    ¿Y ahora MLOPS?

    Quienes nos siguen dirán, ¿Otro nuevo Ops en familia? Y si, tenemos que contarles sobre #MLOPS.

    Repasemos. #DevOps conjuga la unión de los equipos de Desarrollo con Operaciones. #DataOps va acerca de la integración de datos en pos de soluciones analíticas. #GitOps nos ayuda a con el despliegue continuo sobre plataformas de contenedores. Y ahora nos toca describir MLOPS.

    ¿Que es MLOPS?

    El nombre viene de la conjugación de Machine Learning y Operaciones. Y su filosofía gira en torno a lo mismo que sus familiares *Ops, la de generar un espacio colaborativo, en este caso entre Científicos de Datos y Operaciones. Es importante destacar que hace un tiempo se puso de moda el termino #AIOPS, pero esta mas orientado a una implementación de Inteligencia Artificial a las operaciones de TI, de manera que podria ser confundible con MLOPS.

    Empecemos a descubrir MLOPS.

    MLOps Principles

    ¿Que soluciona MLOPS?

    MLOps es un descendiente directo de DevOps, y continuando con el éxito busca resolver la integración de los equipos de operaciones (en este caso quienes operan los datos) con aquellos que requieren de esa data para generar informacion de valor.

    MLOps incorpora al juego a los científicos de datos, quienes requieren obtener conjuntos de datos de manera automatizada desde donde poder desarrollar sus modelos analíticos.

    ¿MLOPS requiere de un Pipeline?

    Correcto, MLOPS tiene su propio concepto de Pipeline, solo que el CI/CD, esta orientado a integraciones de datos, y junto con ello, capacidades de gobernanza, transparencia y protección de la informacion.

    • En CI ademas de probar y validar código y componentes, se deben validar datos, esquemas y modelos.
    • En CD ademas de desplegar un paquete, debe implementar todo un servicio de manera automática.

    En resumidas fases podriamos mencionar que MLOPS requiere de 4 pasos fundamentales:

    • Ingestar datos hacia un almacenamiento.
    • Procesar los datos almacenados.
    • Entregar esos datos para ser entrenados dentro de modelos de #MachineLearning.
    • Entregar el output del modelo, dependiendo el caso de negocio requerido.
    Gartner on ML pipeline
    Esquema MLOPS propuesto por Gartner

    ¿Como comienzo mi camino hacia MLOPS?

    Es importante destacar que la comunidad que impulsa MLOPS crece dia a dia. Y ese crecimiento lleva a tener mas opciones que simplifican la adopción de MLOPS. Tanto #AWS, #GCP, #Azure, #IBM y otros proveedores tienen su propio stack tecnológico para hacer frente a una implementación de MLOPS, y como todo, no existe un método único, pero si buenas practicas recomendadas a seguir.

    Para empezar, debemos crear una cultura de automatización.

    El objetivo de MLOps es automatizar los pasos completos del flujo de trabajo de ML sin intervención manual. A partir de ello debemos dividir las tareas en fases que al final de la historia se ejecuten como un pipeline. Estas tareas son:

    1. Adquirir los datos desde las fuentes que identifiquemos. Y dentro de esta fase de adquisición vamos a Catalogar los Datos, Ingestarlos a nuestro almacenamiento, Procesarlos para generar nuestra data correcta, y finalmente Entregarlos para su consumo.
    2. Desarrollar los modelos. En esta fase (quizás la mas importante) un científico de datos generara interacciones con distintos modelos analíticos, validando la data recibida, e identificando la performance de los análisis. En caso de que la data recibida no sea suficiente o de la calidad esperada, el pipeline debe ser reajustado en el paso 1. Pero si los modelos tienen buenos rendimientos se pasara a la siguiente fase.
    3. Despliegue de los modelos. Como mencionamos anteriormente, si un modelo tiene buenos rendimientos y sus outputs son confiables, esta listo para ser pasado a producción. Tener un modelo productivo permite integrarlo a nuestro software, dejar una API para consultas, alimentar un sistema, etc. Pero atención, el modelo requiere de cuidados, y es por eso que existe una ultima etapa.
    4. Monitoreo de modelos. Como vamos a tener corriendo todo de forma automatizada, es importante monitorear como es la performance de los modelos. Cualquier desvio en la cantidad y/o calidad de los datos que se reciben pueden alterar el funcionamiento de nuestro desarrollo. Y es por eso que en un modelo MLOPS, vamos a determinar un control para conseguir que nuestro pipeline siempre asegura la entrega de información de valor para el negocio.

    Conclusión final

    Para ejecutar un proyecto exitoso basado en ciencia de datos es imprescindible implementar MLOps y para ello se debe llevar a cabo una orquestación de las herramientas tecnológicas con las habilidades para integrarlas.

    Consultas?

    Contactate
    Categories
    54cuatro

    Como migrar VMware a IBM Cloud

    En 2016, VMware e IBM formaron una asociación estratégica para proporcionar a los clientes acceso a un entorno VMware nativo “llave en mano” en los centros de datos de IBM Cloud. Los clientes de VMware pueden “levantar y cambiar” y, en última instancia, transformar sus entornos locales en IBM Cloud sin necesidad de refactorizar sus aplicaciones y cargas de trabajo.

    IBM tiene 10 motivos para migrar #VMware hacia #IBMCloud:

    Acceso a hipervisor y administrador completo

    VMware Solutions en #IBM Cloud les brinda a los clientes acceso completo e #hipervisor y acceso administrativo completo a vCenter, PSC, NSX y cualquier servicio adicional. Los clientes que implementan su entorno VMware en IBM Cloud poseen el mismo control, seguridad y funcionalidad que tienen con su entorno local.Proporcionamos un entorno VMware completamente nativo, que no requiere cambios en las herramientas o procesos existentes. La única diferencia es que se consume en un modelo de nube.

    Múltiples configuraciones de SDDC y opciones de hardware

    Entendemos que los clientes tienen diferentes requisitos y hemos incorporado flexibilidad en nuestra solución. Los clientes pueden elegir entre dos configuraciones automatizadas de centros de datos definidos por software (SDDC)- VMware vCenter Server (VCS) y VMware CloudFoundation (VCF), que se aprovisionan automáticamente en horas a Centros de datos en todo el mundo. Dentro de VCS y VCF, los clientes pueden adaptar el entorno a sus cargas de trabajo porque ofrecemos seis opciones de cómputo diferentes, nueve opciones de RAM y dos tipos de almacenamiento (vSAN y NFS), que brindan más de 100 opciones diferentes.

    Soporte de traiga su propia licencia (BYOL)

    Los clientes han invertido una cantidad significativa de recursos y dinero en sus licencias de VMware. Reconociendo las implicaciones comerciales, permitimos a los clientes BYOL sus licencias de VMware, que se aprovisionan automáticamente con un entorno VCS y VCF. Damos soporte BYOL para vCenter Server, vSphere, NSX y vSAN.

    Gestionado por el cliente

    Al comprender que los clientes tienen sus propias prácticas, diseñamos VMware Solutions en IBM Cloud para que sean administrados por el cliente, lo que permite a los usuarios utilizar los mismos procesos y la administración que utilizan en sus instalaciones. Estosignifica que los clientes no están obligados a instalar parches y actualizaciones, y como administran su entorno, pueden usar herramientas adicionales como vRealize Automation, vRealize Log Insight y cualquier solución. VMware Solutions en IBM Cloud es una extensión del entorno en las instalaciones de los clientes.

    Queres conocer mas?

    Categories
    54cuatro

    El valor de la Gobernanza

    Ya nadie discute que los nuevos negocios dentro de las compañías, nacen aprovechando toda la informacion que guardaron estos años, y son esos datos los que permite crear nuevos productos, nuevos negocios, conocer mas a los clientes.

    Pero también es necesario mencionar que se tiende a simplificar el “como” se usan esos datos. Los datos aportan valor si son confiables y de calidad, y para ello es necesario conocer su contenido y estructura.

    En esta nota vamos a mencionar el camino recomendado para adoptar soluciones de #InteligenciaArtificial en la analítica partiendo desde una metodología de #gobernanza que asegure la calidad de los datos.

    La fase de Recolección de Datos

    El primer desafío es Recolectar la informacion que poseen las empresas, y en este sentido el desafío principal pasa por realizar una modernización de los procesos y flujos, para identificar todos aquellas bases de datos, tablas, archivos que tenemos a disposición para consumir esa informacion.

    La fase de Organización de Datos

    El segundo punto es Organizar esa informacion, generando un lenguaje común, para que todos los usuarios (de negocios y TI) conozcan todos los datos que estamos manejando, que exista una relación entre el lenguaje comercial y el lenguaje técnico; donde podamos generar Dueños de Datos. Estos Dueños de Datos (data stewardship) es lo que nos va a permitir la gestión y supervisión de los activos de datos de nuestra organización para ayudar a proporcionar a los usuarios comerciales datos de alta calidad.

    Estos niveles de calidad son fundamentales si queremos tener reportes fidedignos; y por tal motivo vamos a correr procesos de Curación, Gestión de Metadatos, Linaje y Catalogo, entre otros procesos que serán los que dejaran lista una base de datos lista para el negocio.

    La fase de Análisis de Datos

    La fase de Organización nos va a permitir saltar a la fase de Análisis, donde vamos a poder armar #Dashboards y #Reportes desde informacion confiable, y eso se va a permitir:

    • Encontrar: Acceso mas rápido a la informacion
    • Confiar: Entender de donde provienen los datos y porque se puede confiar en ellos
    • Preparar: Limpiar, estructurar y enriquecer datos crudos para transformarlos en informacion procesada
    • Actuar: Generar nuevos resultados comerciales desde Análisis mas confiables.

    Infundir: la capa de análisis inteligente

    Luego de haber creado una plataforma de integración robusta, de tener identificado nuestros datos como activos y de generar reportes confiables, vamos a implementar una capa de Analítica Avanzada, donde logremos descubrir tendencias y patrones que mejoren la toma de decisiones mediante técnicas de exploración cognitiva.

    En este punto soluciones de #MachineLearning logran destrabar el valor de los datos, permitiendo generar nuevos productos basados en el reconocimiento 360° de los clientes, detectar necesidades de la industria o simplemente lograr identificar cosas que siempre estuvieron invisibles a un análisis tradicional.

    Que arquitecturas nos proponen los vendors?

    Existe un consenso de la industria en torno al armado de arquitecturas de datos en distintas capas. La gran mayoría son plasmadas en gráficos que se pueden “leer” de izquierda a derecha, conformados por:

    • Capa Fuentes de Datos: donde contamos con los orígenes de datos, estos orígenes pueden ser bases de datos, webs, archivos, eventos, sensores, etc.
    • Capa de Integración: desde donde se efectúa el comportamiento relacionado a la orquestación del movimiento, transformación e ingesta de los datos.
    • Capa de Procesamiento: donde se ejecutan los procesos analíticos, ya sea en cubos.
    • Capa de Visualización: donde finalmente se presentan de forma amigable lo referido a reportes de cara a los usuarios.

    A continuación veamos algunos esquemas de alto nivel que proponen #IBM y #Microsoft.

    Arquitectura de Data provisto por IBM

    Arquitectura de Data provisto por Microsoft en Azure

    Conclusiones finales

    Las tecnologías de análisis están al alcance de la mano de todos. En los últimos años, el crecimiento de la generación de datos es exponencial y lo seguirá siendo; y en paralelo las tecnologías cloud generaron una disminución en el costo del storage, mayor procesamiento, consumo “por uso” y aplicaciones apilables que nos permiten desarrollar una plataforma en la nube con muy poco esfuerzo.

    Pero el mayor valor de una plataforma de datos no esta dado por la tecnología sino por los requerimientos de negocios que resolvemos.

    Desde #54cuatro alentamos a nuestros clientes a convertirse en empresas inspiradas por los datos, donde la informacion sea un catalizador de nuevas ideas; y es por eso que no hacemos recomendaciones tecnológicas sin entender los requisitos, porque nosotros ofrecemos practicas y metodologías de gestión de datos (que entre otras cosas incluye el factor tecnológico) donde el mayor valor del análisis se da cuando se gestiona la informacion como un asset y donde la calidad asegura que los reportes mejoren la toma de decisiones, el servicio al cliente y el ROI.


    Contactate

    Categories
    54cuatro

    Monitoreo: ¿lo necesito? ¿por qué? ¿cuál elijo?

    El servicio de #monitoreo de componentes y servicios es una herramienta vital para todas las compañías que basen su trabajo en el uso de ordenadores. No solo la visibilidad acerca de la disponibilidad de un servidor o de un servicio es importante, lo es también tener métricas que acompañen los planes de la empresa. No solo se debe tener una visión pesimista de estos sistemas.

    El #monitoring puede brindar datos muy enriquecedores para una compañía acerca de los horarios de usos de sus sistemas, errores reiterativos, controles de seguridad, políticas de resguardo, etc.

    Tipo de soluciones

    Existen muchos softwares de monitoreo en el mercado y entre ellos existen familias diferentes que se adecuan mejor a una solución u otra.

    Desde soluciones netamente #Microsoft, que poseen el monitoreo sobre #SystemCenter dentro de #Windows 2012 (anteriormente llamado #MOM), como para soluciones de #Networking donde #NAGIOS soporta facilidad de desarrollo de #scripts que conecten a los dispositivos por #SNMP e incluso para aquellos que tengan un sitio web y necesiten controlar la disponibilidad de su website.

    Todos los vendors tienen una herramienta acorde a su necesidad, pero el punto clave es saber elegir ya que de eso depende la relevancia de los datos y los costos asociados.

    Hace unos años solo existía el sistema de monitoreo on-premise (y eventualmente probes externos que accedían a servicios público a modo test), actualmente con la tendencia del cloud computing existen sistemas híbridos que permiten tener agentes reportando a nivel local y a nivel público (que también auspician de “probes”).

    Sistemas actuales

    Hoy en día sistemas como #Nagios, #Tivoli, #MOM, #Concord, #Openview, #WhatsUP, etc siguen vigentes y sus implementaciones continuarán, pero se debe tener en cuenta que el mantenimiento de ellos puedo ser un gasto importante de presupuesto cuando contamos con vendors que nos brindan una solución “llave en mano” permitiéndonos simplificar la operación y reducir costos.

    Actualmente existen vendors destacados que brindan soluciones competitivas “llave en mano”, las cuales se adaptan a diferentes escalas de negocio , entre ellos podemos mencionar #Groundwork, #OPSView, o #Pulseway.

    Todos con un servicio similar, nos proveen de altas capacidades de control tanto desde la PC como desde aplicaciones móviles, contamos con gestión de información histórica a modo de métricas, e incluso un primer nivel de acción sobre servicios y aplicaciones (restarts, reboots, etc).

    Siempre hablando de las versiones Premium, cada uno de estos proveedores permiten tener capacidades de control con altos estándares de calidad por un precio muy bajo, ya que el servicio es ofrecido en packs o por dispositivos lo que realmente permite abaratar costos al momento de una implementación de este tipo y teniendo como dijimos un alto nivel de sensores y gran capacidad analítica.

    Monitoreo on-premise

    Pero el monitoreo on-premise seguirá vigente ya que, para empresas con muchos componentes informáticos y muchas aplicaciones, el monitoreo es un punto clave de la operación. Muchas empresas siguen trabajando con Nagios ya que les permite actualizar el core del sistema manteniendo muchos de sus scripts personalizados.

    Muchas otras confían en el monitoreo provisto por vendors importantes como #HP, #IBM, Microsoft. Y algunos otros comienzan a adoptar #Cacti o #Zabbix. Estas últimas herramientas son excelentes softwares de monitoring, con un alto nivel de mantenimiento y soporte.

    Además, ambos softwares brindan capacidades excelentes y con una interfaz realmente agradable y simple.

    Como mencionamos más arriba, lo importante no es solo tener sensores que nos brinden información certera, sino que el sistema actualmente tiene que estar integrado totalmente para que no sea solo una consola de eventos.

    Debe estar dotado de una inteligencia superior, integrándose con nuestro sistema de reclamos, con herramientas de capacity planning y que toda esa información recolectada pueda ser utilizable en el tiempo siendo una fuente confiable para tomar decisiones acerca de crecimiento vegetativo, cambios aplicativos, recambios por obsolescencia, análisis de OPEX y todo tipo de oportunidades de mejora que surjan a partir de los datos que recolecten estas herramientas.

    Gonzalo D’Angelo

    [email protected]

    Contactate

      Por favor, demuestra que eres humano mediante la selección el avión.