Tecnologia
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

Si pretendes recurrir a la computación en 'nube' para simplificar tu entorno de tecnologías de la información, me temo que tengo malas noticias para ti. Sí, puede que descubras que estás menos preocupado por la infraestructura, menos preocupado acerca de cómo funcionan los sistemas de almacenamiento en red o por cuál red utilizar para conectar una fuente de recursos virtualizados, o incluso cuál configuración de software de interconexión es la más óptima para tus aplicaciones.

Sin embargo, para cada problema eliminado al elegir la nube, encontrarás que sólo crea más problemas de los cuales tú sigues siendo responsable, y puede incluso crear algunos nuevos problemas que nunca tuviste que enfrentar antes. Y así es como debe de ser.

Permíteme explicar...

Cuando describo la computación en 'nube' como un modelo de operaciones enfocado en las aplicaciones, una de las primeras preguntas que debe venir a la mente es: "¿Operaciones de qué, exactamente?" El hecho de que la nube se enfoque en la aplicación, de ninguna manera implica que la aplicación es todo lo que está siendo operado. De hecho, al igual que en cualquier otra tecnología informática desde las primeras computadoras electrónicas, la aplicación no podría existir sin una infinidad de cosas que la apoyan.

Y el mundo no consiste en una aplicación única, sino, de hecho, en millones de aplicaciones. La mayoría de ellas están interconectadas de alguna manera, y la matriz de código, datos, infraestructura, personas, políticas, requisitos y demás que conforman a las tecnologías de la información modernas son, en última instancia, un sistema complejo muy interconectado. La computación en nube es sólo una (muy efectiva) manera de lidiar con esa complejidad.

La nube como un sistema complejo

Lo interesante es que la ciencia tiene todo un campo de estudio construido alrededor de los sistemas complejos. Un sistema complejo, de acuerdo con Wikipedia, es "un sistema compuesto de partes interrelacionadas que, como un todo, exhiben una o más propiedades (comportamiento entre las posibles propiedades), que no son evidentes a partir de las propiedades de las partes individuales".

Eso es especialmente cierto en el moderno entorno interconectado de las tecnologías de la información. Basta con mirar los sistemas de comercio automatizado y el famoso crash flash, por ejemplo - sistemas diseñados para aumentar los rendimientos en el mercado que reaccionan entre ellos en un modo que temporalmente desploma ese mercado. Otros ejemplos abundan, y estoy seguro de que tu propio entorno de tecnologías de la información a menudo se comporta de maneras en que ninguna aplicación u otro elemento individual fueron diseñadas para comportarse de manera explícita.

Lo que la ciencia nos enseña acerca de los sistemas complejos es que se componen de muchos agentes individuales, cada uno de los cuales afecta y es afectado por los agentes a su alrededor. Los circuitos de retroalimentación de eventos creados por agentes que se afectan entre sí, tanto directa como indirectamente, en combinación con los mecanismos que eligen comportamientos en respuesta a esos eventos, se combinan para crear el comportamiento sistémico que es tan impredecible.

La 'nube' como un sistema adaptativo

Si embargo, la cuestión es que una cierta clase de sistemas complejos, los sistemas adaptativos complejos, tienen la característica adicional de que pueden cambiar su comportamiento en respuesta al éxito o el fracaso de las conductas anteriores cuando se produce un determinado evento, o cuando ocurre una cierta serie de acontecimientos. Esta capacidad de 'aprender' y adaptarse al entorno del sistema circundante crea resultados sorprendentes, incluyendo algunos de los sistemas más ricos, duraderos y poderosos en el universo.

Piensa en la biología. Piensa en la economía. Piensa en los ecosistemas.

Las tecnologías de la información son adaptativas, en la medida en que ganar funcionalidad hace que sobrevivan y prosperen, mientras que la pérdida de esa funcionalidad provoca que mueran y desaparezcan. Por lo tanto, aquellos que invierten en la construcción de las tecnologías de la información buscan constantemente formas para que su tecnología sobreviva en un ambiente cambiante y a menudo hostil.

Si una aplicación, o función, o incluso una sola línea de código no logra agregar valor al ambiente -o peor, altera negativamente el valor del ambiente- será removida o cambiada, de una manera u otra. Aquellos que dependen de las tecnologías de la información están buscando constantemente formas de optimizar las aplicaciones, datos y tecnologías para sacar el máximo provecho de sus entornos de sistemas.

El resultado es una constante innovación y adaptación a nuestras necesidades como empresas y particulares. No siempre es agradable, como dicen, pero hasta ahora ha sido bastante eficaz (debo señalar que esto aplica incluso a las aplicaciones 'legado' que se modifican con poca frecuencia; existe una decisión permanente de no modificar este tipo de aplicación, por lo que sigue sobreviviendo).

El desarrollador como ADN

Quiero hacer una última reflexión. Una de las cuestiones acerca de los sistemas adaptativos complejos son los rasgos de aprendizaje o de adaptación de los agentes en el sistema. En el mundo de la evolución, el principal agente de cambio o aprendizaje es el ADN. En el mundo de las tecnologías de la información, el agente de aprendizaje o cambio es el ingeniero o desarrollador de software.

Si algo sale mal con una aplicación, los desarrolladores están bajo presión para arreglarlo, cambiarlo o eliminarlo. Si el hardware existente no consigue crear nuevas oportunidades para innovar, los ingenieros encuentran nuevos enfoques que luego introducen en el ecosistema para cambiar las cosas.

Sin embargo, los desarrolladores y los ingenieros sólo pueden hacer uno o algunos pocos de esos cambios en los componentes a la vez. Nadie puede configurar el 'sistema' para que funcione de una manera esperada. Todo lo que puedes hacer es realizar un monitoreo constante del éxito y la eficacia de las tecnologías que implementas en la 'nube', y ajustarlas constantemente para que sean tan útiles como puedan en ese entorno.

Depende de la gente crear tecnologías que sobrevivan a la 'nube' como un sistema complejo - un componente a la vez. Bien, así es como debes lidiar con ello.

Fuente: CNNexpansión / Por: James Urquhart

Publicado por: TuDecides.com.mx
Edición: Adrián Soltero
Contacto: dir@tudecides.com.mx

Nota: Por lo general todos los artículos cuentan con fuente y autor del mismo. Si por alguna razón no se encuentra, lo hemos omitido por error o fue escrito por la redacción de TuDecides.com.mx.

 

Suscríbase para recibir novedades, regalos y artículos

Su email jamás será compartido con nadie. Odiamos el spam.

Te puede interesar...

Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Marketing
Set of techniques which have for object the commercial strategy and in particular the market study.
DoubleClick/Google Marketing
Accept
Decline
$family
Accept
Decline
$constructor
Accept
Decline
each
Accept
Decline
clone
Accept
Decline
clean
Accept
Decline
invoke
Accept
Decline
associate
Accept
Decline
link
Accept
Decline
contains
Accept
Decline
append
Accept
Decline
getLast
Accept
Decline
getRandom
Accept
Decline
include
Accept
Decline
combine
Accept
Decline
erase
Accept
Decline
empty
Accept
Decline
flatten
Accept
Decline
pick
Accept
Decline
hexToRgb
Accept
Decline
rgbToHex
Accept
Decline
min
Accept
Decline
max
Accept
Decline
average
Accept
Decline
sum
Accept
Decline
unique
Accept
Decline
shuffle
Accept
Decline
rgbToHsb
Accept
Decline
hsbToRgb
Accept
Decline
Básicas
Accept
Decline
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Accept
Decline
Analíticas
Accept
Decline
Functional
Tools used to give you more features when navigating on the website, this can include social sharing.
AddThis
Accept
Decline
$family
$hidden
Accept
Decline
overloadSetter
Accept
Decline
overloadGetter
Accept
Decline
extend
Accept
Decline
implement
Accept
Decline
hide
Accept
Decline
protect
Accept
Decline
attempt
Accept
Decline
pass
Accept
Decline
delay
Accept
Decline
periodical
Accept
Decline
$constructor
alias
Accept
Decline
mirror
Accept
Decline
pop
Accept
Decline
push
Accept
Decline
reverse
Accept
Decline
shift
Accept
Decline
sort
Accept
Decline
splice
Accept
Decline
unshift
Accept
Decline
concat
Accept
Decline
join
Accept
Decline
slice
Accept
Decline
indexOf
Accept
Decline
lastIndexOf
Accept
Decline
filter
Accept
Decline
forEach
Accept
Decline
every
Accept
Decline
map
Accept
Decline
some
Accept
Decline
reduce
Accept
Decline
reduceRight
Accept
Decline
forEachMethod
Accept
Decline
each
clone
clean
invoke
associate
link
contains
append
getLast
getRandom
include
combine
erase
empty
flatten
pick
hexToRgb
rgbToHex
min
max
average
sum
unique
shuffle
rgbToHsb
hsbToRgb