jueves, 7 de enero de 2016

El porque de la trasformacion de la Organizacion IT !!!

Mucho se habla en el mercado y en la industria de las TIC acerca de como el Cloud Computing va a cambiar o esta ya cambiando las reglas del juego habituales que todos conocíamos. Lo cierto es que tanto fabricantes de tecnología (los de siempre ó los nuevos players) como integradores todos arriman el "ascua a su sardina",  lo cual no deja de ser predecible aunque no por ello bastante interesado y por ello, conocido.



Poniendo como referencia cualquiera de los 3 modelos de entrega de Servicios IT basados en Cloud Computing: IaaS (Infraestructura como Servicio), PaaS (Plataforma como Servicio) y SaaS (Software como servicio), bajo cualquier de las 3 tipologías mas conocidas, ya sea nube privada, nube publica (quizás la mas conocida) y nube híbrida (quizás la de mayor potencial); me gustaría compartir mi punto de vista acerca de los cambios que o se están produciendo o se van a producir en las Organizaciones IT promovidas indirectamente por el Cloud Computing o de forma directa por la denominada Tercera Plataforma (Cloud Computing, Big Data, Movilidad y Social Media) en lo mas extenso del termino conocido como Movilidad (BYOD, IoT, Wearables, Insideables, APIs, Pagos con Moviles (NFC), Diseño Adaptativo & Responsivo, etc...).




Creo que estos cambios tienen diferentes aspectos a gestionar y gobernar en el propio seno de la Organizacion IT:

1- Cambios en las tecnologías de la infraestructura (tanto en su implantación como en su mantenimiento)
  • Convergencia en las redes
    • Redes de datos LAN y redes de almacenamiento SAN
  • Convergencia en las infraestructuras 
    • Diferentes enfoques por fabricantes: vBlock, FlexPod, etc...
  • Hyperconvergencia (gestión conjunta del computo y del almacenamiento)
    • Enfoques similares por fabricantes y mundo open source: Kaviza, Proxmox, Nutanix, Trinity, vEVO:Rail, etc...
  • Almacenamiento definido por software 
    • Enfoques similares por fabricantes: vSAN, ViPR, etc...
  • Redes definidas por software (gestión conjunta de las redes de datos LAN con el computo y el almacenamiento)
    • Aparición de nuevos protocolos como vXLAN, NVGRE y nuevos enfoques de fabricantes: vNSX, etc...
    • Inclusión de routers lógicos, balanceadores lógicos y firewalls de red lógicos junto a los ya existentes switches de red lógicos
Y en definitiva todo aquello que permita y posibilite el SDDC (Centro de Datos definido por software), es decir, poniendo foco en el software en base a la abstracción total del hardware, lo que posibilita grandes oportunidades para la automatización y la orquestación. Puede que aquí sea donde se presentan mas retos y desafíos, ya sea a través del manejo híbrido de las existentes maquinas virtuales (VMs) como al manejo de los nuevos contenedores (basados en Docker) y en todo su nuevo ecosistema (Kubernettes, Mesos, Marathon, etc...).

2- Cambios en las aplicaciones (tanto en su desarrollo como en su mantenimiento):
  • Que se ejecuten en hardware x86_64
  • Que estén desacopladas
    • Tanto de la infraestructura (Sistema operativo, etc...)
    • Como de las tecnologías de la infraestructura (Web Servers, Application Servers, Integration Servers, Datacache Servers, Database Servers, ECM, WCM, Directory Servers, etc...)
  • Que "crezcan" y escalen horizontalmente
    • Nodos de aplicaciones stateless en lugar de stateful
    • Compartición de info mediante servicios de almacenamiento
      • Fichero
      • Bloque
      • Objeto
  • Que usen llamadas asíncronas  
    • Web Services, es decir, servicios web
      • REST mejor que SOAP
      • Evitar el uso de llamadas RMI
      • Evitar el uso de DBLinks
    • Potenciar el uso de APIs 
      • API Managers
        • Funcionalidad básica (API tipo proxy) o avanzada
        • QoS ("Grifo" del ancho de banda a consumir por cada API)
        • Seguridad logica (Certificados, Tokens, etc...)
        • Monetización del uso (de cada API publicada)
    • Potenciar el uso de tópicos y colas para la mensajería
      • Queue Servers
      • ESBs, etc...
  • Uso de micro-servicios en lugar de monolitos
    • Aproximación gradual y progresiva
    • Incorporación del uso de contenedores o sin ellos
Y en definitiva todo aquello que permita y posibilite el SDDC (Centro de Datos definido por software) dentro del mundo de las aplicaciones y su integración,


 3.- Cambios de Procesos (y sus procedimientos... ya sean predictivos o adaptativos):

Parece que ya no es ni va a ser suficiente con el ya mas que conocido cambio alternativo de las metodologías de gestión de proyectos de desarrollo de aplicaciones, de aproximaciones predictivas a aproximaciones ágiles (ojo, hago foco en la agilidad, NO en el agilismo), sino que se precisan y se van a precisar nuevos métodos, procesos y roles para gestionar todo lo ya comentado anteriormente y todo lo que viene además (realidad aumentada & virtual, drones, ro-botica, inteligencia artificial, hologramas, impresión 3D, etc...),

Es por esto que están tomando un fuerte impulso nuevas formas de hacer las cosas a como hemos  venido haciendo de forma tradicional, ya sea de forma predictiva o adaptativa, y se empiezan a escuchar ideas nuevas como las que proponen IT4IT,  DevOps,  LeanIT, etc... con nuevos mensajes que en ocasiones suponen un importante cambio cultural y de actitudes en las personas que forman parte de la propia organización IT:



La respuesta será NUNCA, ya que se trata de un flujo de extremo a extremo compuesto por la integración y entrega continua en el IT Delivery, al mismo tiempo, que la monitorización (avanzada) y el feedback continuo en la IT Operation.

Espero que os aporte a todos.