Nuestro Blog

Nuestro equipo de especialistas quiso compartir algunos artículos sobre tecnologías, servicios, tendencias y novedades de nuestra industria en la era de la transformación digital.

La tercerización de Software como alternativa para aprovechar cualquier Negocio

La tercerización de Software como alternativa para aprovechar cualquier Negocio

La tercerización es una solución empresarial basada en la transferencia de recursos y responsabilidades a otra empresa que se dedica precisamente a la prestación de dichos servicios. En el mundo de las tecnologías de la información, la subcontratación de software se ha convertido en una práctica cada vez más común debido a las ventajas que representa.

Software Outsourcing Advantages

Illustration by Tiempo Development

 

El proceso de subcontratación está en estrecha relación con el crecimiento y los avances en el área de la tecnología de la información y los sistemas de información de las organizaciones, así como también con el impacto que estos elementos tienen en las relaciones comerciales, laborales y gubernamentales. La globalización, acompañada del acortamiento de las distancias físicas y la posibilidad de trabajar con equipos y organizaciones en diferentes países, han contribuido al avance de esta práctica durante los últimos 20 años. Hoy en día, la tercerización de servicios de TI es una solución importante que permite a las empresas de diversos sectores potenciar los servicios que ofrecen.

 

¿Tercerización de software o soluciones internas?

It is no longer necessary for a company to have an area for each process, or technological infrastructure, to grow. In addition to a great advantage in cost reduction, the main opportunity offered by the outsourcing of technology services is related to innovation. Companies like Huenei have teams for the ideation, design, and development of custom software products to achieve the best solutions for customers.

On the other hand, in-house development often implies that the team becomes outdated with respect to the advances of the industry and the global market. This means that service providers like Huenei can offer innovative and current results that constitute a point of differentiation for client companies.

Additionally, outsourcing in software development gives companies the possibility of focusing their activities on the core of their business, without neglecting the quality of the products developed by suppliers. This is precisely what it is all about, giving the company the possibility to focus on the development of its strategic activities, free from worrying about adjacent tasks.

 

Software Outsourcing Modalities

Las empresas ya no necesitan contar con un sector para cada proceso o infraestructura tecnológica para crecer. Además de una gran ventaja en términos de reducción de costos, la principal oportunidad que ofrece la tercerización de servicios tecnológicos tiene que ver con la innovación. Existen empresas como Huenei que cuentan con equipos para la concepción, el diseño y el desarrollo de productos de software personalizados con el fin de lograr las mejores soluciones para los clientes.

Por otro lado, el desarrollo interno a menudo lleva a los equipos a volverse obsoletos respecto de los avances de la industria y el mercado global. Esto significa que los proveedores de servicios como Huenei pueden ofrecer resultados innovadores y actuales que constituyen un punto de diferenciación para las empresas clientes.

Asimismo, la tercerización en el desarrollo de software brinda a las empresas la posibilidad de enfocar sus recursos en el núcleo de sus actividades sin descuidar la calidad de los productos desarrollados por los proveedores. De eso se trata precisamente: de darle a cada empresa la posibilidad de centrarse en el desarrollo de sus actividades estratégicas, liberándolas de tener que ocuparse de las tareas adyacentes.

 

Modalidades de tercerización de software

En los últimos años, diferentes países han demostrado cierto nivel de especialización o dominio en la tercerización de servicios en diferentes ámbitos. Por ejemplo, la prestación de servicios financieros para América y otros países del mundo generalmente se enfoca en países como México, Argentina, India y otros países asiáticos a través de la modalidad de servicios compartidos. Es común encontrar la prestación de servicios descentralizados de Centro de atención en Colombia o Perú para mercados de habla hispana. Y son países como Argentina, Chile y Brasil los que se caracterizan por ofrecer servicios de desarrollo de software y tecnología de alto nivel.

En este sentido, las empresas pueden optar por tres enfoques a la hora de seleccionar un proveedor de servicios de tercerización en función de su ubicación: Onshore, nearshore u offshore.

Onshore. Básicamente se refiere a la contratación de servicios tecnológicos de la mano de una empresa que se encuentra ubicada dentro del mismo territorio nacional. Un ejemplo de este campo es un proyecto realizado por Huenei para Aeropuertos Argentina 2000 (Argentina), que se basó en el desarrollo de un sistema de relevamiento de pasajeros con análisis automático de respuestas y presentación de indicadores en paneles de control.

Nearshore. Se refiere a empresas que tercerizan servicios a organizaciones en otros países, pero que son cercanos, ya sea geográficamente, en términos de zona horaria, idioma, cultura u otros aspectos de relevancia. Por lo general, esto facilita la implementación y reduce la desigualdad en la transferencia de conocimientos y las horas de capacitación. Como ejemplo, cabe mencionar el proyecto que llevó adelante Huenei para la Contraloría General de la República (Chile), en el cual se desarrolló una aplicación móvil para que los ciudadanos puedan acceder a información sobre las obras públicas que realiza el Gobierno de Chile.

Offshore. Otro método de desarrollo de tercerización es el conocido como offshore, que consiste en contratar los servicios de empresas en otros países distantes en términos de cultura, geografía, ubicación, idioma, etc. Al igual que la modalidad nearchore, esta estrategia trae importantes ventajas, pero por lo general implica una mayor reducción de costos, lo cual justifica las limitaciones culturales horarias y lingüísticas en la relación entre las personas. Para ejemplificar esta alternativa, podemos hablar de una plataforma de asistente de voz que Huenei desarrolló para SoundHound (Estados Unidos); el proyecto consistió en el desarrollo de un sistema de reconocimiento de voz.

Como conclusión de todo lo que se mencionó en este artículo, podemos estar de acuerdo en que el avance de las tecnologías y la globalización han llevado al rápido desarrollo de la industria de la tercerización. Cada vez son más las empresas que deciden tercerizar diferentes servicios, y el desarrollo de software es una de los principales sectores en los cuales es visible esta tendencia. La tercerización representa grandes ventajas para las empresas que necesitan productos de software para lograr sus objetivos y crecer, independientemente de la modalidad que elijan. Si busca soluciones de tercerización para su organización, lo invitamos a conocer nuestros servicios de Equipos especializados, Aumento de personal y Proyectos llave en mano para determinar cuál es la que mejor se adapta a las necesidades de su proyecto y de su empresa.

Cómo desarrollar un Business Model Canvas para su empresa de IT?

Cómo desarrollar un Business Model Canvas para su empresa de IT?

En la actualidad, las empresas de software y TI se encuentran inmersas en un mercado competitivo en el cual deben hacer frente a un entorno cambiante, diferentes niveles de competencia, necesidades variadas y los problemas de los clientes, entre otras dificultades que pueden afectar la sostenibilidad. En este contexto, las empresas necesitan poder formarse y evolucionar desde una estructura sólida que les permita desarrollarse, crecer y enfrentar la adversidad. El desarrollo de un modelo de negocio es la herramienta fundamental para que la empresa pueda sostenerse a largo plazo, crecer y lograr un retorno de la inversión para los socios.

¿Qué es la metodología Business Model Canvas?

Un modelo de negocio representa la forma en que una organización o empresa genera valor, ofrece dicho valor a los clientes y obtiene un determinado beneficio a cambio. Representa la estructura sobre la cual nace, se desarrolla, crece e incluso muere la organización.

Con este propósito se utilizan diversas metodologías para desarrollar modelos de negocio. Sin embargo, la metodología Canvas, que describen Alexander Osterwalder e Yves Pigneur en su libro “Business Model Generation”, puede ser una herramienta de gran utilidad para que las empresas de tecnología puedan plasmar su estrategia y modelo de negocio en un simple lienzo (“canvas” en inglés).

Business Model Canvas

Image by Osmos Cloud

 

¿Cómo se desarrolla un Business Model Canvas para una empresa de IT?

Este modelo es una plantilla simple compuesta por nueve cuadrantes que demuestran los fundamentos del modelo de negocio de una organización de tecnología. Se trata de cuadrantes estrechamente relacionados que se alimentan entre sí con el propósito de lograr una sinergia que permita a la organización ofrecer un diferencial al público y obtener a cambio el beneficio esperado. Los nueve cuadrantes se construyen de la siguiente manera:

  1. Segmentos: Constituyen el público o los destinatarios en los que se enfoca la empresa y a los cuales dirige sus servicios. En esta instancia es importante hacer una descripción detallada de las personas u organizaciones que componen los segmentos objetivo. Y es importante entender que podemos dirigirnos a diferentes tipos de públicos, como por ejemplo los siguientes:
  • Mercados masivos, en los cuales el objetivo es atraer a una gran cantidad de personas sin especificar claramente los criterios de inclusión del segmento. Por ejemplo, el sector de la tecnología de la información se caracteriza por una amplia variedad de perfiles corporativos.
  • Segmentos específicos que comparten una determinada característica pero que aún representan grandes volúmenes de personas u organizaciones. Un ejemplo es el sector minorista, en el cual los productos de software están enfocados en las necesidades de las empresas del mercado que representan altos volúmenes de participación.
  • Nichos, que se caracterizan por un volumen menor de afiliados y una necesidad insatisfecha específica, como el segmento Gobierno.
  • Plataformas multilaterales, en las cuales los usuarios de productos de software son dos o más segmentos independientes que interactúan entre sí. Por ejemplo, el sector de Telecomunicaciones, medios y entretenimiento se caracteriza por el uso de productos de software en el cual interactúan tanto la empresa proveedora de servicios como sus clientes.

 

  1. Propuesta de valor: Todas las organizaciones persiguen un objetivo principal que es satisfacer las necesidades de sus clientes o solucionar sus problemas. La propuesta de valor es el medio y la herramienta a través de la cual se logra este objetivo. A modo de ejemplo, podemos mencionar la propuesta de valor de Huenei. Ofrecemos servicios de TI para orientar y ayudar a nuestros clientes a lograr sus objetivos comerciales a través de nuestras tres unidades de negocio: Equipos especializados, Aumento de personal y Proyectos llave en mano.

 

  1. Canales: Una vez que determinamos nuestros segmentos y nuestra propuesta de valor, es fundamental definir los canales de los cuales nos vamos a valer para llegar a nuestros clientes. Esto está relacionado con los canales de comunicación, distribución y venta que utilizará la empresa. En Huenei contamos con diferentes canales de comunicación, tanto físicos como digitales, y ofrecemos a nuestros clientes una atención personalizada a lo largo de todo el proyecto.

 

  1. Relación: Es de suma importancia establecer estrategias que nos permitan construir una relación a largo plazo con nuestros segmentos de mercado. Las empresas de tecnología pueden constituir ejemplos muy ilustrativos en términos de construcción de relaciones con los clientes, basadas ​​en la asistencia personal, los servicios de soporte automatizados y la creación colaborativa en proyectos de desarrollo de software.

 

  1. Fuentes de ingresos: Las fuentes de ingresos representan el modo en que la empresa logra capturar el valor de los clientes. En este sentido, el enfoque está puesto en en reconocer cómo capturar correctamente el valor de nuestros clientes por medio de nuestra propuesta de valor. En el caso de las empresas de tecnología como Huenei, el foco suele estar en cobrar por los servicios y desarrollos prestados.

 

  1. Recursos clave: Para llevar a cabo sus actividades diarias, ya sea de producción, marketing, relaciones u otras, la empresa necesita contar con determinados recursos. Se pueden mencionar como ejemplos los siguientes:
  • Recursos físicos, como lugares de trabajo o puntos de contacto con los clientes, programas y software utilizados para el desarrollo, etc.
  • Recursos intelectuales, como patentes y registros de diseños industriales.
  • Recursos humanos, el equipo de trabajo, desarrolladores, administradores de cuentas clave, comerciales, etc.
  • Recursos económicos que permiten el funcionamiento diario.

 

  1. Actividades clave: Este elemento se centra en las actividades que constituyen la base del negocio. Son aquellas que permiten a la empresa tanto la generación de una propuesta de valor atractiva como el contacto con el público y la construcción de relaciones con los clientes. Las actividades clave de una empresa de tecnología pueden estar relacionadas con la producción o el desarrollo de productos de software, la solución de problemas del cliente mediante un servicio de soporte y seguimiento posventa, el diseño de una red o plataforma intuitiva para los clientes, entre otras.

 

  1. Alianzas clave: Algunas organizaciones de tecnología tercerizan determinadas actividades o recursos importantes. En estos casos, los socios, proveedores y aliados que agregan valor a la actividad y a la propuesta de la empresa representan actores clave para el desarrollo corporativo y comercial.

 

  1. Estructura de costos: Esta estructura está compuesta por costos fijos y variables que surgen en las operaciones diarias de la organización. Más allá del enfoque de la organización, que puede estar orientado a reducir costos o incrementar el valor que perciben los clientes, el correcto control y administración de la estructura de costos y gastos de una empresa son fundamentales para su supervivencia y crecimiento.

Luego de este análisis de la estructura del modelo de negocio según la metodología Business Model Canvas, podemos entender la importancia de una adecuada administración y planificación de cada uno de los cuadrantes para las empresas de software y tecnología. Como hemos visto, las alianzas clave son fundamentales para el desarrollo empresarial, es por eso que en Huenei nos enfocamos constantemente en ofrecer el mejor servicio a nuestros clientes para que puedan captar ese valor y ofrecerlo a los segmentos a los que se dirigen. El trabajo diario y el enfoque en la excelencia permiten a organizaciones como Huenei colaborar en el valor que las empresas ofrecen a sus clientes.

¿Cuál es el lenguaje de programación más importante en 2021?

¿Cuál es el lenguaje de programación más importante en 2021?

A medida que la programación se torna indispensable en la mayoría de los trabajos actuales, es posible que te preguntes dónde enfocarse en tu nuevo camino para aprender a programar, y teniendo en cuenta la enorme cantidad de lenguajes que existen, tomar la decisión correcta puede ser una aventura intrincada. Es por eso que decidimos escribir sobre cuál es el lenguaje de programación más importante en 2021.

En este artículo analizaremos por qué Python, el lenguaje que se está apoderando de todas las industrias, desde las artes y el diseño hasta la bioingeniería y la fabricación, puede ser una alternativa importante para los principiantes en 2021.

What's the most important programming language in 2021?

Image by Chris Ried on Unsplash

¿Qué es Python y para qué puede servir? 

La programación es la forma en que nos comunicamos con las computadoras y Python es una de las muchas formas en que podemos decirles qué hacer, al igual que JavaScript, HTML, R y SQL. La clave de Python es su relativa facilidad de uso y su enfoque orientado a objetos.

Los números hablan por sí solos: según el índice TIOBE, que mide la popularidad de los lenguajes de programación por medio de motores de búsqueda y clasificaciones, Python está a punto de convertirse en el lenguaje más popular antes de C y Java por primera vez en 20 años desde que se utiliza el índice.

Python fue obra de Guido van Rossum y, desde su lanzamiento en 1991, no ha dejado de evolucionar hasta convertirse en un lenguaje útil para crear aplicaciones web, conectar sistemas de bases de datos, modificar archivos, realizar cálculos matemáticos, manejar big data e incluso trazar prototipos.

La instalación gratuita de Python y la ejecución de código en Mac, Linux o Windows no toma más de 10 minutos. La versión más reciente del lenguaje se llama Python 3 y tiene una sintaxis más simple que la versión anterior; también sirve mejor para el desarrollo de trabajos de aprendizaje automático, inteligencia artificial y ciencia de datos.

La mayoría de la gente dice que programar en Python es similar a hablar en inglés de manera simple, y es por eso que el lenguaje suele resultar tan intuitivo desde el principio. Al mismo tiempo, es un lenguaje de programación orientado a objetos, es decir que permite representar el mundo real utilizando estructuras con comportamientos.

La programación orientada a objetos es simple porque permite a los programadores vincular estados, que representan las características de los objetos, con comportamientos y sus respectivos objetos divididos por clase. Veamos un ejemplo:

Object-oriented programming

Las librerías de Python, que son módulos de código reutilizables, son otra gran ventaja competitiva que hace que este lenguaje tenga un rendimiento superior. Hay más de 137.000 librerías que pueden eliminar la necesidad de escribir código desde cero, y la mayoría de ellas son de código abierto.

Un aspecto notable de las librerías es que pueden ayudarlo a completar tareas que de otro modo tendría que realizar en un lenguaje diferente. Por ejemplo, la librería Pandas es de gran utilidad para la creación de modelos y el análisis de datos, tareas que por lo general se suelen realizar con lenguajes más específicos como R.

Cómo aprender Python: Los mejores cursos, aplicaciones y libros 

Contrariamente a la creencia popular de que la programación solo es útil para trabajos relacionados con la tecnología, Python puede ser la siguiente habilidad que necesita para llevar adelante sus proyectos, incluso si su campo de trabajo no está relacionado con la tecnología de la información.

El código Python está en todas partes: está presente en la vida cotidiana cada vez que Amazon, Netflix, Youtube o Spotify nos recomiendan algo según nuestras preferencias, e incluso cuando hablamos con un bot o miramos Instagram o Snapchat. En Huenei, realizamos todo tipo de desarrollos de software con este increíble lenguaje.

Al mismo tiempo puede servir para fines profesionales, como análisis y visualización de datos, aprendizaje automático y minería de datos, así como también aspectos más personales, como potenciar el rendimiento de sus finanzas personales mientras se mantiene al día con los precios del bitcoin. Así que aquí tenemos una lista de los recursos más útiles disponibles para aprender este lenguaje:

Freecodecamp.org es uno de los mejores recursos en Internet para aprender a programar de forma gratuita. Esta plataforma web fundada por una organización sin fines de lucro ofrece una abundante biblioteca de cursos a la cual acceden más de 350.000 estudiantes cada mes.

Además de Python, en freecodecamp.org también se puede aprender JavaScript, CSS y HTML, y cada vez que el usuario completa un módulo, recibe un certificado. Otro beneficio es que cuenta con salas de chat y comunidades online donde se puede pedir ayuda y despejar dudas.

  • Sololearn (Android/ iOS) (Free / Pro version) 

El mejor aspecto de esta aplicación para aprender Python es que permite comunicarse con otros estudiantes en cada lección, lo cual la convierte no solo en una plataforma de aprendizaje sino también en una red social; de este modo nunca se sentirá solo mientras intenta resolver un error.

Sololearn utiliza cuestionarios como método de evaluación, y cada sesión contiene un glosario terminológico. También ofrece desafíos y competencias a través de los cuales el usuario obtiene puntos que luego podrá mostrar.

Este curso puede llevarlo de principiante a experto en el desarrollo de programas para el análisis de datos con Python 3. Y como su nombre lo indica, es sencillo para aquellos que nunca han tenido un acercamiento a este lenguaje. Se puede asistir al curso como oyente de forma gratuita u optar por una evaluación paga con un certificado.

El contenido incluye conceptos fundamentales que se explican en el libro de texto “Python for Everybody” (Python para todos) y enseña cómo manejar estructuras de datos, acceder a datos web y usar bases de datos. Al final, podrá recibir un certificado de finalización después de haber completado el proyecto final del último módulo.

Si bien aprender un lenguaje de programación en un solo día parece muy poco realista, si lo que busca es un enfoque práctico, este libro te resultará ideal, ya que te hará poner manos a la obra desde el comienzo.

Después de enseñarte cómo instalar algún software necesario, te enseñará conceptos básicos como variables, operadores, enteros, flotantes y cadenas al mismo tiempo ofrece ejemplos.

¿Qué es un tablero Kanban y cómo se utiliza?

¿Qué es un tablero Kanban y cómo se utiliza?

Un tablero Kanban es una herramienta que permite la visualización de flujos de trabajo para la gestión de proyectos y tareas. En Huenei estos tableros resultan de gran utilidad, dado que que los usamos en proyectos de llave en mano, aumento de personal y equipos dedicados, es por ello que queremos transmitir cómo aprovecharlos. Dado que, en la actualidad, la mayor parte del trabajo es intangible, contar con un modelo visual con tarjetas que representen procesos podría ser su próxima gran estrategia para agilizar sus tareas pendientes y acceder a más información sobre las cargas de trabajo. 

Si bien los orígenes se remontan a Japón, donde Kanban significa “señal visual”, este sistema de gestión de proyectos se volvió ampliamente popular entre diversas empresas emergentes de Silicon Valley y gigantes tecnológicos como Epic Games, Bose y Google para la implementación de DevOps y el desarrollo ágil de software, TI, desarrollo de productos e incluso fabricación.

Kanban Board

Image by Hygger

Como lo explica el investigador de Kanban, David Anderson, “los sistemas Kanban se pueden utilizar en cualquier situación en la cual se desee limitar una cantidad de elementos dentro de un sistema”. En este artículo, lo ayudaremos a configurar su tablero Kanban y le enseñaremos las diferentes formas en que podrá usarlo para solucionar problemas en sus proyectos y acelerar sus emprendimientos comerciales en curso.

Cómo crear su propio tablero Kanban: los componentes 

Hay cinco elementos fundamentales que constituyen la base de un tablero Kanban: señales visuales, columnas, límites del trabajo en curso, un punto de compromiso y un punto de entrega.

1. Señales visuales: Puede utilizar adhesivos, tarjetas de cartón o cualquier otra señal visual que permita representar tareas, cada una con una descripción, una fecha límite, una historia de usuario o cualquier otra información relevante relacionada con un proyecto específico.

2. Columnas: Representan las etapas que componen el flujo de trabajo. Se pretende que cada señal visual vaya pasando a través del sistema hasta que se complete la tarea. Se pueden utilizar flujos de trabajo como “lista para comenzar”, “en curso” y “terminada”.

3. Límites del trabajo en curso: Indican cuántas tarjetas puede contener una columna en simultáneo, lo cual significa que no se pueden agregar tareas infinitas hasta que se hayan completado las anteriores. Esto es particularmente útil para evitar cuellos de botella y enfocarse en las tareas que más importan en un momento determinado.

4. Punto de compromiso: Aquí es donde todo comienza. En este punto, los miembros del equipo ya han definido qué propuestas se convertirán en proyectos reales. Una buena idea para filtrar las señales visuales antes de ingresarlas en el punto de compromiso es crear una cartera de tareas pendientes para la pizarra, donde se pueden escribir las ideas que surjan después de una sesión de tormenta de ideas.

5. Punto de entrega: En este punto, el equipo puede cantar victoria, porque habrá logrado un producto tangible listo para salir al mercado. El objetivo de cada sistema Kanban (dado que son únicos para cada equipo) es llevar la mayor cantidad de señales visuales desde el punto de compromiso hasta el punto de entrega con la mayor eficiencia posible. El tiempo que transcurre entre ambos puntos se conoce como Lead Time, y se puede utilizar como un gran indicador clave del rendimiento para algunos equipos.

Ahora que hemos definido los elementos de un tablero Kanban, profundicemos en la dinámica que ofrece este sistema de flujo de trabajo. Como mencionamos anteriormente, puede ser útil agregar una columna de trabajos pendientes donde los miembros del equipo puedan sumar libremente ideas con sus correspondientes tareas en diferentes adhesivos antes de incorporarlas al punto de compromiso.

Example Kanban Board

Image by Herramientas en la Nube

Una vez alcanzado el punto de compromiso o la columna “lista para comenzar”, las señales visuales deben pasar a través de las columnas “en curso” y “terminada”. Durante este proceso, los miembros del equipo que tengan tareas asignadas serán responsables de mover los adhesivos a las siguientes columnas hasta que lleguen al punto de “terminada” y elijan una nueva tarea.

Es importante tener en cuenta que cada tablero Kanban solo puede contener una cantidad limitada de señales visuales y que cada señal representa un trabajo único. En otras palabras, solo se puede agregar una nueva tarea cuando haya una nueva señal visual disponible, por lo tanto no se puede agregar un nuevo trabajo si no hay señales libres. Si bien esto suena muy simple, es fundamental para evitar cuellos de botella y potenciar al máximo los esfuerzos en curso.

Las mejores aplicaciones para crear un tablero Kanban 

Si bien el uso de adhesivos y marcadores sobre cualquier superficie o ventana para crear un tablero Kanban es lo que hace que este sistema sea atractivo para muchas personas, otras apuestan por métodos de flujo de trabajo más avanzados que se pueden actualizar en cualquier momento desde cualquier dispositivo.

Esta es una lista de las mejores aplicaciones de tablero Kanban, y muchas de ellas ya incluyen formatos para proyectos predeterminados que pueden servir a modo de guía para agregar todo el trabajo fácilmente:

  • Trello (Web, Mac, Windows, Android, iOS): Esta intuitiva aplicación multiplataforma es tan rápida que puede ser la mejor opción para aquellos que deseen incurrir en el mundo Kanban. En solo unos minutos podrá configurar su propio tablero con señales visuales, comentarios y listas de verificación. Trello también ofrece funciones adicionales útiles, como la capacidad de asignar archivos a señales visuales e incorporar otras aplicaciones dentro de Trello para videochats y seguimiento del tiempo. La aplicación ofrece una versión gratuita con tarjetas y miembros ilimitados, y una versión de clase empresarial a $10 por usuario al mes con características adicionales, como un panel y una vista de línea de tiempo.
Trello Board

Image by Trello

  • Blossom (Web): Si la estética tiene un rol importante en su equipo, Blossom puede ser la aplicación indicada. Viene con un diseño impecable que lo ayudará a concentrarse en la finalización de las tareas sin distracciones, y también incluye análisis que se pueden enviar directamente por correo electrónico con información sobre cuánto tiempo llevó cada tarea y cuáles son las próximas tareas para el equipo.

Si bien Kanban es principalmente un método de flujo de trabajo, muchos de sus partidarios también lo definen como un sistema de valores, donde el acuerdo para llevar a cabo proyectos, el respeto por los miembros del equipo, el liderazgo, la colaboración y el enfoque en el cliente son elementos decisivos para garantizar el éxito. Entonces, ahora que sabe cómo funciona el sistema Kanban, tal vez sea un buen momento para crear su propio tablero, ya sea sobre una mesa, una ventana o mediante alguna de las aplicaciones que hemos recomendado. En Huenei recomendamos con énfasis el uso de esta metodología para organizar proyectos y lograr un flujo de trabajo mucho más dinámico y eficiente .

Blossom Kanban Board

Image by Blossom

Conceptos clave sobre Data Lakes

Conceptos clave sobre Data Lakes

Los datos se han convertido en un elemento vital para las empresas digitales, y una ventaja competitiva clave, pero el volumen de datos que actualmente necesitan administrar las organizaciones es muy heterogéneo y su velocidad de crecimiento exponencial. Surge así la necesidad de soluciones de almacenamiento y análisis, que ofrezcan escalabilidad, rapidez y flexibilidad para poder gestionar esta masiva cantidad de datos. ¿Cómo es posible almacenarlos de manera rentable y acceder a ellos rápidamente? Un Data Lake (Lago de Datos) es una respuesta moderna a este problema.

En esta serie de artículos, veremos qué es un Data Lake, cuáles son sus beneficios y cómo podemos implementarlo utilizando Amazon Web Services (AWS).

¿Qué es un Data Lake?

Un Data Lake es un repositorio de almacenamiento centralizado, que permite guardar todo tipo de datos estructurados o no, a cualquier escala, sin procesar, hasta que se los necesite. Cuando surge una pregunta de negocio, es posible obtener la información relevante y ejecutar diferentes tipos de análisis sobre ella, a través de dashboards, visualizaciones, procesamiento de Big Data y aprendizaje automático, para guiar la toma de mejores decisiones.

Un Data Lake puede almacenar datos tal como están, sin tener que estructurarlos primero, con poco o ningún procesamiento, en sus formatos nativos, tales como JSON, XML, CSV o texto. Puede almacenar tipo de archivos: imágenes, audios, videos, weblogs, datos generados desde sensores, dispositivos IoT, redes sociales, etc. Algunos formatos de archivo son mejores que otros, como Apache Parquet que es un formato columnar comprimido que proporciona un almacenamiento muy eficiente. La compresión ahorra espacio en disco y accesos de E/S, mientras que el formato permite al motor de consultas escanear sólo las columnas relevantes, lo cual reduce el tiempo y los costos de las mismas.

El uso de un sistema de archivos distribuido (DFS), como AWS S3, permite almacenar más datos a un costo menor, brindando múltiples beneficios:

  • Replicación de datos
  • Altísima disponibilidad
  • Bajos costos, con diferentes escalas de precios y múltiples tipos de almacenamiento dependientes del tiempo de recuperación (desde acceso instantáneo a varias horas)
  • Políticas de retención, lo que permite especificar cuánto tiempo conservar los datos antes de que se eliminen automáticamente

 

datalakes

 

Data Lake versus Data Warehouse

Los Data Lakes y los Data Warehouses son dos estrategias diferentes de almacenar Big Data, en ambos casos sin atarse a una tecnología específica. La diferencia más importante entre ellos es que, en un Data Warehouse, el esquema de datos está preestablecido; se debe crear un esquema y planificar las consultas. Al alimentarse de múltiples aplicaciones transaccionales en línea, se requiere que los datos se transformen vía ETL (extraer, transformar y cargar) para que se ajusten al esquema predefinido en el almacén de datos. En cambio, un Data Lake puede albergar datos estructurados, semi-estructurados y no estructurados y no tiene un esquema predeterminado. Los datos se recogen en estado natural, necesitan poco o ningún procesamiento al guardarlos y el esquema se crea durante la lectura para responder a las necesidades de procesamiento de la organización.

El Data Lake es una solución más flexible y adaptada a usuarios con perfiles más técnicos, con necesidades de análisis avanzadas, como Científicos de Datos, porque se necesita un nivel de habilidad para poder clasificar la gran cantidad de datos sin procesar y extraer fácilmente el significado de ellos. Un almacén de datos se centra más en usuarios de Análiticas de Negocios, para respaldar las consultas comerciales de grupos internos específicos (Ventas, Marketing, etc.), al poseer los datos ya curados y provenir de los sistemas operacionales de la empresa. Por su parte, los Data Lakes suelen recibir datos tanto relacionales como no relacionales de dispositivos IoT, redes sociales, aplicaciones móviles y aplicaciones corporativas.

En lo que respecta a la calidad de los datos, en un Data Warehouse, estos están altamente curados, son confiables y se consideran la versión central de la verdad. En cambio, en un Data Lake son menos confiables porque podrían llegar de cualquier fuente en cualquier estado, curados o no.

Un Data Warehouse es una base de datos optimizada para analizar datos relacionales, provenientes de sistemas transaccionales y aplicaciones de línea de negocios. Suelen ser muy costosos para grandes volúmenes de datos, aunque ofrecen tiempos de consulta más rápidos y mayor rendimiento. Los Data Lakes, en cambio, están diseñados pensando en el bajo costo de almacenamiento.

Algunas críticas legítimas que reciben los Data Lakes son:

  • Es aún una tecnología emergente frente el modelo de madurez fuerte de un Data Warehouse, el cual posee muchos años en el mercado.
  • Un Data Lake podría convertirse en un “pantano”. Si una organización practica una deficiente gestión y gobernanza, puede perder el rastro de lo que existe en el “fondo” del lago, provocando su deterioro, volviéndolo incontrolado e inaccesible.

Debido a sus diferencias, las organizaciones pueden optar por utilizar tanto un Data Warehouse como un Data Lake en una implementación híbrida. Una posible razón sería el poder agregar nuevas fuentes o usar el Data Lake como repositorio para todo aquello que ya no se necesite en el almacén de datos principal. Con frecuencia, los Data Lakes son una adición o una evolución de la estructura de administración de datos actual de una organización en lugar de un reemplazo. Los Analistas de Datos pueden hacer uso de vistas más estructuradas de los datos para obtener sus respuestas y, a la vez, la Ciencia de Datos puede «ir al lago» y trabajar con toda la información en bruto que sea necesaria.

Arquitectura de un Data Lake

La arquitectura física de un Data Lake puede variar, ya que se trata de una estrategia aplicable por múltiples tecnologías y proveedores (Hadoop, Amazon, Microsoft Azure, Google Cloud). Sin embargo, hay 3 principios que lo distinguen de otros métodos de almacenamiento Big Data y constituyen la arquitectura básica de un Data Lake:

  • No se rechaza ningún dato. Se cargan desde varios sistemas de origen y se conservan.
  • Los datos se almacenan en un estado sin transformar o casi sin transformar, tal como se recibieron de la fuente.
  • Los datos se transforman y se ajustan al esquema durante el análisis.

Si bien la información, en gran medida, no está estructurada ni orientada a responder una pregunta específica, debe ser organizada de alguna manera, para garantizar que el Data Lake sea funcional y saludable. Algunas de estas características incluyen:

  • Etiquetas y/o metadata para la clasificación, que puede incluir tipo, contenido, escenarios de uso y grupos de posibles usuarios.
  • Una jerarquía de archivos con convenciones de nomenclatura.
  • Un Catálogo de datos indexado y con capacidad de búsqueda.

Conclusiones

Los Data Lakes son cada vez más importantes para las estrategias de datos empresariales. Responden mucho mejor a la realidad actual: volúmenes y tipos de datos mucho mayores, mayores expectativas de los usuarios y mayor variedad de analíticas, tanto de negocio como predictivas. Tanto los Data Warehouses como los Data Lakes están destinados a convivir en las empresas que deseen basar sus decisiones en datos. Ambos son complementarios, no sustitutivos, pudiendo ayudar a cualquier negocio a conocer mejor el mercado y al consumidor, e impulsar iniciativas de transformación digital.

En el próximo artículo, analizaremos cómo podemos utilizar Amazon Web Services y su infraestructura abierta, segura, escalable y rentable, para construir Data Lakes y analíticas sobre ellos.