Mostrando entradas con la etiqueta Open Source. Mostrar todas las entradas
Mostrando entradas con la etiqueta Open Source. Mostrar todas las entradas

martes, 16 de febrero de 2021

Cloud Paks de IBM. Microservicios en Multi Nube Híbrida

Parte esencial de la Tercera Plataforma. Tecnología fundamental dentro de las doce tecnologías con impacto a corto plazo de la Transformación Digital y uno de los cimientos fundamentales para la Cuarta Revolución Industrial, el Cómputo en La Nube ha sido pues de lo más revolucionario que se tiene ahora en lo referente a las Tecnologías de la Información.

Cómo recordamos y con mucho afecto esos días en los que el Cómputo, los Sistemas, la Informática se llevaba a cabo programando sobre un hardware, para poder obtener un Sistema de Cómputo que pudiese subsanar las necesidades de administración, contabilidad, producción, etc. en una empresa u organización.

El "boom" que vino de la mano de la Segunda Plataforma, o la Arquitectura Cliente-Servidor, hizo que sin darnos cuenta y sin previo aviso, fuésemos responsables de programas de cómputo monolíticos, enormes,  con millones de líneas de código y que cada que fuese necesario realizar un cambio, una actualización, arreglar un desperfecto (por más pequeño que este fuera), requeríamos abrir una ventana de mantenimiento y la operación podía durar un par de meses.

Los negocios, la gestión de empresas y/o entidades de gobierno y todas esas actividades para las que se había creado o comprado una aplicación, evolucionaron por su cuenta y ahora los cambios suceden con una frecuencia inusitada e inverosímil para aquellos tiempos en los que muchas aplicaciones se habían creado. Ahora los usuarios (no decenas ni cientos, sino miles o millones) no estaban detrás de una Terminal "tonta" (en una estación de trabajo fija). Tampoco estaban en Computadoras Personales de Escritorio (Desktops). Mínimo los usuarios están detrás de una Computadora con Monitor Abatible (LapTop), una Tableta con tecnología "touch" y servicio de red inalámbrica o con un Dispositivo Personal Móvil en su mano, y éstos pueden estar en su casa, en un ciber-café, en la calle, en un vehículo de transporte público o inclusive en la Estación Espacial Internacional. Sí. Literalmente donde quieran y utilizando el dispositivo que en ese momento pueden o quieren utilizar. Todo un reto.

Las Redes de Cómputo son ese aparato circulatorio por el cual los datos fluyen en todos los sentidos. Los riesgos de seguridad se han multiplicado y literalmente, los usuarios no pueden esperar más de tres segundos por su información. Para desgracia de muchos negocios, existen muchas opciones para los usuarios quienes no dudarán en abandonar una opción e inmediatamente tomar otra distinta que les ofrezca lo que necesitan, cuando lo necesitan, en donde quiera que estén y sin esperar tres segundos.

¿Se imaginan estar en la época de los Mainframe (Primera Plataforma), o incluso de la Arquitectura Cliente-Servidor (Segunda Plataforma), con los tiempos y procedimientos para crear, actualizar, reparar aplicaciones en estos tiempos tan vertiginosos con usuarios tan exigentes y voraces?

La Nube (pública, híbrida o privada) representó un considerable ahorro para los Costos de Capital (CapEx) y un uso más eficiente en lo que se refiere al Costo Operativo (OpEx). Pero aún así el seguir "montando" inmensas aplicaciones monolíticas (aunque fuese en modalidad Multi-Capa) seguía siendo un enorme reto.

¿Y qué pasó entonces? Nació la Arquitectura de Microservicios (en inglés, Micro Services Architecture, MSA).

Ésta es una aproximación para el Desarrollo de Software que consiste en construir una aplicación como un conjunto de pequeños servicios, los cuales se ejecutan en su propio proceso y se comunican con mecanismos ligeros (normalmente una API de recursos HTTP).

En esta Arquitectura, cada servicio se encarga de implementar una funcionalidad completa del negocio. Cada servicio es instalado, configurado y aprovisionado de forma independiente y puede estar programado en distintos lenguajes, usando diferentes tecnologías de almacenamiento de datos.

¿Cuáles son las características principales de los Microservicios?

  • Los componentes son servicios: Los servicios son componentes separados que se comunican mediante mecanismos como los servicios web o los RPC en lugar de usar llamadas a funciones en memoria como hacen las bibliotecas.

  • Organización en torno a las funcionalidades del negocio: El sistema se divide en distintos servicios donde cada uno está organizado en torno a una capacidad del negocio. Es muy importante limitar la responsabilidad de cada servicio. Cada servicio implementa toda la funcionalidad del negocio que agrupa desde la interfaz de usuario, la persistencia en el almacenamiento y cualquiera de las colaboraciones externas.

  • Productos, no proyectos: En esta arquitectura normalmente se sigue la idea de que un equipo debe estar a cargo de un componente (servicio) durante todo el ciclo de vida del mismo, desde la etapa de diseño y construcción, la fase de producción y hasta la de mantenimiento. Esta mentalidad se acopla bien con la vinculación a una capacidad del negocio. En lugar de ver el software como un conjunto de funcionalidades terminadas se ve como una relación continua, donde la pregunta es cómo puede el software ayudar a sus usuarios a mejorar la funcionalidad del negocio que implementa. Esto es facilitado por el bajo nivel de granularidad que ofrecen los microservicios.

  • Extremos inteligentes, tuberías bobas: Las aplicaciones creadas desde microservicios pretenden ser tan disociadas y cohesivas como sea posible, ellas poseen su propia lógica de dominio y actúan como filtros en el clásico sentido UNIX: recibe una solicitud, aplica la lógica apropiada y produce una respuesta. Estos pasos son coreografiados usando protocolos simples (típicamente HTTP con REST o mensajería liviana como RabbitMQ o ZeroMQ) en lugar de protocolos complejos como WS-BPEL.

  • Tener gobernabilidad descentralizada: Con el sistema con múltiples servicios colaborativos, podemos decidir utilizar diferentes lenguajes de programación y tecnologías dentro de cada servicio. De esta forma podemos elegir la herramienta adecuada para cada tipo de trabajo en lugar de tener una estandarizada. Por ejemplo si una parte del sistema necesita mejorar su rendimiento es posible usar una tecnología, quizás más complicada, que permita alcanzar el nivel de rendimiento requerido.

  • Gestión de datos descentralizada: Los microservicios prefieren dejar a cada servicio que gestione su propia base de datos, sean estos diferentes instancias de la misma tecnología de base de datos o sistemas de base de datos completamente diferentes.

  • Diseño tolerante a fallos: Las aplicaciones necesitan ser diseñadas de modo que puedan tolerar las fallas de los distintos servicios. Cualquier llamada de servicio puede fallar y el cliente tiene que ser capaz de responder a esto con la mayor facilidad y eficacia posible, evitando los muy habituales fallos en cascada de las arquitecturas distribuidas.

  • Automatización de la infraestructura: La mayoría de los productos y sistemas desarrollados con el enfoque de microservicios han sido construidos por equipo que usan entrega continua y su precursor la integración continua. Para conseguir esto es necesario:
    • Automatizar todo el proceso, desde el chequeo del código, pruebas, despliegue.
    • Control de versiones y gestión de configuración.
    • Arquitectura (hardware-software-sistema operativo) adecuada. Tiene que permitir realizar cambios sin que afecten al resto del sistema.

  • Diseño evolutivo: Cuando se divide el sistema en servicios hay que tener en cuenta que cada uno tiene que poder ser reemplazado o actualizado de forma independiente.

Todo esto se lee y suena fantástico. ¿Pero cómo es posible lograr todo esto de manera concreta, completa y cabal? La respuesta a esta pregunta de llaman Contenedores de Cómputo.

Los Contenedores son elementos que contienen (valga la redundancia) están centrados en las aplicaciones, para que estas sean escalables de alto rendimiento, pudiéndose ejecutar en cualquier infraestructura que se elija. Los Contenedores son los más adecuados para ofrecer microservicios, al proporcionar entornos virtuales portátiles y aislados para que las aplicaciones se ejecuten sin interferencia de otras aplicaciones en ejecución.

Un contenedor es una unidad estándar de software que empaqueta el código y todas sus dependencias para que la aplicación se ejecute de forma rápida y confiable de un entorno informático a otro. Una imagen de contenedor en la plataforma de ejecución para contenedores Docker, es un paquete de software ligero, independiente y ejecutable que incluye todo lo necesario para ejecutar una aplicación: código, tiempo de ejecución, herramientas del sistema, bibliotecas del sistema y configuraciones.

Aquí ya comenzamos a tocar un tema dentro de esto que es los Contenedores, y aquí vale la pena hacer una aclaración: Los Contenedores NO SON Máquinas Virtuales, y aunque suene a todo un "cliché" o un pleonasmo, las Máquinas Virtuales NO SON tampoco Contenedores. Lo que es más, es posible ejecutar Contenedores DENTRO de Máquinas Virtuales, pero nunca una Máquina Virtual podrá ejecutarse en un ambiente de ejecución para Contenedores, pues la máquina virtual necesita de un Hipervisor.

Vale la pena entonces también hacer un paréntesis para mencionar que, los Micro Servicios (y por ende los Contenedores), nada tienen que ver con la Arquitectura Orientada a Servicios o Service Oriented Architecture (SOA). Un ejemplo de implementación de esta Arquitectura son los Web Services.

La Arquitectura Orientada a Servicios es un estilo de arquitectura de TI que se apoya en la orientación a servicios y se deriva de la Web 2.0 en lo concerniente a relación Negocio a Negocio. La orientación a servicios es una forma de pensar en servicios, su construcción y sus resultados. Aquí un servicio es una representación lógica de una actividad de negocio que tiene un resultado de negocio específico (ejemplo: comprobar el crédito de un cliente, obtener datos de clima, consolidar reportes de perforación).

El estilo de arquitectura SOA se caracteriza por:

  • Estar basado en el diseño de servicios que reflejan las actividades del negocio en el mundo real, estas actividades forman parte de los procesos de negocio de la compañía.
  • Representar los servicios utilizando descripciones de negocio para asignarles un contexto de negocio.
  • Tener requerimientos de infraestructura específicos y únicos para este tipo de arquitectura, en general se recomienda el uso de estándares abiertos para la interoperabilidad y transparencia en la ubicación de servicios.
  • Estar implementada de acuerdo con las condiciones específicas de la arquitectura de TI en cada compañía.
  • Requerir un gobierno fuerte sobre las representación e implementación de servicios.
  • Requerir un conjunto de pruebas que determinen que es un buen servicio.

El desarrollo e implementación de una arquitectura SOA se rige por los principios descritos en el manifiesto SOA. Por otra parte la aplicación de la orientación a servicios se divide en 2 grandes etapas:

  • Análisis orientado a servicios (Modelado de servicios)
  • Diseño orientado a servicios

Volviendo ahora al tema, para hacer más simple el entendimiento de el concepto de lo que es el Contenedor, imagine por un momento que Usted necesita ejecutar, en su computadora de escritorio un par de aplicaciones. Estas aplicaciones NO es posible instalarlas sobre el mismo Sistema Operativo que actualmente se ejecuta en su equipo de cómputo, pues ambas tienen en común "bibliotecas" (libraries) y recursos informáticos que no pueden compartir. Una evita que la otra se ejecute en el mismo ambiente de ejecución (valgan las redundancias).

¿Qué hacer entonces? Si esto nos lo hubiesen preguntado hace dos años, la respuesta sería: -"...instala VMware WorkStation Player o Virtual Box sobre tu Sistema Operativo, crea dos máquinas virtuales y sobre los respectivos Sistemas Operativos, instala en cada una su aplicación correspondiente."- Hoy y si esta aplicación viene "contenerizada", no necesitas hipervisor alguno. Mientras que el "Kernel" del Sistema Operativo sea compatible a ambas aplicaciones, usando un ambiente de ejecución de contenedores (como el ya mencionado Doker), no es necesaria ninguna Máquina Virtual. Ambas aplicaciones pueden convivir en el mismo Hardware.

Queda entonces claro que, para poder ejecutar contenedores es necesario:

  • Un Sistema Operativo (Linux) en el que se pueda instalar el ambiente de ejecución de contenedores
  • Un ambiente de ejecución de contenedores (Doker)
  • Los contenedores

Sí. Así de sencillo. Huelga decir que estos contenedores pudiesen trabajar completamente independientes uno del otro o trabajar en conjunto para conformar una Aplicación. También podemos inferir de todo esto, que con tan solo un modesto equipo de cómputo (pudiese ser incluso a nivel de escritorio) es posible comenzar con nuestra aventura con los Contenedores.

Todo esto ha estado funcionando tan bien y ha tenido tanto sentido para las empresas y organizaciones, que se disparó una tremenda proliferación de aplicaciones contenerizadas. Esto comenzó entonces a presentar sendos retos para la administración de los Contenedores.

Sólo para comenzar, éstos ya no se instalaban en equipos pequeños, sino que ahora se tenían Clusters de Servidores que proveen todo lo necesario en cuanto a ambiente de ejecución se requiere. Dichos Clusters en su mayoría son basados en plataformas de Virtualización y esto también fue lo que hizo que cada vez se tuviesen ambientes más y más complejos para controlar los Contenedores. Fue entonces que se hizo necesaria una herramienta que permitiese orquestar, administrar de manera centralizada y automatizar la operación de los Contenedores. Nace Kubernetes.

Kubernetes (referido en inglés comúnmente como “K8s”) es una herramienta de Código Abierto creada para la automatización del despliegue, escalabilidad y administración de aplicaciones en contenedores,​ que fue originalmente diseñado por Google y donado a la Cloud Native Computing Foundation (parte de la Linux Foundation). Soporta diferentes entornos para la ejecución de contenedores, incluido Docker.

Ahora los Desarrolladores y el personal de Operación de las empresas y organizaciones, encontraron un muy valioso aliado para poner bajo control desde pequeñas y hasta inmensas cantidades de contenedores.

No vamos a ahondar en el tema de Kubernetes, pues merece un tratamiento aparte. Lo que sí vale la pena mencionar es que aunque es posible ejecutar Contenedores contando tan sólo con Doker (la plataforma o ambiente de ejecución), Kubernetes ha demostrado ser indispensable.

Para muchas áreas de Tecnologías dela Información de empresas y organizaciones, ya en la práctica, poder armar todo lo referente al ambiente de ejecución, automatización, orquestación, administración, etc. para los Contenedores, no resultó tan fácil como se escuchaba o leía. ¿Qué hacer para aprovechar todas las bondades de los Contenedores y no tener que lidiar con todo lo que implica poner a punto toda esa estructura necesaria). Llegó al rescate Red Hat® OpenShift®.

OpenShift® es una familia de productos de software de contenedorización desarrollados por Red Hat®. Su producto estrella es OpenShift® Container Platform, una plataforma local como servicio construido alrededor de contenedores Docker orquestados y administrados por Kubernetes sobre la base de Red Hat® Enterprise Linux. 

La familia de productos OpenShift® proporciona la ten necesaria plataforma a través de diferentes entornos: OKD (Origin Community Distribution) que sirve como el upstream impulsado por la comunidad (similar a la forma en que Fedora está upstream de Red Hat® Enterprise Linux). OpenShift® Online, la plataforma que se ofrece como software como servicio y OpenShift® Dedicated, la plataforma que se ofrece como servicio gestionado.

Hasta el momento hemos mencionado que los Contenedores son ideales para crear un ambiente de Plataforma como un Servicio, sobre nuestra Infraestructura como un Servicio, en nuestros Centros de Datos Definidos por Software. Digamos que ahora tenemos nuestra Nube Privada ejecutando nuestros Contenedores.

¿Y qué sucede cuando queremos incorporar Servicios de Infraestructura en Nubes Públicas? Cierto. La evolución a entornos de ejecución fuera de la empresa, da soporte y es esencial para esa necesidad de proveer a nuestros Usuarios de sus aplicaciones que se puedan ejecutar donde sea, cuando sea, a través del dispositivo que sea.

Leyes, normatividades, regulaciones pusieron un freno a la migración total desde La Nube Privada (o los ambientes On Premise) hacia La Nube Pública. Por lo que las empresas y organizaciones optaron por un mitad-y-mitad naciendo con esto La Nube Híbrida. En esta modalidad se aprovecha lo mejor de La Nube Privada y La Nube Pública, dando como resultado un ambiente de ejecución homogéneo (o idealmente homogéneo) en donde los Usuarios "ni se enteran" de a dónde se están ejecutando sus Servicios. Ellos simplemente disfrutan de estos.

El nuevo reto entonces era elegir en qué proveedor de Nube Pública ejecutar nuestros Contenedores. Pues en un principio y aunque los ambientes de ejecución de Contenedores no requieren de bastos recursos informáticos, sí es indispensable el armar toda la estructura (física y/o virtual) que de sustento dicho ambiente de ejecución.

Aquí es entonces a donde entra el concepto de los Cloud Paks de IBM. Son software con tecnología de Inteligencia Artificial para La Nube (o Multi Nube) Híbrida , que nos permite implementar por completo flujos de trabajo inteligentes la empresa u organización, para acelerar el camino a la transformación digital en lo que a Contenedores se refiere.

IBM Cloud Paks aprovecha el poder de IBM Watson® para aplicar Inteligencia Artificial a su negocio, predecir y dar forma a resultados futuros, automatizar procesos complejos, optimizar el tiempo de administradores de T.I. y crear ambientes más ágiles y seguros.

Basados en Red Hat® OpenShift®, es posible desarrollar o instalar aplicaciones contenerizadas una vez, e implementarlas en cualquier lugar de cualquier Nube Pública o Privada. Además, puede integrar la seguridad y automatizar las operaciones con visibilidad de gestión. IBM Cloud Paks tiene una base común de componentes empresariales que aceleran el desarrollo, brindan una integración perfecta y ayudan a mejorar la colaboración y la eficiencia.

Los flancos en los que tenemos por el momento los Cloud Paks son:

  • Datos
  • Automatización del Negocio
  • Operaciones con Inteligencia Artificial provista por Watson
  • Integración
  • Automatización de la Red
  • Seguridad

En entregas posteriores abordaremos cada uno de estos Cloud Paks. Por el momento baste decir que si dentro de los requerimientos de su empresa u organización ya se está trabajando y/o se requiere implementar a corto plazo la contenerización de sus aplicaciones, Cloud Paks de IBM son la mejor alternativa Multi Nube.

¿Su empresa u organización ya está trabajando con Contenedores?

viernes, 23 de octubre de 2020

Qué es el Edge Computing, cuáles son sus ventajas y cuáles sus desafíos.

Edge Computing (cómputo en frontera) es un paradigma de computación distribuida que acerca la computación y el almacenamiento de datos, a la ubicación en donde se necesita para mejorar los tiempos de respuesta y ahorrar ancho de banda.

Los orígenes del Edge Computing se encuentran en las redes de entrega de contenido que se crearon a fines de la década de 1990 para servir contenido web y de video, desde servidores que se implementaron cerca de los usuarios. 

A principios de la primera década del Siglo XXI, estas redes evolucionaron para albergar aplicaciones y componentes en los servidores "Edge", dando como resultado los primeros servicios Edge Computing comercial que hospedaban aplicaciones como: localizadores de distribuidores, carritos de compras, agregadores de datos en tiempo real, motores de inserción de anuncios, etc.

La desde ese momento conocida como Informática Perimetral moderna, permitió ampliar significativamente este enfoque a través de la tecnología de virtualización, que facilitaron (y aún lo hacen) la implementación y ejecución de una gama más amplia de aplicaciones.

Aterrizando el tema y abordándolo con mayor detalle, podemos afirmar entonces que el Edge Computing es un tipo de informática que ocurre en la ubicación física del usuario, de la fuente de datos, o cerca de ellas. Al establecer servicios de computación cerca de esas ubicaciones, los usuarios obtienen servicios más rápidos y confiables, y las empresas aprovechan la flexibilidad del cloud computing híbrido. Con el edge computing, una empresa puede usar y distribuir un conjunto común de recursos en una gran cantidad de ubicaciones.

¿Por qué es importante el edge computing?

Se puede observar un ejemplo real de Edge Computing en el uso de la realidad virtual y aumentada. Por lo general, la realidad virtual y aumentada se ve afectada por un ancho de banda insuficiente y una latencia alta. Quienes utilizan esas tecnologías tienen problemas frecuentes con las velocidades bajas o la potencia informática, lo cual interrumpe la capacidad de lograr una experiencia envolvente. 

Para evitar estos problemas, el Edge Computing permite que se descarguen a la nube las partes del proceso que consumen muchos recursos informáticos. Otro ejemplo es la implementación de esos mismos procesos en el Internet de las cosas (IoT), como los automóviles inteligentes. Sólo imaginemos que hubiese latencia mientras su vehículo procesa la información sobre las direcciones. Al igual que el resto de los dispositivos del Internet de las cosas (IoT), su automóvil debe procesar los datos y tomar decisiones en tiempo real o lo más rápido posible.

Los beneficios del edge computing incluyen la capacidad para agregar y analizar datos masivos in situ, lo cual permite tomar decisiones casi en tiempo real. El edge computing reduce aún más el riesgo de exponer los datos confidenciales, ya que mantiene toda esa potencia informática en un lugar cercano. Esto permite que las empresas controlen mejor la proliferación de la información, como los secretos comerciales del sector, o que cumplan con las políticas normativas, como el Reglamento General de Protección de Datos (General Data Protection Regulation - GDPR).

Por último, los clientes empresariales disfrutan de la flexibilidad y los costos relacionados con el Edge Computing. Al mantener la potencia informática más cerca de su fuente, los sitios regionales pueden seguir funcionando independientemente del sitio central, incluso si este último deja de funcionar. Además, esto permite reducir considerablemente el costo que debe pagar por el ancho de banda para trasladar los datos entre los sitios regionales y centrales.

¿Cuáles son las ventajas del edge computing?

El Cómputo en La Nube se ha enfocado en centralizar los servicios en un grupo de centros de datos grandes. Este proceso permitió que se pudieran ampliar y compartir los recursos con mayor eficiencia, sin perder el control ni la seguridad empresarial.

El Edge Computing se encarga de aquellos casos prácticos que el enfoque de centralización del Cómputo en La Nube no puede abordar de forma adecuada, generalmente debido a los requisitos de red u otras restricciones. Se centra en varios sitios informáticos pequeños que disminuyen el costo de red, evitan las restricciones de ancho de banda, reducen las demoras en la transmisión, limitan las fallas del servicio y controlan mejor el movimiento de los datos confidenciales. Los tiempos de carga se reducen en cientos de milisegundos, y los servicios en línea implementados más cerca de los usuarios habilitan las capacidades de almacenamiento en caché dinámico y estático.

Para los usuarios finales, esto significa una experiencia de uso más rápida y uniforme. Para las empresas y los proveedores de servicios, se traduce en aplicaciones de baja latencia y alta disponibilidad con supervisión en tiempo real.

¿Cuáles son los desafíos del edge computing?

El problema principal del edge computing no solo es la escalabilidad, sino también la distribución:

  • El escalamiento horizontal hacia varios sitios pequeños puede resultar más complicado que agregar la capacidad equivalente a un centro de datos principal. Las empresas más pequeñas pueden tener dificultades a la hora de gestionar el aumento de los costos generales de las ubicaciones físicas.

  • Por lo general, los sitios de Edge Computing se encuentran en lugares remotos y no cuentan con la experiencia técnica suficiente. Si se produce alguna falla in situ, debemos tener una infraestructura disponible para que personal sin experiencia técnica o que un pequeño grupo de especialistas ubicados en otro lugar, puedan reparar y/o gestionar de manera centralizada.

  • Es necesario que las operaciones de gestión del sitio se puedan reproducir en todos los sitios de Edge Computing para simplificar la gestión, facilitar la resolución de problemas y evitar que la configuración de software presente pequeñas diferencias entre los sitios, lo que se conoce comúnmente como "desajuste en la configuración".

  • Si bien el Edge Computing ofrece un mayor control sobre los flujos de información al restringir los datos geográficamente, la seguridad física del sitio suele ser mucho menor. Esto puede dar como resultado un mayor riesgo de situaciones maliciosas o accidentales, por ejemplo la desconexión de un cable por error.

Con todo esto planteado, es entonces que ahora se vuelve cada vez más necesario el contar con una Solución para Edge Computing que sea confiable, segura, escalable y que de inicio se ajuste a las necesidades del negocio.

¿Ya está Usted decidido de implementar Edge Computing? Lo primero entonces es asumir el compromiso de promover estrategias de nube híbrida abierta. ¿Qué significa exactamente? Esta estrategia incorpora la interoperabilidad, la portabilidad de las cargas de trabajo y la flexibilidad del software open source a los entornos empresariales. 

Se hace imperativo que todos los entornos y las aplicaciones que rodean al sistema operativo se abstraen para brindar una interacción constante con cualquier aplicación en prácticamente todos los entornos, sin tener que renovarla, volver a capacitar al personal, dividir la gestión ni sacrificar la seguridad. Además, vale la pena tener en cuenta el asegurarse que todo funcione con la tecnología Open Source, para asegurar que podrá llevar sus datos con usted, sin importar dónde se encuentre mañana.

Edge Computing es una parte importante de la visión de la nube híbrida, que permite lograr una experiencia uniforme con las operaciones y las aplicaciones. Queda pues entendido que ya se tienen varias cargas de trabajo diferentes, con distintas clases de entornos (virtualizados, sin sistema operativo, de nube pública o privada). El objetivo con el Edge Computing debe ser principalmente ayudar a llevar ese trabajo a distintas ubicaciones físicas (ya sea su centro de datos principal, docenas de sitios pequeños de edge computing, borde de dispositivo o todos los anteriores), para que pueda aprovechar al máximo la potencia informática.

El objetivo La Solución de Edge Computing debe ser primordialmente simplificar las operaciones con la implementación, la gestión y la coordinación automatizadas. Establecer una infraestructura común que abarque todas sus necesidades informáticas, de almacenamiento y de red. Con frecuencia los sitios de Edge Computing no tienen personal de TI, o lo tienen muy limitado. Por eso es un "deber ser" que una buena solución será aquella que se gestione de manera centralizada para reducir la complejidad operativa.

El consejo que le damos para diseñar un entorno nuevo de edge computing es muy sencillo: centralice todo lo que se pueda y distribuya lo que haga falta. Para ello, debe tener en cuenta su infraestructura actual para asignar los recursos informáticos disponibles al problema que desea resolver.

¿Qué se necesita para el edge computing?

En términos generales, con las soluciones integrales de edge computing se deben poder realizar las siguientes tareas:

  • Automatizar y gestionar la infraestructura desde su centro de datos principal hasta sus sitios remotos

  • Implementar, actualizar y mantener el firmware y el software en toda la infraestructura

  • Admitir cargas de trabajo híbridas, que incluyan las máquinas virtuales, los contenedores, las aplicaciones y los microservicios, entre otros

  • Permanecer en funcionamiento, aunque con capacidades reducidas, incluso cuando la conexión a Internet no sea confiable

  • Incluir una plataforma de software sólida que se pueda expandir de manera horizontal y vertical

  • Ejecutar un modelo de implementación uniforme tanto en las instalaciones pequeñas como en las grandes

¿Cuál es una posible Arquitectura recomendada para Edge Computing?

Sin entrar en marcas y nombres de procucto, quí compartimos una Arquitectura Ideal (o que al menos la consideramos ideal) que aborda los desafíos del edge computing en conjunto, y que pueden ayudarlo a diseñar una solución integral adecuada para usted.

Una base sólida que realmente funcione

Todo comienza con un seguro, escalable, confiable Sistema Operativo (de preferencia Linux). Dicho Sistema Operativo deberá ofrecer un gran ecosistema de herramientas, aplicaciones, marcos de trabajo y bibliotecas para diseñar y ejecutar aplicaciones y Contenedores. Sí. Contenedores.

Cargas de trabajo informáticas de alto rendimiento y de máquinas virtuales

Una plataforma de cloud computing que virtualice los recursos del hardware estándar, organice esos recursos en las nubes (públicas y privadas) y que los gestione para que los usuarios puedan acceder a lo que necesitan, en el momento en que lo necesitan. Los nodos informáticos distribuidos deberán admitir las cargas de trabajo informáticas de alto rendimiento y las de máquinas virtuales más exigentes, así como la virtualización de las funciones de red. Debe de ser una solución de Infraestructura como servicio confiable y escalable, que incluya las API estándares con una arquitectura multiempresa sólida.

Cargas de trabajo en contenedores

La plataforma descrita en el párrafo anterior, deberá poder sin problemas implementar y gestionar las aplicaciones basadas en contenedores en cualquier sitio compatible con el Sistema Operativo, incluso en los centros de datos públicos y privados o las ubicaciones del Edge Computing. Aquí entra la necesidad de incluir un entorno de "Kubernetes" de nivel empresarial de alto rendimiento.

Reducción del entorno

Para las situaciones en las que se requieren Clústeres independientes, con alta disponibilidad y con un entorno reducido, un Hipervisor confiable, seguro y escalable combina elementos informáticos integrando el cómputo (procesador y memoria), el almacenamiento, etc. en un solo entorno operativo.

Almacenamiento

El almacenamiento cumple una función importante en el edge computing. Almacenamiento Definido por Software (Software Defined Storage - SDS) nos permite obtener los beneficios de una solución de almacenamiento abierto y con gran capacidad de expansión para las cargas de trabajo, como la infraestructura de nube, el análisis de datos, los repositorios multimedia y los sistemas de copia de seguridad y restauración.

Mensajería y comunicación

En entornos altamente distribuidos, la comunicación entre los servicios que se ejecutan en la nube y los sitios del borde requiere mucha atención. Para responder a las demandas empresariales de forma rápida y eficiente, se necesita poder integrar las aplicaciones y los datos que se encuentran distribuidos. Se vuelve entonces indispensable contar con algún mecanismo de Mensajería de Datos que admita todos los patrones de comunicación necesarios para los casos prácticos del Edge Computing y que pueda resolver hasta los desafíos más exigentes.

Conclusión

Edge Computing no es algo nuevo que parece un experimento, o que se trate de esos ilusorios juegos de palabras inventados por algún fabricante o proveedor de productos y/o soluciones informáticas.

Se trata de un paradigma que, si decidimos implementar en nuestra empresa, negocio, organización, etc. debemos de tomarlo en serio y, tomando en cuenta la Arquitectura Sugerida líneas arriba, estar de alguna manera prevenidos para tomar en cuenta cuáles serán los retos inherentes y cómo podremos afrontarlos.

jueves, 4 de abril de 2019

¿Cómo vamos con el Código Abierto para 2019?

Muy a pesar de lo que pueda decir o pensar la gente de Redmond, Washington en Estados Unidos, más específicamente a la empresa que actualmente dirige Satya Nadella, el Código Abierto y los sistemas operativos también abiertos, son responsables, artífices y/o plataforma sobre la que se gesta gran parte del entusiasmo de la industria de TI empresarial. Éste se centra en los progresos logrados a nivel de la aplicación (y con razón), pero es Linux el que propicia estas innovaciones y ayuda a que la informática moderna avance.

Si algo nos demostró el ya no tan cercano año 2018, fue que la libertad de elección está en todos lados. Se manifiesta en las cargas de trabajo que ejecutan las organizaciones (máquinas virtuales primordialmente), en la forma en que lo hacen y en dónde residen estas aplicaciones en última instancia.

Continúan apareciendo nuevas aplicaciones empresariales, hecho acentuado por el interés que se observa en blockchain, Internet de las Cosas e Inteligencia Artificial que se ejecutan en servidores físicos, máquinas virtuales y contenedores de Linux alojados en nubes privadas o múltiples nubes públicas. Esta evolución constante es realmente apasionante y es una de las razones por las cuales nos sentimos incentivados quienes estamos directamente involucradas en las Tecnologías de la Información.

No hay nada más constante que el cambio, y es por eso que en un mundo en continua transformación, las organizaciones necesitan tener confianza y certeza para aprovechar estas innovaciones, a la vez preservando su derecho a cambiar el rumbo tecnológico a medida que surgen nuevas opciones. El único factor común que sustenta todas estas opciones, es que la mayoría de estas aplicaciones de próxima generación están basadas en:

Linux.

Gran parte del entusiasmo de la industria de Tecnologías de la Información a nivel empresarial, se centra en los progresos logrados a nivel de la aplicación (y con razón), pero es Linux el que ha propiciado estas innovaciones y coadyuvado a que la informática moderna haya avanzado y lo siga haciendo a pasos acelerados. El Sistema Operativo Linux proporciona una base común, transparente y aceptada para todo tipo de centros de datos en el que máquinas virtuales, implementaciones en la nube, aplicaciones y servicios empresariales. Del mismo modo en que La Nube hoy está íntimamente relacionada con las Tecnologías de la Información moderna, también lo está Linux.

La importancia de Linux para la TI empresarial se puso de relieve a comienzos del año 2018 con el surgimiento de las amenazas a nivel del procesador denominadas Spectre y Meltdown. Estas vulnerabilidades atacaban la estructura de hardware del sistema informático y demandó un amplio esfuerzo de la comunidad de Linux, proveedores de hardware, investigadores independientes y líderes del código abierto como Red Hat. Esto demostró no sólo cómo la comunidad de Linux trabaja en conjunto para abordar las amenazas de seguridad críticas del software, sino también cuán importante es el Sistema Operativo Linux de clase empresarial en los entornos de producción, independientemente de los servicios y aplicaciones relucientes que se ejecuten en éste.

Pero eso ya forma parte del pasado. El año 2019 marca otro giro en las Tecnologías de la Información empresariales, a medida que la complejidad en los centros de datos aumenta, la definición del responsable de la toma de decisiones de TI se amplía y la transformación digital sigue siendo protagonista. Entonces, ¿qué podemos prever para Linux?

Ya no se trata sólo del sistema operativo. Se trata de una base a partir de la cual elegir la tecnología.

Linux apuntala las aplicaciones y servicios que ayudan a las empresas a diferenciarse en un mercado cada vez más poblado. No es de extrañar entonces que los responsables de las decisiones de Tecnologías de la Información busquen una distribución del Sistema Operativo Linux, que soporte una amplia variedad de tecnologías tanto heredadas como modernas.

Los directores de informática no desean adivinar si una aplicación de un Proveedor Independiente de Software (ISV por sus siglas en inglés) determinada funcionará o no en su distribución de Linux; ellos NECESITAN tener un buen nivel de certeza de que dicha aplicación funcionará acorde al fin pretendido, con altos niveles de garantía de portabilidad para que siga funcionando aún en múltiples plataformas de hardware.

Esto significa que no basta con que una plataforma Linux sirva para atender las necesidades de una empresa hoy. Necesita ser capaz de cubrir las necesidades del equipo de Tecnologías de la Información a mediano y largo plazo.

Esto requiere contar con un sólido ecosistema de proveedores de hardware, aplicaciones y de Cómputo en La Nube que ofrezcan un espectro amplio de opciones tecnológicas. Si el compromiso carece de lo anterior, los responsables de las decisiones informáticas pueden quedarse en la oscuridad. El lugar menos aconsejable para 2019 y más allá.

El “responsable de las decisiones” pasó a ser “Los responsables de las decisiones”

La toma de decisiones tecnológicas solía ser un proceso muy aislado. Un director de informática o quizás un gerente de Tecnologías de la Información identificaba una necesidad, generaba un conjunto de requisitos, solicitaba ofertas, diseñaba una prueba de concepto y luego seleccionaba e implementaba una solución específica. En 2019 veremos cómo esta situación de silo continúa debilitándose, especialmente en lo que a Linux respecta.

Linux impacta sobre los equipos de operaciones de Tecnologías de la Información, desarrolladores, ingenieros de red, líneas de negocio y a la función del director de informática. En lugar de tener que satisfacer una serie de necesidades planteadas por el responsable de una única área, ahora los proveedores de Linux tendrán que atender un sinfín de necesidades potencialmente contrapuestas, respondiendo a preguntas como:

  • ¿Es estable? 
  • ¿Es compatible con mis aplicaciones críticas? 
  • ¿Con cuánta frecuencia se actualiza? 
  • ¿Quién le presta soporte? 
  • ¿Cuán fácil es de obtener/instalar/usar? 
  • ¿Cuán seguro es? 
  • ¿Sobre cuáles nubes públicas funciona?

No bastará con responder algunas de estas preguntas. En 2019 las distribuciones de Linux necesitarán realmente ser todo para todos, especialmente durante el proceso de selección de tecnología.

La creciente importancia de la automatización a nivel del sistema operativo.

Las maravillas que vienen asociadas a un mayor conjunto de opciones de modelos de implementación traen aparejado un costo que frecuentemente se traduce en una mayor complejidad. Sumado a un entorno de Tecnologías de la Información ya creado y complejo, las organizaciones de Tecnologías de la Información pueden enfrentarse a una telaraña de sistemas dependientes, servidores huérfanos y paquetes de procesos aislados.

Las tecnologías de automatización, como Red Hat Ansible Automation, pueden utilizarse para ayudar a aliviar esta carga al eliminar de la agenda de los administradores de sistemas e ingenieros de red las tareas complejas que insumen mucho tiempo. En 2019 veremos cómo estas tecnologías continúan creciendo pero pasarán a estar más íntimamente integradas en las distribuciones de Linux a medida que los tomadores de decisiones informáticas busquen contar con una plataforma común “segura” en sus complejas operaciones.

Esta tendencia se ve reflejada en los Roles del Sistema dentro de Red Hat Enterprise Linux. Los atributos introducidos en Red Hat Enterprise Linux 7.6  utilizan Ansible para abstraer las complejidades y facilitar que los equipos de Tecnologías de la Información puedan configurar tareas comunes del servidor Linux, tales como la conexión de redes, el correo electrónico y la seguridad.

Las Tecnologías de la Información empresariales es El Trayecto. Linux es La Ruta.

A pesar de todo el progreso que hemos visto en 2018 en torno a las tecnologías nativas de la nube, desde Kubernetes hasta las tecnología “sin servidor”, una de las cosas que seguirán siendo constantes en 2019 es que las Tecnologías de la Información empresarial son el trayecto.

No existe un momento en el cual los directores de informática aplaudan y exclamen “¡listo!”. No sucede así. Siempre hay trabajo por hacer al migrar esa última aplicación heredada o diseñar el nuevo sistema de Planificación de Recursos Empresariales (ERP por sus siglas en inglés). Siempre se podrá sacar un mayor provecho y obtener más flexibilidad de las actuales inversiones a través de tecnologías novedosas para el desarrollador como son ahora los contenedores.

Desde los recursos físicos y las máquinas virtuales hasta las nubes públicas, privadas e híbridas, el pronóstico es que Linux seguirá siendo una constante en 2019. Cualquiera sea la ruta que elija una empresa para alcanzar sus objetivos de TI, cualquier desafío que pueda enfrentar, Linux será su compañero constante.

Desde hace tiempo Red Hat ha sido el pionero en brindar tecnologías Linux de grado empresarial. Si bien la apariencia de las Tecnologías de la Información empresariales ha cambiado desde que Red Hat Enterprise Linux se lanzó por primera vez al mercado, no sucedió lo mismo y más aún con la importancia que tiene la plataforma como eje estructural de los centros de datos modernos, sea a nivel local o en la nube pública. En 2019 considere que Red Hat, al igual que Linux, constituya el soporte de sus operaciones y en definitiva, el trayecto que recorran las Tecnologías de la Información de su organización, sin importar a dónde pueda llevarlo.

En conclusión, Linux no solamente es en un 99% la columna vertebral de la Nube Pública. Linux es también en gran medida (según últimas estadísticas en un 87%) la columna vertebral de la Nube Privada.

Y si vamos más allá con la Hiperconvergencia, los Centros de Datos Definidos por Software y su espina dorsal la Virtualización, Linux, Código Abierto y todo lo que esto trae aparejado con los Estándares Abiertos, nos pone delante un universo muy basto en donde las Tecnologías de la Información de nuestras Organizaciones, Empresas e Instituciones, se verán beneficiadas a corto, mediano y largo plazo aportando mayor productividad, mayor agilidad y más rentabilidad para nuestros negocios.

viernes, 10 de agosto de 2018

10 Principales Tendencias: Por qué Open Source está en el escenario central

La imagen del software de código abierto ha cambiado. Ya no se ve como la alternativa geek, un tanto incómoda al software convencional, ahora está de moda y súper genial.

Bueno, está bien, todavía tiene una ventaja geek y todavía se trata de innovación. Sin embargo, ha crecido y madurado hasta el punto en que todos, desde las pequeñas empresas hasta los gigantes tecnológicos empresas globales, tienen el código abierto en el centro de sus estrategias.

No hay vuelta atrás. Hemos llegado al punto en que el código abierto proporciona alternativas viables y potentes, comparado a los enfoques o soluciones de propiedad. Los proyectos de código abierto ahora desempeñan un papel principal en todas las principales tendencias tecnológicas estratégicas, que están remodelando el mundo que nos rodea. Es importante que comprenda y rastree estas tendencias tecnológicas, incluso si no planea usarlas en el futuro cercano.

Para ayudarlo a familiarizarse, mencionaremos las 10 tendencias tecnológicas más importantes y los proyectos de código abierto:

1. Inteligencia Artificial (IA)/Aprendizaje Automático (ML)

Según Gartner, el valor comercial derivado de AI será de $1,200 millones de dólares este año. Se espera que tenga un impacto en todas partes, desde soporte al cliente y chatbots hasta finanzas, investigación, aprendizaje automático, automatización de operaciones y seguridad del centro de datos.

IA y ML requieren grandes conjuntos de datos y la capacidad de cómputo para un rápido análisis de datos. Muchas organizaciones están utilizando soluciones de Cómputo de Alto Rendimiento (HPC) para hacer esto y el rey del mundo de HPC es: Linux.

IA, ML, Aprendizaje Profundo, Análisis Predictivo y Redes Neuronales se encuentran entre las áreas más candentes para la investigación tecnológica, por lo que no es de extrañar que los proyectos de código abierto jueguen un papel importante. TensorFlow, Caffe, H2O, Mahout y MLlib son ejemplos destacados, pero hay muchas otras opciones disponibles. Eche un vistazo a estas listas en Datamation.com y KDnuggets.com para obtener más información.

2. Robótica

La robótica tiene una profunda influencia en nuestro ambiente de trabajo y nuestra cultura.

Ya estamos usando robots para fabricación, agricultura, almacenamiento, cirugía médica y automatización. Espere ver más en el futuro cercano, incluyendo robots colaborativos o "cobots", trabajando junto a los humanos para mejorar la eficiencia y la productividad.

El mundo de la robótica está inundado de proyectos de código abierto enfocados en hardware, software y simuladores de robots. Un ejemplo es ROS (Robotics Operating System), una plataforma de fuente abierta construida en Linux. ROS proporciona herramientas y bibliotecas para facilitar el diseño y control de robots complejos.

Pero hay mucho más disponible. Eche un vistazo a esta página de Wikipedia de Robótica abierta para profundizar en las opciones de código abierto en este espacio.

3. Internet de las cosas (IoT) e informática de punta

Las previsiones sugieren que habrá 26 mil millones de dispositivos de IoT para 2020 (Gartner), con un gasto en IoT que alcanzará casi $ 1,4 billones en 2021 (IDC). Eso es un crecimiento increíble.

IoT nos está moviendo hacia un mundo más inteligente y conectado. Las soluciones de IoT ya están apareciendo en la fabricación, el transporte, la agricultura, la gestión de activos, la infraestructura inteligente (viviendas, edificios y ciudades), los servicios inteligentes (electricidad, gas y agua) e incluso el marketing contextual. La lista es bastante larga, incluso sin todas las cosas locas de IoT que hay por ahí.

La mayor parte de los dispositivos IoT utilizan Linux incorporado. Esto tiene mucho sentido cuando busca un sistema operativo en tiempo real que sea simple, liviano, de recursos y de bajo costo.

Cuando se trata de mover el procesamiento y calcular hasta el borde de la red IoT, OpenStack está resultando popular para un modelo de nube distribuida.

¿Busca otras opciones de IoT de código abierto? Eche un vistazo a Linux.com o Postscapes.com para más información.

4. Vehículos autónomos/drones

Los vehículos autónomos nos tienen buenas noticias en este momento. Si bien es probable que comiencen a estar disponibles comercialmente en 2020, no espere ningún impacto importante hasta quizás 2025.

Por otro lado, Gartner dice que cerca de 3 millones de drones personales o comerciales fueron entregados el año pasado.

Cuando estas tecnologías realmente despeguen (perdonen el juego de palabras), los autos sin conductor y los drones se convertirán en uno de los avances más significativos de la historia moderna.

Los vehículos autónomos necesitarán funcionar en un sistema operativo sólido y seguro. La idea de que los hackers ingresen al sistema es demasiado preocupante como para contemplarla. La telemetría, el mapeo, las cámaras, los sensores, la medición de distancia, la visión artificial y las técnicas de Aprendizaje Automático también serán cruciales.

Los fabricantes de automóviles están comenzando a darse cuenta de que el enfoque de código abierto de colaboración y cooperación facilitará la resolución de muchos de estos desafíos. Automotive Grade Linux (AGL) y OpenCV están ganando popularidad, mientras que incluso Tesla ha decidido recientemente lanzar su código Linux de código abierto.

Para los drones, el código abierto tiene numerosos proyectos para elegir. Eche un vistazo a las opciones en esta lista de Caldat.com.

5. Big Data y Analíticos

Big Data es otra tendencia tecnológica enorme que no se puede ignorar. IDC espera que este mercado alcance los $ 210 mil millones en 2020, en gran medida liderado por inversiones bancarias y de manufactura.

Big Data y el análisis de datos son un hilo común entre muchas otras áreas tecnológicas de tendencia, como IoT, AI, ML y el cómputo en La Nube.

Una vez más, el código abierto brinda muchos de los mejores Relational Data Base Management Systems (sistemas de administración de bases de datos relacionales), motores de análisis y soluciones de computación distribuida, que se necesitan en este espacio. Estos incluyen EDB, PostgreSQL, MariaDB, MongoDB, Apache Spark, Apache Cassandra, Apache Kafka y Hadoop.

Además, una cuarta parte de todas las implementaciones en la nube de OpenStack se utilizan para ejecutar grandes volúmenes de datos o cargas de trabajo de minería de datos.

Un proyecto adicional de código abierto es digno de mención. Gestionar el crecimiento exponencial de los datos es un problema importante. Los grandes datos y análisis están obligando a las organizaciones a pensar cuidadosamente sobre la variedad de almacenamiento, el volumen y la velocidad.

Ceph es la solución de almacenamiento de código abierto definida por software que ayuda a resolver este problema.

El software libre y de código abierto tiene una larga e interesante historia. Puede rastrear algunos de sus orígenes hasta el molesto problema de Richard Stallman con una impresora o el proyecto de informática de Linus Torvald mientras estudiaba en la Universidad de Helsinki.

Intermedio: Las cosas ciertamente han cambiado desde entonces.

El software de código abierto ya no es solo un proyecto de estudiante o incluso solo el dominio de los aficionados y los piratas informáticos. En la actualidad, domina prácticamente todos los sectores de la industria de la informática y se ha convertido en un soporte confiable para las Tecnologías de la Información utilizado por todos, desde consumidores individuales hasta las corporaciones globales más grandes.

Los proyectos de código abierto están ahora a la vanguardia de todas las principales tendencias tecnológicas estratégicas que impactan en nuestro mundo. Incluso si aún no ha decidido adoptarlos, querrá mantenerse al tanto de estas tendencias y estar listo para aprovecharlas cuando sea el momento adecuado.

6. Impresión en 3D

La impresión en 3D ya se está utilizando para diseñar y producir piezas especiales para la industria aeroespacial, fabricación, automóviles de F1, drones, prótesis, investigación médica e incluso grandes proyectos de construcción industrial.

Algunas estimaciones sugieren que el valor de mercado de la impresión en 3D podría superar los $32,000 millones de dólares en 2023.

La firma analista Gartner predice que para 2021:

  • El 75% de los nuevos aviones comerciales y militares volarán con motor 3D impreso, fuselaje y otros componentes
  • El 25% de los cirujanos practicará en modelos impresos en 3D del paciente antes de la cirugía
  • El 20% de las 100 empresas de bienes de consumo más importantes del mundo utilizará la impresión 3D para crear productos personalizados.

Las comunidades de impresión en 3D y de código abierto encajan perfectamente. Hay una gran cantidad de impresoras 3D disponibles con diseños de hardware abiertos y código fuente de software abierto. Consulte la lista all3dp.com para conocer algunas de las opciones que quizás desee considerar.

Incluso puede obtener una impresora 3D de código abierto autorreplicante de RepRap. Una vez que tenga su propio funcionamiento, puede imprimir todas las partes para construir otro para un amigo. También encontrará una gran cantidad de archivos de imagen en 3D de código abierto (plantillas de productos prediseñados) disponibles para su descarga y uso.

7. Realidad Virtual/Realidad Aumentada

La realidad virtual (VR) y la Realidad Aumentada (AR) están a punto de explotar más allá de los límites de los juegos de computadora o los simuladores de vuelo.

La Realidad Virtual describe un entorno digital generado por computadora, que es lo suficientemente real para explorar e interactuar. La Realidad Aumentada superpone elementos Realidad Virtual o información en tiempo real en nuestra propia visión del mundo real, para mejorar lo que ya estamos experimentando. Piense en Pokémon Go.

IDC pronostica que el gasto en productos y servicios de AR/VR llegará a $27,000 millones de dólares en 2018. Eso es casi el doble de lo que era hace un año. Para 2020, Gartner predice que las soluciones inmersivas de AR, VR y realidad mixta serán evaluadas y adoptadas por el 20% de las grandes empresas, como parte de su estrategia de transformación digital.

Espere ver que VR y AR se usen para entrenamiento (de pilotos de aerolíneas a cirujanos y más allá), cuidado de la salud (terapia física y psicológica), turismo y parques temáticos, productos y visualización arquitectónica, artes, deportes, entretenimiento y mucho más.

Los campos de VR y AR están vivos con las posibilidades de código abierto. Aquí hay un par para ver:

  1. Varias plataformas y motores de fuente abierta están disponibles para crear aplicaciones de realidad virtual, juegos, gemelos digitales y medios de inmersión. Eche un vistazo a ApertusVR, OpenSpace3D y OSVR.
  2. Los SDK de código abierto (Kits de Desarrollo de Software) están disponibles para crear aplicaciones de Realidad Aumentada que permiten que su teléfono detecte su entorno, comprenda lo que sucede a su alrededor y le permita interactuar con la información. Consulte ARCore de Google, ARToolKit o DroidAR.


8. Blockchain

Blockchain se ha unido casi inseparablemente a la criptomoneda de Bitcoin y ambos han estado recibiendo una gran cantidad de publicidad recientemente. Incluso si eres escéptico sobre la idea de las criptomonedas, tal vez quieras echar un vistazo a Blockchain.

Blockchain hace posible configurar un Libro Mayor Digital distribuido. Efectivamente, un registro inmutable y transparente para datos y transacciones. Piense en ello como un registro global de la verdad. No es de extrañar que esté creando una ola de entusiasmo en los círculos gubernamentales, financieros, comerciales y de atención médica.

451 Research informa que el 28% de las empresas ya están experimentando con Blockchain.
Su organización debería serlo también, si alguno de los siguientes factores es importante para su negocio:

Contratos inteligentes; gestión de identidad y fraude; anti lavado de dinero; transacciones legales y financieras; mantener registros personales accesibles pero seguros; garantizar la seguridad de los sistemas de Internet de las Cosas.

Como era de esperar, Open Source ofrece algunas plataformas y opciones tecnológicas de alto nivel de Blockchain. Incluyen HyperLedger, Openchain, Ethereum, HydraChain (una extensión de la plataforma Ethereum), Quorum y MultiChain.

En aras del equilibrio, debemos señalar que BlockChain tiene usos muy específicos. No será de interés para todos. Eche un vistazo a las "11 preguntas en este artículo del Foro Económico Mundial" para ayudar a decidir si BlockChain podría ser adecuado para su negocio.

9. La Nube/Movilidad/Todo Definido por Software

El Cómputo en La Nube ha existido desde hace más de 20 años. Dado que está tan bien establecido, ¿podemos seguir considerándolo como una "tendencia tecnológica caliente"? Sí, creo que podemos.

El gasto en Cómputo en La Nube y soluciones de TI Móviles no va a disminuir en el corto plazo. Cloud IT es el factor común que vincula la mayoría de las tendencias tecnológicas que he destacado. El cambio a Software Defined Everything (SDx) parece imparable y nuestros teléfonos inteligentes se han convertido en nuestro portal para el mundo de la información y los medios que nos rodea.

No sorprende que Open Source sea un jugador importante en el Cómputo en La Nube. Hoy la broma popular es:

- Niño: papá, ¿de qué están hechas las nubes?
- Padre: servidores Linux, en su mayoría.

Según Microsoft, el 40% de todas las máquinas virtuales (máquinas virtuales) en Azure ahora están ejecutando Linux. ¿Microsoft? Sí. Microsoft. La mayoría de los observadores piensan que el número real es mucho más alto que eso.

OpenStack es, sin duda, la mejor opción para cualquiera que busque una plataforma en la nube de código abierto. Ceph es la solución ideal de Software Defined Storage (SDS), para ayudar a cambiar la economía del almacenamiento en la nube. Y para aplicaciones en contenedores o nativas de la nube, Kubernetes y Cloud Foundry se han convertido rápidamente en luces líderes del código abierto.

10. Seguridad cibernética

Violaciones de seguridad de datos, virus, ataques de ransomware y otras amenazas se están convirtiendo en noticias casi a diario.

La seguridad cibernética es ahora una de las principales preocupaciones para casi todos los líderes de TI. ¿Por qué? Porque afecta su capacidad para alcanzar sus objetivos comerciales y proteger su reputación corporativa. Por supuesto, sus trabajos y carreras también están en juego.

No es de extrañar que Gartner pronostique que el gasto mundial en seguridad alcanzará los $96 mil millones este año.

Las amenazas provienen de todas las direcciones y el software de código abierto no es inmune. Sin embargo, tiene algunas ventajas importantes. Primero, tiene el poder de la comunidad detrás de esto. El código esta abierto. Está ahí para que todos lo vean. Los errores y problemas se pueden identificar y corregir rápidamente. Un buen ejemplo es la rapidez con que SUSE y la comunidad de Linux reaccionaron ante las vulnerabilidades del procesador/chipset de Meltdown y Spectre y la rapidez con que se lanzaron los parches.

También hay muchas herramientas de seguridad de código abierto disponibles. Eche un vistazo a esta página web de HackerTarget.com para ver su lista de las 15 herramientas esenciales de seguridad de código abierto.

Un futuro brillante para el código abierto

Parece haber poca (o nula) duda de que el software de código abierto está aquí para quedarse. Ha luchado en las últimas tres décadas para ganarse un lugar en el panorama tecnológico. Más allá de eso, el nivel de innovación generado por las comunidades involucradas asegura virtualmente que el código abierto será un factor clave en las tendencias tecnológicas del futuro.