¿Cómo transformará Big Data la práctica del desarrollo de software?

Big data cambió el desarrollo de software hace años cuando se trata de aplicaciones, es decir, API basadas en datos (o “aplicaciones sin cabeza”) a las que hoy llaman muchas aplicaciones.

Piensa en lo que hay detrás de las API más populares. Las empresas que donan la mayor cantidad de código y participan más en las comunidades de código abierto de Big Data, muchas de las propiedades web más grandes, como Yahoo, Google, LinkedIn, Twitter, Facebook y Netflix, entre otras, ejecutan entornos basados ​​en grandes datos, y todos ofrecen API populares. Google Analytics se lanzó en 2005, y la API de Google Analytics existe desde 2008. La API Graph de Facebook se introdujo en 2010.

Las API basadas en datos son los principales generadores de ingresos para grandes propiedades web. Forbes en un artículo de enero de 2014 señaló que el 90 por ciento de los ingresos de Expedia se generaron a partir de API. (¿Ver Listo para API? Tres pasos para desbloquear el canal más prometedor de la economía de datos).

Las API son, por supuesto, un habilitador para desarrollos más ágiles, pero hay otros. Estas compañías web son las mismas compañías centrales en el movimiento DevOps / entrega continua. Todos ellos ejecutan entornos muy instrumentados y rutinariamente extraen sus archivos de registro para obtener pistas sobre cómo optimizar sus servicios y liberar código con mayor frecuencia. Centran mucha atención en bucles rápidos de respuesta y respuesta en todas sus organizaciones y ajustan constantemente sus sitios y otros servicios. Los proveedores como Splunk y Sumo Logic que se especializan en análisis de archivos de registro de big data tienen a muchas de estas compañías como clientes. Hicimos un análisis completo de DevOps, antifragilidad y oportunidades de entrega continua en 2013 que está disponible para descargar aquí: DevOps: Resolviendo el desafío de productividad de ingeniería

Quizás lo que está identificando es una brecha de experiencia entre las grandes empresas web y otras empresas. Muchas compañías grandes en otras verticales y desarrolladores independientes no están conectados a los entornos OSS o encuentran herramientas como MapReduce extrañas o piensan que son demasiado riesgosas.

Pero aquellos que ejecutan clústeres Hadoop + NoSQL internamente y personal o nutren los roles correctos ciertamente pueden desarrollar aplicaciones beneficiosas de big data, y herramientas como YARN están haciendo posible desarrollar aplicaciones usando una variedad de idiomas, y muchas plataformas de análisis importantes están incorporando soporte para Hadoop Vea algunos de los mazos de Hortonworks o Cloudera en YARN para obtener más información, como Introducción a las aplicaciones de YARN. Estas compañías ciertamente pueden instrumentar sus propios entornos en línea y extraer los datos, o construir cajas de arena para minar la web pública para obtener información sobre los mercados y cómo se perciben sus marcas en el mercado, y muchas compañías lo han hecho. Una serie de fabricantes de alta tecnología, compañías de transporte, empresas de servicios públicos y energía están muy avanzados en el análisis de big data, si es que aún no lo han hecho. Es posible que todavía no hayan dado el paso de usar big data para impulsar la innovación de software.

Gran parte de la actividad está detrás de escena, y el público en general no lo sabe, pero la información sobre lo que está sucediendo en esta área ciertamente se puede encontrar en la web pública. Si necesita información general sobre las técnicas de big data y las implicaciones comerciales de las tecnologías, en 2010 elaboramos un informe en beneficio de las grandes empresas que querían aprovechar Hadoop y NoSQL: Pronóstico de tecnología: 2010 Número 3

Hoy, aquellos a quienes les gusta diseñar productos a partir del esquema de datos, las API de acceso y la escalabilidad, no tienen que explicar dos veces por qué es importante.


Estuve involucrado en muchos proyectos basados ​​en datos. En grandes empresas, y más tarde, haciendo consultoría.

Hace dos … tres años, uno tenía que explicar realmente por qué teclear ciertos datos por ID de usuario o asignar una ID de sesión única para agrupar ciertos eventos juntos es The Right Thing.

Ahora las preguntas que la gente hace no son ” ¿Por qué lo necesitamos?” pero ” ¿Cómo lo hacemos bien?”

Y eso es muy, muy bueno.

La aplicación más grande que he visto ha sido el uso de grandes grupos para manejar grandes cuerpos de información generada.

Supongo que el efecto posterior de esto es que los diseñadores de software tendrán menos miedo de generar grandes cuerpos de datos como resultado de sus procesos. La gente tiene la mala costumbre de generar datos, no porque sea útil, sino porque es posible. Asumen que alguien podrá manejar esos datos. El paso al procesamiento de datos grandes como Hadoop facilitará las tareas de procesamiento de datos grandes y, a su vez, generará tareas de datos más grandes.

Recientemente me encontré con un artículo que me ayudó enormemente a comprender la importancia de Big Data para los desarrolladores de software. Te sugiero que también lo leas una vez.

Importancia de Big Data para desarrolladores de software

More Interesting

¿Cuáles son las señales de que su software heredado necesita ser reemplazado / actualizado?

¿Seré económicamente estable si me mudo de India a EE. UU. Durante 3 años?

¿Cómo puede un estudiante universitario de ingeniería informática prepararse para convertirse en un ingeniero de software integrado?

¿La red definida por software (SDN) compromete la seguridad?

Cómo hacer que mi viaje en autobús sea más productivo

¿Qué es la integridad (profesional)? ¿Cuáles son sus mejores / peores experiencias con colegas de alta / pobre integridad?

¿Importa una buena cultura de ingeniería? ¿Existe alguna correlación entre la fortaleza de la cultura de ingeniería de software de una empresa y su rentabilidad? A menudo escucho, por ejemplo, que el 80% de los ingenieros de software en Amazon parecen odiarlo.

¿Cuál es la diferencia entre trabajar en una empresa impulsada por la tecnología donde "el software es el producto" frente a una en la que "el software es visto como un centro de soporte más"?

Un amigo argumenta que los campos de entrenamiento, los MOOCS y los libros se consideran 'bombas y vertederos' en lugar de ofrecer una educación formal en CS. Si paso por MOOCS intensivos y campamentos de entrenamiento, ¿realmente me estoy engañando?

¿Puede el software de reconocimiento de fotos identificar un estilo (p. Ej., Urbano, preppy, chic, etc.)?

Cómo determinar si una función recursiva es más eficiente

¿Cómo puedo saber si un hombre está trabajando en una empresa de TI basada en servicios o en una empresa de TI basada en productos?

¿Qué software utiliza un ingeniero estructural (civil)?

¿Debo tomar la decisión de unirme a una gran empresa como Google, Facebook o Twitter dependiendo de qué tan bien me haya ido en las entrevistas? ¿Cómo afecta el desempeño durante la entrevista de trabajo el crecimiento profesional posterior?

¿Qué es lo contrario de 'ágil'?