Glosario de términos Tecnológicos

Almacenamiento (SSD, HDD...)

El disco es una parte física de tu ordenador donde se almacenan datos.

Cosas como archivos, programas de software y configuraciones se almacenan en un disco; generalmente es para almacenamiento a largo plazo, porque es un poco lento (a nivel computacional) de acceder.

Los datos de corta duración, como dónde se encuentra en la canción que está escuchando, se almacenan efímeramente en la memoria (RAM), no en el disco.

Si quieres conocer los tipos de disco duro, te dejo este vídeo en donde los muestro.

 

API

Las Interfaces de Programación de Aplicaciones (API) son como ventanas de autoservicio, pero en código: cogen entradas y ofrecen salidas predecibles.

La mayoría de las aplicaciones modernas (como Airtable por ejemplo) están conformadas por un conjunto de API que funcionan juntas.

Hay miles de APIs diferentes, desde API internas hasta API públicas. Incluso empresas grandes como Stripe venden su API como un producto.

 


API públicas

A veces, las empresas ponen a disposición algunas de sus API y le darán instrucciones sobre cómo usarlas.

Un gran ejemplo es la API de Twitter ahora llamado X.

Normalmente, usaría la aplicación de Twitter, que realiza un montón de llamadas API a las API internas de Twitter, como mostrar feed, enviar respuesta y buscar (esto es de lo que acabamos de hablar: frontend y backend).

Pero también puedes llamar a esas API tú mismo, con código, fuera de la aplicación de Twitter.

Por ejemplo, hay una API para obtener el timeline del usuario que puede usar para ver su timeline de un usuario (sus tweets); esa API devuelve esos tweets en JSON, que es un formato de texto especial.


Autenticación

La autenticación es cómo las aplicaciones que usa saben que usted es quien dice ser: a través de algo tan simple como una contraseña o tan complejo como la biometría.

El acceso a sus aplicaciones y datos en la web depende de la identidad: ¡solo tú deberías poder ver sus cosas!

El método de autenticación más popular es el nombre de usuario y la contraseña, pero los esquemas como el inicio de sesión único y los enlaces mágicos son cada vez más populares.

En el backend, la autenticación puede funcionar a través de cookies, tokens de sesión y/u otras combinaciones de criptografía esotérica.


Backend

Una aplicación, como la que estás leyendo en esta publicación, se compone de dos partes: una interfaz y un backend.

El backend alberga la base de datos, las API frente a esa base de datos y cualquier lógica de negocio (facturación, flujos de trabajo, etc.) que sucede detrás de pantalla.

Piensa que el backend es como la cocina de un restaurante: el cliente (los usuarios) nunca hablan con la cocina, sino que interactúa con ella a través de un menú y los camareros (frontend).


Base de datos

Una base de datos es solo un lugar para almacenar datos; incluso Excel es técnicamente una base de datos.

Pero cuando los desarrolladores hablan de bases de datos, generalmente se refieren a software especializado que se utiliza para almacenar datos de aplicaciones.

Cuando te registras en Instagram, se agrega una nueva entrada a la base de datos de usuarios de Instagram con mucha información sobre ti; cada vez que inicia sesión después de eso, esos datos se extraen y usan (esto es parte de lo que es un backend).

 


Base de datos productivas

La categoría más grande de bases de datos, tanto en términos de cantidad de opciones disponibles como de tamaño total del mercado, son las bases de datos de producción.

Los equipos los usan para almacenar datos de aplicaciones, los datos que respaldan las aplicaciones que usamos todos los días, como Gmail, Slack, Teams e incluso un terminal de inversión Bloomberg.

Están optimizados para ejecutar muchas consultas pequeñas a la vez, en lugar de algo así como bases de datos analíticas que están optimizadas para consultas grandes e infrecuentes.


Base de datos relacional 

Una base de datos relacional es algo así como Excel, pero para los desarrolladores: es cómo las aplicaciones almacenan y analizan datos.

Las bases de datos relacionales como MySQL y PostgreSQL son el software predeterminado para almacenar datos. Las bases de datos relacionales tienen que ver con esquemas: reglas sobre cómo se almacenan y organizan los datos.

Por lo general, consulta estas bases de datos con SQL, un tipo de lenguaje de programación que le permite extraer y analizar los datos en su base de datos relacional.


Binario 

Las computadoras descomponen todas las instrucciones del software en un simple sí o no y usan señales y puertas eléctricas microscópicas para procesar y almacenar esas instrucciones. También lo verás representado por 1's y 0's.

Es algo muy loco, como las imágenes de Matrix.

También puede ver el término binario que se refiere a una biblioteca de software empaquetada y lista para su distribución.


Cloud 

La nube permite a las empresas alquilar los servidores (ordenadores gigantes) en los que ejecutan su software en lugar de comprarlos.

Empresas como AWS, Azure, Google, compran computadoras gigantes llamadas servidores y las montan en edificios llamados centros de datos o CPDs. Tú puedes alquilar espacio en esas computadoras en componentes predefinidos de potencia y almacenamiento de computadora, y accede a ellas a través de Internet.

La nube es transformadora porque paga por uso, ejemplo por cada hora, en lugar de comprar equipos costosos por adelantado.


Control de versiones 

El control de versiones le permite rastrear y administrar los cambios en su código de una manera más sofisticada de lo que está acostumbrado.

El código cambia mucho, por lo que mantener el historial es fundamental, especialmente cuando varias personas trabajan juntas en un proyecto.

El control de versiones realiza un seguimiento de los cambios en un código base y regula cómo las personas pueden realizar actualizaciones.

Git es el protocolo estándar para el control de versiones y casi todos los desarrolladores lo usan; pero probablemente también has oído hablar de Github, que brinda un servicio de alojamiento administrado para tus repositorios de código.


Data lake 

Un lago de datos es un lugar no estructurado para almacenar datos.

Por lo general, está diseñado para almacenamiento a largo plazo y consultas poco frecuentes. Las empresas están recopilando más datos que nunca, pero no todos se utilizan de inmediato.

Un lago de datos es un lugar para colocar datos, en un formato no estructurado, generalmente para almacenamiento a largo plazo. Los lagos de datos son más fáciles de entender en contraste con los almacenes de datos, donde los esquemas se definen de antemano.


Data warehouse 

Un Data Warehouse, es un almacén de datos que es un tipo especial de base de datos diseñada para análisis en lugar de transacciones. Hay dos tipos principales de bases de datos: transaccionales y analíticas.

Las bases de datos transaccionales como PostgreSQL están diseñadas para agregar, actualizar y eliminar datos, pero las bases de datos analíticas son para consultas y uniones complejas.

Cuando analiza grandes cantidades de datos para comprender los patrones en el uso del producto o ver los ingresos a lo largo del tiempo, desea utilizar un almacén de datos.


Despliegue continuo (CD) 

El CD (Continuos deployment) Despliegue continuo, es una filosofía en torno a llevar su código a la producción: en lugar de lanzamientos gigantes y poco frecuentes, aboga por muchos cambios más pequeños, incluso varias veces al día.

Hoy en día, la mayoría de los equipos de ingeniería se implementan al menos una vez al día.

Se requiere mucho en el extremo de las herramientas para que esto sea una realidad. Un ejemplo son los servidores de prueba: son entornos que imitan la aplicación real lo más fielmente posible, por lo que puede probar de manera confiable antes de enviar la nueva compilación a los usuarios.


DevOps 

DevOps es un proceso (por ejemplo, un conjunto de prácticas comunes) que ayuda a los equipos a tomar el software que han creado y asegurarse de que funcione bien a escala.

La creación de software es solo una parte de la batalla: debe distribuirlo a sus clientes y debe funcionar para ellos todo el tiempo. La adopción masiva de la nube ha movido el software a la web y lo ha escalado mucho, lo que hace que ejecutar ese software sea un poco difícil.

DevOps puede ser un equipo, pero es principalmente un proceso que se centra en 4 grandes cosas: construcción previa al lanzamiento, CI/CD, infraestructura y monitoreo.

También su evolución lógica, ha creado el término DevSecOps que incluyen a estas 4 grandes cosas, la seguridad tanto en código como en vulnerabilidades en diseño.

En pocas palabras, básicamente los equipos de DevOps se preocupan por asegurarse de que su aplicación funcione para cualquiera que quiera usarla.


Dirección IP 

Las casas tienen direcciones de calles y las computadoras tienen direcciones IP.

Las direcciones IP son la forma en que las computadoras en una red saben quién es quién, al igual que en su bloque en casa.

Las direcciones IP generalmente solo son únicas dentro de una red local, pero hay toneladas de redes por ahí. Las direcciones IP son en su mayoría IPv4 (32 bits), pero Internet está superando ese estándar a IPv6 (128 bits).


Distribución 

Si está leyendo o hablando sobre Linux, es posible que oigas que la gente usa dos palabras nuevas: distribución y kernel.

Cada sistema operativo se basa en un kernel, que es el núcleo del sistema operativo y realiza la mayor parte de la administración del hardware.

Linux es una colección de un kernel y algunas otras cosas, no necesariamente bien organizadas juntas como lo estarían Windows o Mac.

Una distribución reúne todos esos componentes en una configuración específica, como cabría esperar de Windows o Mac, y los reúne en un paquete fácil de descargar y usar.

La distribución de Linux más popular (distro para abreviar) es Ubuntu.


Docker

Docker es un motor para ejecutar su código en contenedores, que son pequeñas cajas aisladas.

Los contenedores permiten a los desarrolladores controlar estrictamente el entorno en el que se ejecuta su código: qué paquetes se instalan, qué versiones de diferentes bibliotecas se ejecutan y qué comandos de software se ejecutan en qué momento.


ETL 

ETL significa Extraer - Transformar - Cargar (Load), y es el proceso de mover datos alrededor de sus sistemas internos para prepararlos para el análisis.

En la mayoría de las empresas, los datos están aislados, sucios y es difícil trabajar con ellos: no son ideales para analizarlos de manera rápida y efectiva.

ETL es el proceso de mover, limpiar y organizar esos datos de una manera que permita tomar decisiones


Frontend 

Una aplicación, como la que está leyendo esta publicación, se compone de solo dos partes: una interfaz y un backend.

La interfaz es la parte visual e interactiva de la aplicación que los usuarios realmente usan. Si se accede a través del navegador, siempre está escrito en HTML, CSS y JavaScript.

El frontend hace llamadas al backend para obtener los datos y los flujos de trabajo que necesita (por ejemplo, completar su página de perfil).

Hoy en día, hay herramientas Nocode, que te permiten abstraerte de todos estos conceptos para crear páginas web.

 


GraphQL 

GraphQL es un lenguaje de consulta (y tiempo de ejecución) para construir y usar API: los desarrolladores lo usan para simplificar la realización de solicitudes de API.

La mayoría de las aplicaciones y los sitios se basan en una red de API interconectadas: cuando carga su perfil o fuente, proporcionan los datos.

Las API generalmente se crean con un propósito por punto final, lo que significa que obtener todos los datos que necesita implica muchas llamadas y viajes al servidor.

GraphQL actúa como un contenedor sobre sus API para que pueda decir exactamente lo que quiere y solo necesita hablar con el servidor una vez. GraphQL también admite esquemas e introspección para que sus datos sean más fáciles de entender.


Headless e-commerce 

El comercio electrónico sin cabeza es como Shopify, pero sin la mayoría de las imágenes a las que está acostumbrado: es un portal de administración y backend puro para ejecutar y construir tiendas en la web.

Como cualquier aplicación web, los sitios de comercio electrónico tienen dos componentes: un frontend y un backend. La interfaz es lo que ves y con lo que interactúas; el backend es la base de datos y las API.

El comercio electrónico headless te brinda un backend configurable y preconstruido para tu tienda; piensa en pedidos, clientes, productos, etc.

Sin embargo, no todo es código: los productos headless generalmente le brindan algún tipo de portal de administración para configurar su configuración.


HTTP 

HTTP es el idioma que su computadora le habla a los servidores web para permitirle navegar por Internet.

HTTP funciona a través del modelo de solicitud/respuesta, algo así como un autoservicio de Burger King. Algunas conexiones están encriptadas a través de HTTPS, la versión segura de HTTP.


Integración continua (CI) 

CI (Continuos Integration) Integración continua, generalmente se refiere a una serie de pruebas y automatizaciones que los desarrolladores ejecutan en su código antes de enviarlo a sus usuarios.

La mayor parte de CI son las pruebas: desea asegurarse de que su software funcione como se espera y no tenga errores importantes.

CI generalmente involucra algún tipo de servidor (o servicio de terceros como CircleCI) que realmente ejecuta esas pruebas.


iOS/Android 

Básicamente, hay dos grandes jugadores en el mercado de los dispositivos móviles: Android e iOS.

Android es en realidad el sistema operativo más popular del mundo (porque hay más teléfonos que computadoras).

Pero entre los dos, cubren todos los dispositivos móviles, y aquí puedes ver cómo se reparten el liderazgo de Android vs iOS en el Mundo según Statista

El mapa mundial de Android e iOS

JAMStack 

JAMStack es un patrón arquitectónico (más o menos) para crear aplicaciones que se aleja del modelo de servidor web tradicional y se enfoca en servir archivos estáticos desde el borde (centros de datos físicamente cerca de su computadora).

JAM significa Javascript, API y Markup. Javascript: todo el código está en JS, tanto para la interactividad del frontend como para las solicitudes y el manejo de la API. API: en lugar de un servidor web monolítico, toda la funcionalidad de back-end (autenticación, usuarios, etc.) se sirve a través de API. Marcado: todo su sitio es solo un montón de archivos HTML servidos estáticamente.


Kafka 

Apache Kafka es un marco para la transmisión de datos entre sistemas internos.

En la actualidad, manejamos una gran cantidad de datos, Big Data, y registrarlos, almacenarlos y moverlos es difícil y costoso.

Kafka ayuda a transmitir esos datos en toda una empresa y distribuirlos a los sistemas que quieren usarlos.

La arquitectura de Kafka funciona a través de un patrón de publicación-suscripción: transmite datos y cualquier sistema (su almacén de datos, un sistema de facturación, etc.) puede optar por suscribirse a esos datos y consumirlos.


Kernel 

Cada sistema operativo se basa en un kernel, que es el núcleo del sistema operativo y realiza la mayor parte de la administración del hardware.

Linux es una colección de un kernel y algunas otras cosas, no necesariamente bien organizadas juntas como lo estarían Windows o Mac.


Kubernetes 

Los desarrolladores usan Kubernetes para convertir sus contenedores individuales y máquinas virtuales en aplicaciones de trabajo completas.

Las aplicaciones modernas a menudo consistirán en un montón de contenedores que hacen cosas separadas que deben funcionar juntas.

Kubernetes orquesta estos contenedores y se encarga de exponerlos a personas como tú y yo. En general, puede dividir el punto de Kubernetes en tres grupos: estado del contenedor, redes y configuración.

Todo el ecosistema de Kubernetes es complicado e intenso, y no es para todos ni para todas las aplicaciones.


Linux 

El sistema operativo Linux es una pequeña fracción del mercado de las computadoras personales: pero es el sistema operativo predeterminado para la mayoría de los servidores en la nube, y también se está volviendo más popular en las computadoras personales.

Linux es de código abierto, lo que significa que es de uso gratuito y completamente auditable (puede leer su código).


Llamadas API 

Cuando le das a una API un montón de entradas para obtener los resultados que deseas, se llama llamar a la API.

Las llamadas a la API siempre se realizan a través de código (mediante lenguajes de programación), y existen muchas formas de hacerlo, como la línea de comandos (cURL), bibliotecas de clientes en su lenguaje de programación favorito e incluso herramientas visuales como Postman.


MacOS/Windows/Linux 

Hay tres sistemas operativos dominantes para computadoras no móviles: Windows, MacOS y Linux.

Probablemente esté familiarizado con los dos primeros, pero no con el último (a menos que sea ingeniero, pero entonces, ¿por qué lees esto?).


Memoria (RAM) 

RAM significa Random Memory Access, que es algo así como la memoria de acceso aleatorio, y es la solución para un acceso rápido: es una memoria mucho más rápida que las computadoras usan para cosas como el almacenamiento intermedio (almacenar el resultado de un cálculo temporalmente).

Cuanto más pueda almacenar en la memoria RAM, más rápido su computadora podrá procesar las cosas.

La desventaja: es mucho más caro que el disco, y todo lo que está almacenado en la memoria RAM se elimina cuando apaga la computadora.


NoSQL 

Las bases de datos NoSQL son bases de datos sin reglas: simplemente sueltas tus datos allí y te preocupas por eso más tarde.

NoSQL es una clase de bases de datos construidas para grandes cantidades de datos y velocidades de aplicación rápidas. A diferencia de las bases de datos relacionales, NoSQL funciona sin un esquema o conjunto de reglas y definiciones.

La mayoría de las bases de datos NoSQL están diseñadas para ser resistentes y distribuidas en lugar de transaccionales sólidas. NoSQL realmente ha despegado en los últimos años, y casi el 30% de los desarrolladores lo están usando de una forma u otra.


Open Source 

El código abierto técnicamente significa que el código de una aplicación está disponible públicamente, pero en términos más generales se refiere al movimiento de comunidades de desarrolladores que crean bases de código abiertas y transparentes para que todos las usen.


Procesador (CPU) 

CPU significa Unidad Central de Procesamiento, y es lo que intenta comprender y ejecutar las instrucciones de su software.

Hace cosas básicas como aritmética y lógica (si esto hace eso, etc.). Muchas computadoras también tienen una GPU (Unidad de procesamiento de gráficos), que hace lo mismo que una CPU pero está diseñada para tareas específicas.


Product analytics 

El análisis de productos es el proceso mediante el cual las empresas descubren lo que los usuarios realmente están haciendo en su producto, con el objetivo de mejorarlo.

Llegar a un buen gráfico que muestre cuántos usuarios tocan cada característica requiere una pila decentemente compleja que involucra instrumentación (eventos de disparo cuando los usuarios toman medidas en el producto), transformación de esos datos y luego una capa de visualización también.


React 

React es una filosofía y un marco para crear aplicaciones web interactivas (y nativas) que se basan en componentes reutilizables. Los desarrolladores web usan React para crear aplicaciones web dinámicas como Twitter.

La filosofía de React enfatiza los componentes reutilizables para que no reescribas el código: cada botón, entrada, tarjeta, lo que sea, básicamente debería ser reutilizable. Los conceptos básicos y las piezas imprescindibles del ecosistema React: accesorios, JSX, estado y React Native vs. React JS.


Reverse ETL 

Reverse ETL es el proceso de sincronización de datos de su almacén de datos con sus herramientas comerciales como Salesforce y Hubspot. Los equipos de datos dedican su tiempo a organizar los datos en un almacén centralizado.

Sin embargo, son los equipos operativos, como ventas y marketing, los que necesitan usar esos datos en sus herramientas SaaS del día a día.

Fuente: https://www.castordoc.com/blog/reverse-etl-benchmark-for-mid-market-companies

ETL inverso es el proceso de mover datos del almacén a esas herramientas para que los equipos operativos puedan tomar medidas al respecto. fuente de la imagen: 


Serverless 

Serverless es un término general para aplicaciones y productos que no requieren que administres tus propios servidores.

Cada aplicación se ejecuta en un conjunto de servidores en algún lugar, y hay una gran sobrecarga involucrada en su administración. Sin servidor solo significa que su aplicación, o la infraestructura por la que paga, no requiere administración del servidor.

En la práctica, la gente usa el término para referirse a una arquitectura basada en funciones en lugar de una basada en aplicaciones. Cada nube principal tiene una plataforma sin servidor, la más conocida es Lambda de AWS.


Sistema Operativo (OS) 

Un sistema operativo es una pieza de software que se encuentra entre sus aplicaciones y su hardware, y se asegura de que los dos funcionen bien juntos.

Es básicamente tu interfaz como usuario con el hardware en el que estás trabajando.


VPN 

Una Red Privada Virtual (VPN) le permite enrutar su acceso a Internet a través de un servidor especializado que mantiene privada su información confidencial.

Acceder a Internet (enviar solicitudes a los servidores) revela directamente su dirección IP, y las redes WiFi públicas pueden exponer información confidencial como tus contraseñas. Las VPN lo ayudan a mantener segura su información al enrutar sus solicitudes a través de un servidor proxy que enmascara su ubicación e información.

Puede configurar un servidor VPN tú mismo o utilizar un servicio de terceros como ExpressVPN. Algunas empresas tienen VPN internas para acceder a los servicios de la empresa, como herramientas de administración.

También puedes utilizar un navegador web seguro como Brave que tiene opción de activarlo sin otros servicios de terceros o instalaciones.

¡Casi una cuarta parte de todos los usuarios de Internet han usado una VPN alguna vez!


Webhooks 

Los webhooks son APIs, pero al revés: son formas en que las aplicaciones envían datos a otras aplicaciones, automáticamente.

En lugar de las API, que son pasivas, los webhooks están activos, lo que significa que no es necesario sondearlos constantemente para obtener actualizaciones.

Las aplicaciones comerciales populares como Stripe y Github proporcionan webhooks para cosas como el pago del cliente o las solicitudes de extracción.

El caso de uso más popular para los webhooks son las pequeñas integraciones, o hacer que sus aplicaciones comerciales se comuniquen entre sí de la forma en que las necesita.

Imágenes y textos iniciales creado por @CSMikeCardona

1 de 3