Feeds:
Entradas
Comentarios

Archive for the ‘software’ Category

Los que me siguen en twitter habran visto que las ultimas 2 semanas estuve por USA con un roadshow de Bigdata y Hadoop que organizamos con Globant, me parecio interesante escribir algo sobre el tema, asi que aca va algo, obviamente es muy por arriba, mis disculpas a los que ya saben y busquen algo mas profundo.

Empecemos con una definicion del problema/oportunidad:

La cantidad de datos que se estan acumulando dia a dia crece de una forma impresionante, cada vez tenemos mas y mas gente subiendo datos a internet y redes privadas, y para colmo muchos de esos datos son imagenes y videos.
Solo para tener una idea, youtube dice estar subiendo 24 horas de video cada ………………….. segundo

Adicionalmente esos datos son no-estructurados, los suben individuos, con poca informacion adicional. Segun McKinsey estos datos no-estructurados estan creciendo a una tasa de 72% anual.

A esto hay que sumarle los datos que estan siendo generados por infinidad de sensores y automatismos, lo que en la jerga se esta llamando el: “internet of things”, en resumen, nos estamos inundadndo en datos….. help!!!!

Atras de todos estos datos se esconde mucha informacion, util para tomar decisiones, personalizar la experiencia del usuario, mejorar la atencion, etc. (Oportunidad!!!!)

El problema es que las tecnologias  no estan prontas para lidiar con esa cantidad de datos, y aunque lo estuvieran, mover tantos datos a traves de la red no es practico, y ahi es donde viene el “eureka” (inicialmente de la gente de Google): “Y si mantenemos esos datos distribuidos por el mundo en servidores baratos y en vez de mover los datos distribuimos los programas para que actuen localmente?”.

Esa es la filosofia atras de MapReduce o de Hadoop (la version opensource iniciada por Yahoo):

1. En vez de tener pocos servidores  grandes, utilicemos cientos/miles (o millones) de pequenos servidores distribuidos por el mundo

2. En vez de hacer backups, mantengamos n replicas distribuidas en x servidores

3. En vez de procesar los datos desde un lugar central, distribuyamos los programas hacia esos servidores, y que corran en paralelo (Map) y consolidemos los resultados (Reduce).

A modo de ejemplo, digamos que quiero contar cuantas veces aparece cada palabra en un conjunto de documentos:

– Subo los docs al cluster (digamos 50 servidores en Amazon)

– Escribo un programita java (map) que cuenta palabras en un doc, y saca duplets (palabra, numero de apariciones)

– Mando el programa a ejecutarse en los 50 servidores

– hago otro programa  que consolide resultados (reduce)

Como pueden ver, si tengo muchos datos y quiero bajar el tiempo de procesamiento a la mitad, lo unico que tengo que hacer es duplicar el numero de servidores, algo que no es tan simple con otras arquitecturas.

El tema no es dificil, pero exige pensar y diseñar los programas de software pensando de otra forma, en terminos de Map y Reduce, o en español simple  como paralelizar los tasks para que sea facil de escalar.

Aca va un link a un articulo de techcrunch sobre el tema

Anuncios

Read Full Post »

En Uniotel tenemos decenas de servidores, routers y gateways, ubicados en diversos datacenters y países. Hacer que todo eso funcione 365 x 24 no es una tarea sencilla: hay que poner firewalls, monitorear las redes, CPU, discos, servicios, detectar intentos de intrusión, hacer backups, etc.

Con el tiempo desarrollamos una serie de herramientes y procesos que automatizan todo ese monitoreo, levantado alarmas cuando se justifica, con niveles de escalamiento, etc.

Hoy estamos administrando cerca de 100 servidores y gateways, y tenemos capacidad de administrar prácicamente 10 veces esa cantidad, de modo que estamos comenzando a vender el servicio.

Si algún lector está interesado en el tema, que por favor me contacte.

Sergio

 

Read Full Post »

RIP Joost

Joost, la creación de los fundadores de Skype y Kazaa, dejó de ofrecer videos. Nunca me quedó claro el modelo de Joost, el que empezó como una aplicación p2p que corría sobre Windows, y luego migró a la Web.

La TV está cambiando, y en 3 años será irreconocible. No se si el modelo será Tivo, Hulu, YouTube o AppleTV. Lo seguro es que no será Joost.

Read Full Post »

Hace un par de meses necesitaba hacer un proyecto bien sencillo, aunque tedioso, algo relacionado con SEO. Se me ocurrió ponerlo en rentacoder.com. Recibí al menos 15 cotizaciones. Finalmente opté por contratar a dos de ellos, uno por U$S 100 (de Pakistán), el otro por U$S 200 (Rumano). Lo que ofrecían era diferente, y la diferencia de precios era justificada.

Aprendí una lección interesante.

El que cotizó U$S 100 me hizo tantas preguntas y pidió tanta intervención de mi lado, que el proyecto terminó costandome mucho más de U$S 100 en tiempo mío. El de U$S 200 aún no terminó su trabajo. El producto final difícilmente valga los U$S 200 que me costó.

No es mi primer intento de outsourcing. Cuando recién comenzamos con JetNumbers, el programador nos abandonó. Ahí decidimos hacer el intento de contratar a una empresa de la India. Los antecedentes de la empresa eran impresionantes. Nos dieron para elegir entre 3 programadores. El CV de cualquiera de ellos era suficiente para ser chief-engineer en Google. Fue una calamidad. Nunca llegamos a saber si programaban bien, ya que directamente no nos entendíamos. Nos cambiaron de programador, y pusieron una que tenía un CV que debió ser redactado por un premio Nobel en literatura. Con ella sí nos entendimos, al menos verbalmente. Lo que nunca logramos fue que entienda lo que queríamos hacer. Hay una anécdota que resume todo. Uno de los requerimientos que teníamos era encriptar las tarjetas de crédito antes de almacenarlas en la base de datos. Unos días después, chequeando la lista de tareas, nos dijo que eso ya estaba hecho yen producción. Yo quería una encriptación con clave pública, pero me pareció que no me había entendido. El diálogo fue más o menos así:

– Have you done the encryption part?

– Yes Sir, and it´s already in production

– May I ask which encryption algorithm have you used? Is it public key encryption?

– Hm?

– What ecnryption method are you using?

– MD5

– But MD5 is not encryption, it is hashing

– It is very secure Sir

– Yes, but there is no decryption for MD5!!!!

– Oh, you also wanted decryption??

– How cant I retrieve the customers’ cards now?

– I don’t know…

Más allá de la anécdota, el tema es que no es nada fácil hacer outsourcing. Tenés que especificar muy bien lo que querés, y seleccionar muy bien quien lo hace. Probablemente funcione bien para proyectos muy grandes, donde podés tener un outsourcing manager y un equipo de especificación, o para proyectos muy chicos y acotados.

Read Full Post »

Amazon EC2

En las ultimas semanas estuve probando el servicio EC2 de Amazon. Para los que no lo conocen, es el servicio de servidores virtuales que ofrece Amazon. El servidor virtual basico tiene 1.7 giga de RAM, 160 de disco y capacidad de CPU equivalente a una maquina basica. Hay otras configuraciones con mas RAM o CPU. Hay varias configuraciones de sistema operativo para elegir.

Lo interesante del servicio de Amazon es que lo vende por hora de uso: cuesta U$S 0.10 la hora. Necesitas un servidor para una tarea especifica? Lo compras, queda pronto en un par de minutos, lo usas, y luego lo destruis. Pagas solo lo que usaste.

Incluso si necesitas un server full-time, el precio no es malo: 30 dias por 24 horas por 0.10 la hora da $72 por mes. A eso hay que sumarle el uso de ancho de banda, que tampoco es caro (creo que $0.10 el giga).

Algunas aplicaciones que se pueden beneficiar de este servicio: Facturacion (donde usas mucha maquina 1 dia al mes); codificacion de videos; eventos puntuales (hubiera estado bueno para la venta de entradas al concierto de Madonna, donde colapsaron los servidores).

Read Full Post »

Aparentemente la cosa se les esta complicando a los outsourcers de la India. Mas alla de que los costos vienen creciendo, la recesion en EEUU les pega duro. Pero el principal problema es que un alto porcentaje de las empresas que hacen outsourcing en la India son bancos y empresas financieras, que son las que estan mas complicadas.

Por un lado eso deberia ser bueno: una empresa que esta perdiendo dinero deberia buscar reducir costos. Pero por otro lado, las empresas cortan al barrer, se cancelan los proyectos a largo plazo, y algunas directamente van a desaparecer.

En Uruguay tambien se esta poniendo complicado. Nuestros principales destinos de outsourcing, EEUU y Espania, estan los dos complicados. Nuestros costos en dolares subieron casi un 100% en los ultimos 4 anios, y hoy la diferencia de precios entre un programador americano y uno uruguayo dificilmente justifiquen el dolor de cabeza del outsourcing.

A donde va la industria del desarrollo software? Hay dos caminos. Uno es redirigirse a otros mercados, especialmente los regionales, que estan en mejor forma y donde competimos mejor. Otro es pasar a productos de mayor valor agregado, como ser software con propiedad intelectual. Lo ideal seria este ultimo.

Read Full Post »

Larry Ellison no entiende nada. Los precios del software tienen una sola pendiente: hacia abajo. Y viene Ellison y los sube en un 20%. En medio de una recesion en EEUU. Esta loco!

No creo que la explicacion sea la locura de Ellison, aunque es realmente sorprendente.

Como los viejos, voy a hablar de “mi epoca”: cuando yo trabajaba en Oracle. Primer cambio: la lista de precios de Oracle era Company Confidential. La de ahora esta en Internet y el formato es el mismo de 10 anios atras, aunque dice for Educational Purposes Only (sera educacion para cursos de negociacion…). En mi epoca, Oracle tenia 3 listas de precios: US, Global e International. Lo que costaba $800 en la lista US, costaba $1000 en la global y $1250 en la internacional. Cada pais elegia que lista de precios usar. EEUU usaba la lista USA, la mayor parte del mundo usaba la Global, y algunos paises ultramillonarios del momento (como Hong Kong y Brasil) usaban la lista mas cara.

Otro tema interesante: la lista de precios esta en Internet, en un formato PDF, que se ve de facil edicion. Eso dice mucho sobre la posibilidad de negociar con Oracle. Como contrapartida, los terminos y condiciones de uso de la licencia estan en una hoja en formato cromo, en 20 idiomas, cosa que da el aspecto de que eso no es negociable (mentira, tambien se puede negociar, aunque es mas dificil, y hay algunas clausulas que son intocables).

La realidad es que la lista de precios no es mas que una referencia. Yo he visto descuentos del 80% y mas. Y he visto a Oracle dar la orden de que no se hacen mas descuentos, solo para volver a flexibilizar dos meses despues. Ha surgido una industria interesante de consultores que te ayudan a negociar con Oracle (si alguien quiere estoy a disposicion).

Yo creo que el tema de la suba de precios viene por ahi: Oracle sube los precios, pero junto con eso sube la flexibilidad en EEUU. En una epoca de Internet y globalizacion no podes tener 3 listas de precios.Pero por otro lado, queres sacar mas valor en Europa y Asia, donde las monedas se apreciaron.

Si algo aprendi en Oracle es el tema de la negociacion de precios. Es un desgaste enorme, pero al final del dia saca un enorme valor de sus clientes. Para vender barato no hace falta vendedores.

Read Full Post »

Older Posts »