Hoy decimos

Resolvemos tus problemas - Conversá con nosotros

lunes, 31 de marzo de 2014

La caché III: La caché de código

Esta serie de artículos trata sobre la evolución tecnológica y traza un paralelo entre varios antecedentes históricos y la evolución tecnológica actual en expansión en el industria del desarrollo de software.

En este artículo vemos la masificación del uso de software libre y opensource en Internet, sus implicancias tecnológico-sociales y de mercado.

Serie comenzó en el artículo "La caché I: La carreta sin caballo", que trató sobre el automóvil. y continúo en "La caché II: El buffer"


La "caché" de código

No es tan complicado: hoy hay billones de líneas de código fuente y aplicaciones completas, terminadas y funcionales, licenciadas como software libre u opensource. Las licencias permiten en muchos casos, tomar el código fuente y/o la aplicación y revenderla.

Tal vez hace tiempo, una década atrás, cuando el poco código opensource / libre disponible era el kernel de Linux o la implementación GNU de grep, ese hecho no era especialmente atractivo. Hoy las cosas son diferentes, hay software tremendamente vendible, simplemente esperando que alguien lo tome y lo venda.

Mucho software de hecho, está ya a la venta, lo venden sus mismos desarrolladores, o la empresa que lo usa vende el "output" del software libre que utilizan como base de sistemas.

Por ejemplo, Mercadolibre, que usa OpenStack como base de sus sistemas de virtualización de infraestructura, y el "output" que venden son los servicios del sitio.

La "caché" de código funciona parecido a una fuente de recursos naturales explotable, una reserva de carbón, petróleo, etc. El código está ahí, las aplicaciones están ahí, esperando que alguien las tome y haga uso de ellas, por un beneficio inclusive.


Componentes
Hace un tiempo comentaba en un grupo de correo la realidad de cómo funcionan los mercados de componentes de electrónica en China, de facto la fábrica o el modelo de fábrica del mercado mundial de electrónica y por ende, de tecnología IT de base; qué tan diferente y radicalmente mucho más efectiva y eficiente es su organización, respecto de cómo se trabaja en occidente.

Los componentes, todos ahí mismo, físicamente cercanos, combinables, probables, baratos y de fácil acceso; para construir productos las posibilidades son infinitas, y las ganancias resultantes, también.

¿Y si tuviéramos algo parecido en código fuente? Lo tenemos, el software libre y el software opensource.
El código fuente base necesario para construir aplicaciones y sistemas complejos, listo para usar, fácil de acceder y usar, barato. Las posibilidades para construir productos son infinitas y las ganancias también.

Por ejemplo, estos son los componentes opensource que dan forma a los sistemas de GitHub y a Netflix:

Projects that power GitHub
https://github.com/showcases/projects-that-power-github

Netflix
https://github.com/netflix


Pioneros

Algunos ya se dieron cuenta hace una década atrás, Amazon (usó Xen como base para sus sistemas de virtualización), Google (usó Linux y miles de paquetes de soft libre, creando software como Android por ejemplo), IBM (es un inversor masivo en Linux), y se siguen sumando empresas y organizaciones minuto a minuto.

Hoy por cada aplicación de soft propietario del mundo, hay al menos una o más opciones de soft libre u opensource disponibles, con o más o menos funcionalidades es cierto, pero de costo cero de licenciamiento; y en vez de que una sola empresa, hay miles de empresas que venden esos paquetes de soft libre / opensource.


Velocidad
Hoy no te hace falta tener un equipo de 15 programadores trabajando un año o dos armando un ERP para una empresa. Podés tener el ERP "armado" en cero (0) minutos o un poquito más. En realidad en un par de días podés llegar a probar 4-6 soft ERP opensource, ver cual se ajusta mejor a lo que querés vender y empezar a armar el producto.

Si querés armar sistemas complejos, al usar código libre / opensource podés ir de nada a mucho en tiempos en horas-hombre imposibles de igualar para un programador o para un equipo de trabajo dedicado a crear un sistema parecido desde cero.

Es decir, un equipo de trabajo, que reutilice código opensource / libre tiene el potencial de multiplicar la capacidad de producción de software nuevo y vendible por mucho (x2, x3, x4), muy por arriba de lo que podría realizar un equipo de desarrolladores capaces, trabajando desde cero, creando su propio código.


Vendors de productos
Los vendedores de software libre / opensource son VARs, Value Add Resellers, Revendedores de Valor Añadido, toman el software - libre y/u opensource - le añaden un Valor, y lo revenden.

El Valor añadido por default es: soporte técnico, capacitación, garantía, consultoría de implementación.

Es exactamente el mismo tipo de Valor Añadido que revenden los VARs que vende software propietario.

La única diferencia real es que los vendedores de software propietario tienen que añadir el costo de licenciamiento del software que cobra la empresa dueña, al costo del Valor Añadido que ellos agregan.

Es decir, los VARs que venden soft libre / opensource pueden competir contra los VARs que venden soft propietario con bajos precios, al quitar el costo de licenciamiento del precio final.


Las licencias de software propietario suelen ser muy caras, en gral. porque son precios en dólares. Por ende, un VAR de software libre / opensource tienen dos pivotes de venta muy importantes:

- A iguales prestaciones, mucho menor precio
- A menores prestaciones (pero satisfaciendo los requerimientos del cliente), mucho menor precio.


Van a encontrar que aunque un software propietario tenga decenas de miles de opciones, si el soft libre / opensource, con adecuado soporte, garantía, capacitación y consultoría, es más que suficiente para muchos clientes, más aún si el costo es mucho menor.


Vendors de servicios

Además providers de servicios que construyen sus engines de software con software libre / opensource, para vender servicios generan casi mensualmente nuevos servicios que ponen a la venta en línea.

Es completamente innecesario desarrollar desde cero un engine de software que permita montar SaaS (Soft como servicio) como por ejemplo (tenés Openshift), o montar un servicio de monitoreo a distancia (tenés Sensu, Graphite), un nuevo Dropbox (tenés OwnCloud), vender software de virtualización (tenés KVM y Xen), o mil servicios más.

Los engines se pueden "desarrollar" en semanas, sino en días y después viene lo que es la parte difícil ahora: armar el producto, diferenciarse de otros 20 iguales y más baratos incluso.


Opciones disponibles

Como tipos de software hay miles, miles de productos potenciales para armar y vender, en realidad tenés que elegir unos pocos, pocas empresas tienen capacidad para dar soporte a cuasi-infinita cantidad de software (hasta las distribuciones de Linux que soportan miles de paquetes de software simultáneamente, para actualizaciones y parches, tienen una lista acotada de paquetes soportados oficialmente).



"¿Cómo hacés si tu cliente necesita algo que no está hecho"

Es "La carreta sin caballos" de vuelta > una cosa no quita la otra, el desarrollo a medida es una necesidad para muchos casos de uso, pero está demostrado que la hay muchos casos de uso que son más que habituales, y pro ello constituyen de hecho el nicho de mercado del software propietario típico.

Esos mismos casos de uso para vender software propietario, aplican para vender software libre / opensource.



A veces la tecnología cambia demasiado rápido, se produce el cambio tecnológico, pero la gente sigue pensando igual que antes, cuando no tenían esa tecnología para usar, ven y usan la tecnología con la forma de pensar anterior a la evolución tecnológica.

Pero siempre hay algunos que ven las cosas como realmente son ahora, luego del cambio.

lunes, 17 de marzo de 2014

La caché II: El Buffer

Esta serie de artículos trata sobre la evolución tecnológica y traza un paralelo entre varios antecedentes históricos y la evolución tecnológica actual en expansión en el industria del desarrollo de software.

Este artículo trata sobre los motores de búsqueda en Internet, sus implicancias tecnológico-sociales y en la educación.

Serie comenzó en el artículo "La caché I: La carreta sin caballo", que trató sobre el automóvil.



El buffer
http://es.wikipedia.org/wiki/Buffer_de_datos

Creo que viendo cómo usamos hoy los buscadores de Internet, la gente del futuro cercano va a pensar sobre nosotros lo mismo que pensamos nosotros de los tipos que veían los automóviles como "carretas sin caballo".

Los buscadores de Internet, Google, Bing, Duck-Duck-Go, Wolfram-Alpha, etc. funcionan en la práctica como buffers de memoria externos, le permiten a un ser humano recordar casi de inmediato hasta el mínimo detalle de centenares de miles de libros y material escrito y audiovisual, tan solo conociendo premisas básicas que pueden listarse en una carilla de texto o en pocas hojas de explicación, y para encontrar lo que busca solo necesita escribir una a diez palabras, antes de tener éxito.

Y sin haber leído nunca ninguno de los libros, ni haber escuchado o leído el material audiovisual tampoco. Sin conocer sus títulos, ni los nombres de sus autores.

Y el buffer se actualiza constantemente, en la práctica, nuestra memoria externa nunca deja de expandirse, "estudiamos" mientras dormimos, nos bañamos, nos tomamos un café, miramos una película, jugamos con nuestros hijos, jugamos a play, y cuando la necesitamos, al trabajar, al divertirnos, lo accedemos y nos sirve.


Saber más y entender mejor estudiando menos

Las carreras universitaria actuales siguen hoy este paradigma "aprender todo ahora, aunque te olvides de casi todo en 10 años".

Ya sabemos cómo funciona la memoria a largo plazo y que hace que sea imposible retener contenido masivo completo más allá de un breve lapso de tiempo. Pocos meses a pocos años.

Después el contenido masivo desaparece de la memoria, tal como si la persona nunca hubiera ido a clase. Al final solo se retiene los conceptos clave resumibles en 100 hojas de texto por ejemplo.

¿Por qué no dictar cátedra sobre esas 100 hojas? Y usar los buffers en línea para salvar la diferencia.


El método actual de enseñar durante años es una pérdida colosal de tiempo y recursos. El alumno pierde tiempo, el profesor pierde tiempo, la universidad desecha decenas de millones en presupuesto para tareas pre-destinadas a ser inútiles como capacitación universitaria.

Si estoy equivocado es fácil de demostrar:

Con exámenes regulares - cada 5 años por ej. - de reválida de título de grado, y se evalua con un exámen final de una materia al azar, de entre todas las cursadas en la carrera universitaria, deberían recordar fácilmente ¿o no?

La pregunta más importante sería "¿Por qué no es viable hacer eso?"



Planes de estudio hiper-cortos, hiper-efectivos

Los buscadores como Google son un buffer en línea.

Pero en vez de usar los buscadores como buffers, se los usa como si fueran un almacen de información:

http://en.wikipedia.org/wiki/Data_storage_device

Se siguen usando como si fueran bibliotecas o enciclopedias, se las tiene en un "lugar" (www.google.com), y la visión mental-cultural es darle el mismo uso que a las antigüas bibliotecas y enciclopedias.

El autodidacta IT sabe que el potencial de los buscadores es mucho mayor, estudia las 100 hojas de contenido real de una temática, cuando las tiene aprendidas, continua su educación en Google, cuando es necesario.

Tal vez sea así como va a ser un plan de estudio de muchas carreras universitarias de acá a un par de décadas.

¿A qué país le puede servir que un ingeniero se pueda recibir luego de 2 años de estudio? Exacto.

¿Es muy improbable esa metodología? Las carreras de medicina funcionan hoy así (estudios + residencias), y tienen exámenes de reválida tambien...


El salto
Hay profesores universitarios y decanos (!), que ahora mismo entienden las posibilidades del nuevo contexto de tecnología de la información. Pero falta un tiempo todavía para las implementaciones > las ruedas de miles de km. de duración no se hicieron justo después del Ford-T

La educación universitaria a distancia no es más que el "Ford-T", es el prototipo de lo que viene a continuación, aunque tarde una década más en llegar.


El:

"¿Qué háces si se corta Internet?" > Es el equivalente de "Las ruedas no van a aguantar en un camino tan largo"


A veces la tecnología cambia demasiado rápido, se produce el cambio tecnológico, pero la gente no se da cuenta y sigue pensando igual que antes, cuando no tenían esa tecnología para usar, ven y usan la nueva tecnología con la forma de pensar anterior a la evolución tecnológica.

Pero siempre hay algunos que ven las cosas como realmente son ahora, luego del cambio.

sábado, 15 de marzo de 2014

La caché I: La carreta sin caballos



Esta serie de artículos trata sobre la evolución tecnológica y traza un paralelo entre varios antecedentes históricos y la evolución tecnológica actual en expansión en la industria del desarrollo de software.

Arrancamos viendo la aparición del automóvil, sus implicancias tecnológico-sociales y de mercado.


La carreta sin caballos
Un ejemplo que escuché varias veces mientras crecía era algo así "una carreta sin caballo", referido a cómo entendían la tecnología del automóvil los que veían autos por primera vez. No sabían que el automóvil iba a cambiar la organización socio-económica-cultural del planeta en un 100%: suburbios masivos en países grandes, autopistas de miles de km. creando largas líneas de abastecimiento y distribución, un motivo de peso para convertir una curiosa crema subterránea maloliente y negra en el commodity más importante del mundo, un escenario geopolítico que convertió - prácticamente sin esfuerzo - a unos pocos miles "criadores de camellos" - tal era el mote descalificativo a principios del siglo XX - en potencias económicas y muy probablemente en los dueños de varios de los bancos más grandes del siglo XXII (googleen por Rothschild, JP Morgan o a Goldman-Sachs sobre qué podés hacer con los bancos más grandes a tu disposición).


Los "árboles" les tapaban el bosque a la mayoría, pero..

Los tipos que veían la tecnología del automóvil y veían el futuro claramente decían cosas como "construyamos un camino duro, no de tierra, de un par de miles de km." y la gente con la vieja mentalidad objetaba "las ruedas no van a aguantar".

Las 1ras. ruedas estaban hechas casi como ruedas de bicicleta y sí, no iban a aguantar mil km. de uso contínuo, pero las ruedas eran un detalle muy menor, como ya sabemos ahora, simplemente hubo que esperar una década y las ruedas ya aguantaban su trabajo miles de km. sin mantenimiento alguno, como ahora. Los tipos que querían los "largos caminos" tenían razón, desde el principio.

El resultado final que ahora conocemos y vivimos diariamente fue una expansión industrial y económica geométrica abarcando un sinfín de industrias productivas que solo estaban esperando un canal de distribución final rápido, para poder llevar sus mercancías desde los puertos y estaciones de tren, hasta los puntos de venta.

A veces la tecnología cambia demasiado rápido, se produce el cambio tecnológico, pero la gente sigue pensando igual que antes, cuando no tenían esa tecnología para usar, ven y usan la nueva tecnología con la forma de pensar anterior a la evolución tecnológica.

Pero siempre hay algunos que ven las cosas como realmente son ahora, luego del cambio.