Categories
54cuatro-EN

NoSQL Governance

NoSQL databases have grown significantly in recent years and now almost all companies have #NoSQL installations as part of their business data program. #Gartner estimates that 90% of the data is ‘unstructured’. In an increasingly #Agile / #DevOps / #DataOps world, the use of NoSQL bases for application development is considered a great advantage to accelerate time to market time for software.

Developers can create the scheme and design the database through their own code without the participation of traditional #DBA teams. But the lack of formal design and inadequate processes can generate problems for the application and can affect the general governance of company data. For example, it is difficult to determine what is stored in what place. It also poses a great challenge for auditing and compliance reports for companies.

As there are usually possibilities for more than one type of NoSQL bd to be used in conjunction with an RDBMS db, a more robust data governance framework is required to understand the data that is stored in such a variety of database technologies.

Finally, DBAs and other data professionals may now have to review the application code to understand the scheme and determine if the problem is in the data, the scheme or the infrastructure, which makes troubleshooting more complex.

It is really very important that ‘data-driven’ or ‘data-driven’ organizations adopt a new thought that involves the challenge of taking advantage of the latest NoSQL database technologies and also trying to maintain the integrity, quality and governance of the underlying data.

[popup_anything id=”2095″]

Categories
54cuatro

Gobernanza de bases No SQL

Las bases NoSQL han crecido significativamente los últimos años y actualmente casi todas las empresas tienen instalaciones #NoSQL como parte de su programa de datos empresariales. #Gartner calcula que el 90% de los datos es ‘no estructurado’. En un mundo cada vez mas #Agile/#DevOps/#DataOps, la utilización de bases NoSQL para el desarrollo de aplicaciones se considera una gran ventaja para acelerar el tiempo de time to market de software.

Los desarrolladores pueden crear el esquema y diseñar la base de datos a través de su propio código sin la participación de los tradicionales equipos de #DBA. Pero la falta de diseño formal y procesos inadecuados pueden generar problemas para la aplicación y pueden afectar el gobierno general de los datos de la empresa. Por ejemplo, es difícil determinar qué se almacena en qué lugar. También plantea un gran desafío para la auditoría y los informes de cumplimiento para las empresas.

Como habitualmente hay posibilidades de que se use más de un tipo de bd NoSQL junto con una db RDBMS se requiere un marco de gobierno de datos más sólido para comprender los datos que se almacenan en tal variedad de tecnologías de bases de datos.

Finalmente los DBA y otros profesionales de datos ahora pueden tener que revisar el código de la aplicación para comprender el esquema y determinar si el problema está en los datos, el esquema o la infraestructura, lo que hace mas complejo el troubleshooting.

Realmente es muy importante que las organizaciones ‘guiadas por los datos’ o ‘data-driven’ adopten un nuevo pensamiento que involucre el desafío de aprovechar las últimas tecnologías de base de datos NoSQL y también tratando de mantener la integridad, la calidad y gobernanza de los datos subyacentes.

[popup_anything id=”2076″]

Categories
54cuatro

Porque fracasa la Transformación Digital en algunas empresas

Se asocia inmediatamente la transformación digital, con implementaciones tecnológicas.

En parte es correcto, el proceso de transformación digital requiere que los componentes tecnológicos apoyen cambios en la organización; pero previo a eso existen dos componentes claves.

#Personas y #Procesos.

El foco del cambio tiene que venir por el quiebre de mentalidades clásicas, estáticas, rígidas. Ese cambio debe ser apalancado con procesos ágiles y medibles.

A partir de eso, se podrán implementar soluciones de tecnología que afecten los servicios de fabricación, de atención al cliente, de entrega, etc.

Las empresas tecnológicas lógicamente quieren vender tecnología. Pero realizar ventas sin tener recorridos periodos de maduración que permitan absorber esos nuevos componentes asegura el fracaso de la adopción tecnológica, logrando que no exista transformación alguna en la organización. Cada proceso de transformación debe entender factores externos como el rubro del cliente, la industria, su competencia, sus objetivos e incluso entender la incertidumbre económica, las desaceleraciones globales de consumo, entre otros factores, por que incluso las crisis manifiestan situaciones auspiciosas para la creación y/o modificación de culturas y procesos. También debe entender factores internos, como el tipo de management, la resistencia al cambio, el nivel profesional, roles y responsabilidades.

En vez de chocar contra los obstáculos, es necesario gestionarlos de manera que se derroten a si mismos.

Un cambio fundamental en el proceso es conocer el estadio de Alfabetización de Datos, algo clave para cualquier empresa que aspira a lograr una Digitalización Empresarial, a partir del uso de los datos y la #analítica avanzada. #Gartner recomienda preguntarse lo siguiente:

  • ¿Cuántas personas en la empresa pueden interpretar operaciones estadísticas sin inconvenientes?
  • ¿Cuántos líderes son capaces de construir una estrategia de negocio basándose en números concretos y relevantes?
  • ¿Cuántos gerentes son capaces de explicar claramente el resultado de sus operaciones o procesos utilizando determinados datos?
  • ¿Cuentan con científicos de datos que sean capaces de explicar algoritmos de aprendizaje automático?
  • ¿Cuántos de sus clientes tienen la capacidad de apreciar e interiorizar la esencia de los datos que comparte con ellos?

«Las #organizaciones no solo deben educar a sus #colaboradores para que hagan uso de los datos en la producción de soluciones, productos o servicios para garantizar que su entendimiento les ayude a alcanzar sus metas; también deben asegurarse de que al interior de la organización todos hablen el mismo lenguaje de datos para desarrollar una comunidad que se retroalimente para ser más competitiva», afirma Donald Feinberg VP de Gartner.

Con todo estas variables sobre la mesa, es necesario efectuar un programa que permita adoptar nuevas culturas orientadas a la colaboración y la mejora continua, pulir procesos o incluso automatizarlos, e implementar componentes tecnológicos que aceleren los cambios.

[popup_anything id=”2076″]

Categories
54cuatro

Que es DevOps

Esta nota fue publicada originalmente en Linkedin

Ya es sabido que es #DevOps. Un movimiento cultural combinado con una serie de prácticas de desarrollo de software que permiten entregar productos finales de forma rápida.

DevOps tiene pilares fundamentales como son la comunicación, responsabilidad, respeto y confianza de los miembros de un equipo.

El uso de herramientas y flujos de trabajo aptos para DevOps puede ayudar a su equipo a trabajar de una manera más DevOps “friendly”, pero es crucial crear una cultura que respalde el ideal del movimiento.

Analizando algunos ideales, entendemos que el foco está en el producto. Un equipo DevOps trabaja sobre el rendimiento del producto en todo su ciclo de vida, discutiendo los requisitos, las características, los cronogramas, los recursos y la cantidad de datos que podrían surgir, y genera objetivos conjuntos.

Esos Objetivos medibles comunes pueden ser:

  • Reducir el tiempo de time-to-market.
  • Aumentar la disponibilidad.
  • Reducir el tiempo necesario para implementar.
  • Aumentar el porcentaje de defectos detectados en #testing antes de pasar a producción.
  • Hacer un uso más eficiente de la infraestructura.
  • Proporcionar el rendimiento y la experiencia del usuario al gerente de producto.

Estos objetivos tienen un impacto monetario en su negocio, ya que le cuesta mas horas-hombre cuando el software tarda mas días de lo planificado en ser liberado. Le cuesta ingresos cuando el producto no está disponible para el uso de sus clientes. Aumenta su costo operativo por ejecutar su infraestructura de manera poco eficiente.

Tomando lo que sabe sobre estos valores, puede poner un valor monetario para mejorar cualquiera de ellos.

Su #stakeholder estará interesado en los objetivos mensurables que haya desarrollado.

Los objetivos nos permiten fijar metas.

Recuerde que DevOps es un nombre inapropiado: lleve DevOps más allá de los desarrolladores y las operaciones, para incluir aseguramiento de la calidad, servicio al cliente, personal comercial y liderazgo ejecutivo si es posible.

¿Necesitamos ser 100% Devops?

Tal vez no. DevOps es arriesgado para aplicaciones heredadas y organizaciones establecidas. Quizás deba mantener estos dos modos de operación separados según la aplicación. Tal vez necesitamos un sistema híbrido como el modelo definido por Garnet como IT Bimodal.

#Gartner describe a #IT-Bimodal de la siguiente manera: es la práctica de administrar dos modos separados y coherentes de entrega de TI, uno centrado en la estabilidad y el otro en la agilidad. El Modo 1 es tradicional y secuencial, haciendo hincapié en la seguridad y la precisión. El modo 2 es exploratorio y no lineal, destacando la agilidad y la velocidad. ¿Necesitamos ser 100% DevOps? Quizás no, pero de una forma u otra, se necesita hacer cambios, fundamentalmente romper con los silos y mejorar la productividad.

(Producto = Tiempo + Recursos)

Hay dos formas de aumentar la productividad. Disminuir los tiempos o aumentar los recursos.

Se alienta a los sectores de desarrollo a reducir los tiempos de desarrollo. Y se alienta a los sectores de Operaciones a mantener la productividad. Estos incentivos no son compatibles entre sí.

DevOps debería ayudar al negocio de la compañía a actuar por igual sobre los responsables del tiempo y los recursos.

El desafío para cualquier compañía es tener diferentes equipos que funcionen como uno solo.

Y en ese marco es importante gestionar el Estancamiento y Obsolescencia. Las organizaciones deben asegurarse que los sistemas de información con los que trabajan estén en un proceso continuo de actualización de los componentes. Es por ello que se debe crear un plan de obsolescencia.

La tendencia actual de IT, es tener todo definido como servicio. #IaaS, #PaaS, #SaaS. Todo será definido por el software. Los sectores de infraestructura deben superar el desafío de la transformación. El modelo de infraestructura actual está orientado a servicios y no a la granja de servidores. “El software se está comiendo el mundo”.

¿Cómo llevar un desarrollo obsoleto y estático a un modelo DevOps?

Una forma de actualizar una aplicación obsoleta es dividir las funciones en microservicios. Un microservicio debe hacer una sola cosa, pero debe hacerlo bien.

Los microservicios son simples, fáciles, pero es necesario mantenerlos estrechamente controlados y tomar precauciones para que no haya creación descontrolada de microservicios en toda la compañía.

Tener una entrega continua ayuda a las empresas a mantenerse alineadas con el objetivo de tener un producto de acuerdo con los requisitos del mercado, gracias a la reducción del tiempo de lanzamiento al mercado.

Y si algo funciona, hay que seguir mejorandolo. No importa qué tan bien funcione un sistema, siempre se puede mejorar. Mejorar y aprender nos ayuda a tener un sistema “vivo” que se adapta mejor a las demandas del negocio.

Mucho se habla acerca de Herramientas DevOps. Pero… ¿Cuáles son herramientas DevOps?

  • Cualquiera que nos permita automatizar
  • Cualquiera que maneje configuraciones
  • Cualquiera que realice implementaciones automáticas
  • Cualquiera que maneje registros
  • Cualquiera que monitoree desempeño y capacidades

No existe un método de implementación de herramientas DevOps. Cada uno debe crear su propia caja de herramientas, pero debe centrarse en la automatización. Es importante lograr que cualquier tarea repetitiva sea automatizada. Automatizar aumenta las capacidades de los sistema, reduce las fallas, reduce el tiempo de ejecución y principalmente, puede medirse.

Que se puede automatizar?

  • Creación de #nubes y #VM
  • #Despliegues de la aplicación
  • Planificación de capacidades
  • Control de Intentos de acceso no permitidos
  • #Backup/#Restore
  • Gestión de configuración
  • Gestión de #parches
  • Actualizaciones de #CMDB (Y acá existe algo importante para mencionar. No importa cuán malo sea tu CMDB, necesitas tener una)

Lograr el despliegue automático tiene grandes implicancias en la reducción del time-2-market, en reducir la fricción entre desarrollo y operaciones, permite un rollback de manera rápida y disminuye en gran medida los downtimes provocados por fallas.

Para el control de funcionamiento y fallas, es necesaria una gestión inteligente de eventos ayuda a identificar problemas, errores y posibles desviaciones en el funcionamiento de un sistema. Esta informacion, junto a la medición de rendimiento nos permite medir la capacidad de los recursos para cumplir los objetivos establecidos y saber qué tan bien estamos utilizando nuestros recursos. Y junto con saber sobre la utilización de los recursos, es importante realizar la planificación de capacidades de nuestra plataforma. Conocer el uso de los recursos (y optimizarlos), proponer alternativas tecnológicas, analizar el cumplimiento de SLA, listar riesgos y principalmente aumentar la alineación entre negocios y tecnología.

DevOps nos permite aumentar el ROI. Porque? Porque en muchas casos nos permite reutilizar infraestructura o aprovechar las ventajas de plataformas más elásticas que se adaptan mejor a la estrategia de la empresa. La nube ofrece un concepto de “pago por uso”, lo que se traducido a gastos permite un ahorro en costos y convertir CAPEX en OPEX.

¿Que se puede esperar a corto plazo en materia de DevOps?

Creo que es importante llevar la conversación de DevOps más allá del ámbito técnico. Participar a la cadena de negocios completa para entregar valor de extremo a extremo. Esto incluye grupos como marketing, ventas, finanzas, legales, recursos humanos y más. Involucrar a estos grupos tan pronto como sea posible en el proceso ayudará a las organizaciones a construir mejores soluciones, al tiempo que evitarán los retrasos que se suelen generar por la burocracia del propio funcionamiento de silos verticales tradicionales.

Actualización 31/05/2019: esta nota fue publicada en #Infotechnology, mi ultima nota como #CTO de #Nubiral antes de emprender www.54cuatro.com

[popup_anything id=”2076″]