Glosario técnico - Lista definitiva de términos informáticos

Publicado: Última actualización:
Glosario de términos de TI para reclutadores de tecnología

Los términos informáticos no son fáciles de entender si no eres un programador. Sin embargo, para poder seguir el ritmo de los negocios modernos, es importante entender los conceptos básicos. Así que salga de su zona de confort y domine el lenguaje tecnológico. Hemos recopilado este glosario técnico de términos de TI de DevSkiller para que sea lo más fácil posible.

Prueba también... 15 términos tecnológicos modernos que debe conocer

Hemos dividido el términos técnicos informáticos más importantes en 10 categorías. Aprender estos términos aumentará su credibilidad en la contratación de personal de TI y mejorará su comunicación con los desarrolladores.

Glosario de términos generales de informática

Lenguaje de programación

Foto de Juanjo Jaramillo en Unsplash

A lenguaje de programación es utilizado por los programadores para ordenar a un ordenador que realice un determinado trabajo. Normalmente es un conjunto de instrucciones que pueden utilizarse para lograr el resultado deseado de una aplicación informática escrita en un determinado lenguaje de programación.

El código fuente

Como el código fuente es un conjunto de instrucciones y declaraciones escrito por un programador utilizando un lenguaje de programación informática. Este código se traduce posteriormente en lenguaje de máquina (código binario) mediante un compilador. El código fuente es la única etapa en la que un programador puede leer y modificar un programa informático.

Marco

Foto de Artem Sapegin en Unsplash

Un marco es un código que es ya escrito y cubre funcionalidades genéricas de bajo nivel. Los programadores pueden modificarlo selectivamente con código adicional escrito por el usuario, proporcionando así un software específico para la aplicación. Un marco de trabajo de software proporciona una forma estándar de construir y desplegar aplicaciones. Consiste en muchas soluciones predefinidas para funcionalidades comunes que se utilizan para ayudar a construir aplicaciones, productos y soluciones de software sobre él.

Al utilizar un framework, los desarrolladores no tienen que escribir todas las funcionalidades del software en el que están trabajando. Estas funcionalidades ya están implementadas en el framework y están listas para ser utilizadas con un solo comando. Los frameworks pueden mejorar la productividad de los desarrolladores, así como la calidad, fiabilidad y robustez del nuevo software. Por ello, el conocimiento de los frameworks para un trabajo específico es una de las habilidades más importantes que puede poseer un desarrollador. Ejemplos de frameworks: Bootstrap, React, Spring Framework, Rails, Symfony.

Biblioteca

Una biblioteca es una colección de funciones predefinidas o rutinas que un programa puede utilizar. Las bibliotecas son especialmente valiosas para almacenar rutinas de uso frecuente, ya que no es necesario vincularlas explícitamente a cada programa que las utilice. Ejemplos de bibliotecas: JQuery, Google Guava, RxJava, d3.js.

Términos de cultura IT

Desarrollo ágil de software

El desarrollo ágil de software describe un conjunto de valores y principios para el desarrollo de software en el que los requisitos y las soluciones evolucionan mediante el esfuerzo de colaboración de equipos multifuncionales autoorganizados. Aboga por la planificación adaptativa, el desarrollo evolutivo, la entrega temprana y la mejora continua, y fomenta respuestas rápidas y flexibles al cambio. Descrito en Manifiesto Ágil.

DevOps

DevOps se centra en rápida prestación de servicios informáticos mediante la adopción de prácticas ágiles y ajustadas en el contexto de un enfoque orientado al sistema. Es uno de los términos de TI que hace hincapié en las personas (y la cultura) y busca mejorar la colaboración entre los equipos de operaciones y de desarrollo.

Las implantaciones de DevOps utilizan la tecnología, especialmente las herramientas de automatización y supervisión que pueden aprovechar una infraestructura cada vez más programable y dinámica desde la perspectiva del ciclo de vida. Los principios básicos son coherentes con muchos de los principios y prácticas de la Ingeniería de Fiabilidad del Sitio (véase: SRE más adelante). Se podría ver a DevOps como una generalización de varios principios centrales de SRE a una gama más amplia de organizaciones, estructuras de gestión y personal. De manera equivalente, se podría ver a SRE como una implementación específica de DevOps con algunas extensiones idiosincrásicas.

Leer - Cómo revisar las habilidades más importantes de DevOps

SRE (Site Reliability Engineering)

SRE es una disciplina que incorpora aspectos de la ingeniería del software y la aplica a operaciones cuyos objetivos son crear ultra escalable y sistemas de software altamente fiables. Fomenta la fiabilidad de los productos, la responsabilidad y la innovación.

Términos de la función IT

Desarrollador de primera línea

Un desarrollador de front-end esencialmente crea todo lo que tiene una presencia visual digital con la que las personas interactúan (entorno del lado del cliente). Tradicionalmente, un desarrollador front-end es una persona que se siente cómodo tanto con el diseño como con la codificaciónEn otras palabras, alguien que se sienta cómodo utilizando herramientas de diseño sencillas y que sea capaz de crear un sitio web utilizando HTML código, estilizarlo usando CSS, y hacerla interactiva usando JavaScript.

Leer - Cómo evaluar las habilidades de los desarrolladores de front-end

Diseñador de la interfaz de usuario

Foto de Taras Shypka en Unsplash

A UI (Interfaz de usuario) el diseñador es alguien que diseña lo que la aplicación parece desde la perspectiva del usuario para que éste pueda interactuar con la aplicación. Los diseñadores de interfaz de usuario deben entender lo que el desarrollador de front-end espera de él y saber cómo comunicarse con él, además de tener habilidades de diseño. A menudo, esta persona no tiene por qué ser un programador en absoluto.

Diseñador de UX

UX o un "Experiencia del usuario" diseñador, es una persona que ayuda a crear una mejor experiencia de utilizar la aplicación. Esta persona simplifica la parte visual de la aplicación y resalta las características que se utilizan con más frecuencia. Su trabajo consiste en hacer que la aplicación sea lo más fácil y útil posible para los usuarios para aumentar la usabilidad.

Desarrollador Back-End

Un desarrollador de back-end está involucrado en el proceso de combinar un servidor, una aplicación y una base de datos para resolver un problema (entorno del lado del servidor). Todo este proceso está sólidamente arraigado en la lógica, un entramado de procesos y consultas que se resuelven en fracciones de segundo para ofrecerte un determinado resultado deseado como usuario. Son diferente de El trabajo de un desarrollador de back-end está completamente libre de cualquier diseño visual. En su lugar, se basa en el razonamiento lógico y la arquitectura de software que tiene como objetivo ofrecer un resultado concreto.

Leer - ¿Cuál es el salario medio de los desarrolladores de back-end?

Desarrollador de la pila completa

Foto de Christina @ wocintechchat.com en Unsplash

A desarrollador full-stack es alguien que se siente cómodo trabajando con tanto el back-end como el front-end tecnologías. Un desarrollador de front-end debe tener un conocimiento general de las tecnologías de cada parte del proceso de desarrollo. Esto, por supuesto, significa que no será un experto en un campo concreto. En cambio, pueden ofrecer una mejor visión de las posibilidades de aplicación y la capacidad de salvar la brecha entre el funcionamiento del sistema y el aspecto y la sensación del usuario.

Leer más - Desarrollador de front end vs back end vs full stack - ¿Cuál es la diferencia?

Significa desarrollador

Un desarrollador MEAN es alguien que utiliza una pila de software JavaScript para creación de sitios web dinámicos y aplicaciones web. Los desarrolladores de la pila MEAN son expertos en el uso de MongoDB, Express.js, AngularJS (o Angular) y Node.js. Dado que todos los componentes de la pila MEAN admiten programas escritos en JavaScript, las aplicaciones MEAN pueden escribirse en un solo lenguaje para entornos de ejecución tanto del lado del servidor como del lado del cliente.

Administrador del sistema (SysOp, sysadmin)

El administrador de sistemas es una persona que se encarga del mantenimiento, la configuración y el funcionamiento fiable de los sistemas informáticos, principalmente los servidores.

Lenguaje y tecnología de programación Lista de términos informáticos

Java

Fuente: 1000logos

Java es un lenguaje de programación compilado y orientado a objetos, similar en sintaxis a C++. Su objetivo es permitir a los desarrolladores de aplicaciones "escribir una vez y ejecutar en cualquier lugar", lo que significa que el código Java compilado puede ejecutarse en todas las plataformas que admiten Java sin necesidad de recompilarlo.

Leer - Cómo evaluar los conocimientos de los desarrolladores de Java

C

Logotipo del lenguaje de programación C
Fuente: Seeklogo

C es un lenguaje de programación imperativo de propósito general que admite la programación estructurada, el ámbito léxico de las variables y la recursividad. Wientras que un sistema de tipos estáticos evita muchas operaciones no deseadas. C fue desarrollado originalmente por Dennis Ritchie entre 1969 y 1973 en los Laboratorios Bell, y se utilizó para reimplementar el sistema operativo Unix. Desde entonces se ha convertido en uno de los lenguajes de programación más utilizados de todos los tiempos.

C++

Logotipo C++
Fuente: Wikimedia

C++ es un lenguaje de programación de propósito general. Tiene características de programación imperativa, orientada a objetos y genérica, y ofrece facilidades para la manipulación de memoria de bajo nivel.

C#

Logotipo C#
Fuente: Microsoft

C# (C sharp) es un lenguaje de programación que está diseñado para construir una variedad de aplicaciones que se ejecutan en el ...NET Framework. C# es sencillo, potente, seguro en cuanto a tipos y orientado a objetos.

Ver - Pruebas de codificación para C y C++

Python

Fuente: Python

Python es uno de los lenguajes de programación más utilizados (top 3 según IEEE Investigación sobre el espectro). Fue lanzado por primera vez en 1991 y desde entonces ha ganado popularidad por ser sencillo de aprender, pero potente para resolver problemas. La sintaxis es similar a la de la familia C++, pero está dotada de una gran variedad de soluciones modernas.

¿Tienes curiosidad por saber cuánto gana un desarrollador de Python?- Leer más

Visual Basic .NET

es un lenguaje de programación orientado a objetos y multiparadigma implementado en el marco .NET. Microsoft lanzó VB.NET en 2002 como sucesor de su lenguaje Visual Basic original. Aunque la parte ".NET" del nombre se eliminó en 2005, se utiliza "Visual Basic [.NET]" para referirse a todos los lenguajes de Visual Basic lanzados desde 2002 con el fin de distinguirlos del Visual Basic clásico. Junto con Visual C#, es uno de los dos principales lenguajes orientados al marco .NET.

PHP

PHP (Hypertext Preprocessor) es un lenguaje de scripting de propósito general de código abierto muy extendido, especialmente adecuado para el desarrollo web y que puede incrustarse en HTML. PHP 

Foto de Ben Griffiths en Unsplash

JavaScript

Fuente: wikicommons

JavaScript es un lenguaje de alto nivel, basado en prototipos, no tipado y dinámico. Dependiendo del entorno, JavaScript puede ser interpretado o compilado. Es un lenguaje de programación multiparadigma que admite los estilos de programación orientado a objetos, imperativo y funcional.

Lea más: Cómo evaluar las habilidades de los desarrolladores de JavaScript

Perl

Fuente: Logosrated

El lenguaje de programación Perl es un lenguaje de scripting Unix de propósito general para facilitar el procesamiento de informes. Fue desarrollado originalmente por Larry Wall en 1987. Desde entonces, ha sufrido muchos cambios y revisiones. Perl 6, que comenzó como un rediseño de Perl 5 en el año 2000, acabó convirtiéndose en un lenguaje independiente. Ambos lenguajes siguen siendo desarrollados de forma independiente por diferentes equipos de desarrollo y toman prestadas libremente ideas el uno del otro.

Ruby

Fuente : easyredmine

Ruby es un lenguaje de programación dinámico, reflexivo, orientado a objetos y de propósito general. Fue diseñado y desarrollado a mediados de los años 90 por Yukihiro "Matz" Matsumoto en Japón. Según su creador, Ruby está influenciado por Perl, Smalltalk, Eiffel, Ada y Lisp.

Swift

Fuente: Wikimedia

Swift es un lenguaje de programación compilado de propósito general y multiparadigma desarrollado por Apple Inc. para iOS, macOS, watchOS, tvOS y Linux.

R

R es un lenguaje de programación de código abierto y un entorno de software para la computación estadística y los gráficos. Se utiliza ampliamente entre los estadísticos y los mineros de datos para el desarrollo de software estadístico y el análisis de datos.

Vaya a

Fuente: Wikimedia

Vaya a (a menudo denominado Golang) es un lenguaje de programación gratuito y de código abierto creado por Google.

Objetivo-C

Fuente: Seeklogo

Objetivo C es un lenguaje de programación de propósito general y orientado a objetos que añade Pequeño talón de Aquiles mensajería al lenguaje de programación C. Era el principal lenguaje de programación utilizado por Apple para el OS X y iOS y sus respectivas interfaces de programación de aplicaciones (API) Cocoa y Cocoa Touch antes de la introducción de Swift.

SQL

Fuente: Wikicommons

SQL es el lenguaje de programación de bases de datos más popular. Históricamente, este paradigma de programación declarativo ha sido una característica clave para las consultas ad-hoc ejecutadas para la introspección de datos por usuarios humanos directamente con SQL (en lugar de con una interfaz de usuario). En los tiempos modernos, SQL también se integra en otros lenguajes de programación de propósito más general, como Java, para acceder a los datos de las bases de datos centrales.

Lea más: Cómo evaluar los conocimientos de los desarrolladores de SQL

Scala

Fuente: Wikimedia

Scala es un lenguaje de programación de propósito general que ofrece soporte para la programación funcional y un sólido sistema de tipos estáticos. Diseñado para ser conciso, muchas de las decisiones de diseño de Scala tienen como objetivo abordar las críticas a Java.

Android

Fuente: Wikimedia

Android es el el sistema operativo más popular del mundo (no es un lenguaje de programación) dedicado principalmente a los dispositivos móviles. El código fuente fue desarrollado por Google en el marco del proyecto Android Open Source (AOSP). Las versiones posteriores suelen publicarse anualmente y se anuncian en las conferencias Google I/O.

Lee: Cómo evaluar las habilidades de los desarrolladores de Android

Términos informáticos de la base de datos

Base de datos

es un conjunto de información almacenada y utilizada por el programa informático, organizada de manera que pueda ser gestionada fácilmente. Las bases de datos tradicionales están organizadas por campos, registros y archivos.

Base de datos relacional

es una base de datos organizada con el modelo relacional. Las relaciones son una conexión lógica entre diferentes tablas establecidas en base a la interacción entre estas tablas. Todas las bases de datos relacionales utilizan SQL (Structured Query Language) para operar con los datos (insertar, actualizar, cargar). Se parece a una hoja de cálculo. Ejemplos: Oracle, MySQL, Postgres, SQL Server.

Base de datos NoSQL

base de datos no relacional o no SQL. A diferencia de las bases de datos relacionales, utiliza otras formas que no son datos tabulares, como colecciones de valores clave, estructuras multinivel, gráficos, etc. Esas bases de datos suelen elegirse por su rendimiento, escalabilidad y flexibilidad en el diseño de los esquemas.

Teorema del CAP

establece que es imposible que un almacén de datos distribuido proporcione simultáneamente más de dos de las tres garantías siguientes: consistencia (cada lectura recibe la escritura más reciente o un error), disponibilidad (cada solicitud recibe una respuesta sin error sin la garantía de que contiene la escritura más reciente) y tolerancia a la partición (el sistema sigue funcionando a pesar de que un número arbitrario de mensajes se caiga o se retrase por la red entre nodos). En otras palabras, el teorema CAP afirma que, en presencia de una partición de la red, hay que elegir entre consistencia y disponibilidad.

ÁCIDO

es un acrónimo formado por los términos informáticos Atomicidad, Consistencia, Aislamiento, Durabilidad. Se trata de un conjunto de propiedades relacionadas con los motores de las bases de datos que garantizan que los datos sean coherentes tras su modificación.

Interfaz de usuario Términos informáticos

GUI/UI

o "Interfaz gráfica de usuario", es la parte visual del software o un sitio web que permite al usuario interactuar con la aplicación. Cada vez que se usa una aplicación, se usa haciendo clic en la interfaz gráfica de usuario.

Diseño de respuesta

es responsable de hacer que la interfaz de la aplicación se muestre bien en todos los dispositivos posibles, como teléfonos, PC o tabletas, que usemos para acceder a ella.

CSS

(Cascading Style Sheets) es un método para asignar reglas de formato a una página HTML que permite separar el contenido y la presentación de un sitio web. Esta separación ofrece a los desarrolladores web la posibilidad de cambiar instantáneamente la apariencia de un elemento HTML específico, como la posición, los colores, las fuentes, etc., en todo un sitio web.

Diseño de materiales

es la filosofía de diseño conceptual de Google que describe el aspecto y el funcionamiento de las aplicaciones. Desglosa todo, desde la animación y el estilo hasta el diseño, y ofrece orientación sobre patrones, componentes y usabilidad.

Bootstrap

es un framework web front-end gratuito y de código abierto para el diseño de sitios y aplicaciones web. Facilita enormemente la creación de páginas web al permitir a los diseñadores seleccionar entre una gran colección de elementos, comportamientos y atajos preconstruidos. El objetivo es unificar el diseño y permitir que tanto los diseñadores no técnicos como los técnicos mejoren la calidad de su diseño.

Probando los términos IT

Prueba de la unidad

es un proceso de desarrollo de software en el que las más pequeñas partes comprobables de una aplicación (denominadas unidades) se comprueban de forma individual e independiente para ver si tienen éxito. Las bibliotecas más populares son: JUnit, Mocha, NUnit, RSpec.

Pruebas de integración

Las pruebas de integración son un nivel de pruebas de software en el que las unidades individuales se combinan y se prueban como un grupo. Estas pruebas se realizan para sacar a la luz defectos en la interfaz y en las interacciones entre los componentes o sistemas integrados. Se realizan después de las pruebas unitarias y antes de las de validación.

Pruebas de aceptación

Las pruebas de aceptación son un nivel de pruebas de software en el que se comprueba la aceptabilidad de un sistema. El objetivo de estas pruebas es evaluar la conformidad del sistema con los requisitos de la empresa, las necesidades de los usuarios y los procesos empresariales. Las pruebas de aceptación determinan si un sistema satisface los criterios de aceptación y permiten al usuario, a los clientes o a otra entidad autorizada determinar si acepta o no el sistema. Más información: Fundamentos de la prueba de software

Pruebas de rendimiento

Las pruebas de rendimiento son un tipo de prueba de software que pretende determinar el rendimiento de un sistema en términos de capacidad de respuesta y estabilidad bajo una determinada carga de trabajo (normalmente bajo estrés). Más información: Fundamentos de la prueba de software

Instrumentos y procesos de desarrollo Términos de la tecnología de la información

Sistema de control de versiones

es la gestión de los cambios en documentos, programas informáticos, grandes sitios web y otras colecciones de información. Los cambios suelen identificarse mediante un código de números o letras, llamado "número de revisión", "nivel de revisión" o simplemente "revisión". Por ejemplo, un conjunto inicial de archivos es la "revisión 1". Cuando se realiza el primer cambio, el conjunto resultante es la "revisión 2", y así sucesivamente. Cada revisión está asociada a una marca de tiempo y a la persona que realiza el cambio. Las revisiones pueden compararse, restaurarse y, con algunos tipos de archivos, fusionarse.

Subversión (svn)

es otro sistema de control de versiones de código abierto muy popular. En contraste con Git, todos los desarrolladores utilizan un repositorio centralizado. Más información: Control de versiones con Subversión

Git

Git es un sistema de control de versiones distribuido y gratuito de código abierto para el seguimiento de los cambios en archivos informáticos y la coordinación del trabajo en esos archivos entre varias personas. Se utiliza principalmente para la gestión del código fuente en el desarrollo de software, pero puede usarse para hacer un seguimiento de los cambios en cualquier conjunto de archivos.

Comprometerse

En los sistemas de control de versiones, un commit es un cambio guardado realizado en el código fuente. Los commits suelen ser archivos o directorios añadidos/eliminados, contenidos de archivos modificados, etc.

Desarrollo basado en el tronco

es la práctica de fusionar todas las copias de trabajo de los desarrolladores en una línea principal compartida varias veces al día. Más información: TrunkBasedDevelopment

GitHub

GitHub es un popular servicio de alojamiento Git. Se utiliza sobre todo para el código. Además de Git, ofrece varias funciones de colaboración, términos importantes de TI como el seguimiento de errores, las solicitudes de características, la gestión de tareas y los wikis.

Fuente: Roman Synkevych en Unsplash

GitLab

Fuente: Wikimedia

GitLab.com es un alojamiento de repositorios Git que proporciona wikis y funciones de seguimiento de incidencias. Es un proyecto de código abierto desarrollado por GitLab Inc.

Bitbucket

Bitbucket.org es un servicio de alojamiento de repositorios Git y Mercurial propiedad de Atlassian. Al igual que sus homólogos, ofrece varias funciones de colaboración, como el seguimiento de incidencias y los wikis.

IDE

IDE (Entorno de Desarrollo Integrado) es una aplicación de edición de código diseñada para ayudar a los programadores a escribir, ejecutar y depurar código. Algunos ejemplos de IDE son Eclipse, IDEA IntelliJ, Visual Studio, PHP Storm

Construir herramientas

Las herramientas de compilación se utilizan para convertir el código de programación escrito por el desarrollador en código binario ejecutable por un ordenador y ejecutarlo. Suele gestionar las dependencias externas (bibliotecas o frameworks) que se utilizan en el proyecto. Ejemplos: Gradle, Maven, Rake, MSBuild, Phing.

Servidor de automatización (como Jenkins, Bamboo, TeamCity)

Un servidor de automatización ayuda a automatizar la parte no humana del proceso de desarrollo de software con la integración continua y facilitando los aspectos técnicos de la entrega continua.

Integración continua

Integración continua -una extensión de la práctica del desarrollo basado en troncos- en la que cada integración se verifica mediante herramientas automatizadas y se prueba para ofrecer una respuesta rápida y detectar los errores lo antes posible. Más información: Martin Fowler

Entrega continua

es un enfoque de ingeniería de software en el que los equipos producen software en ciclos cortos, asegurando que pueda ser liberado de forma fiable en cualquier momento. Esto significa que el paquete de despliegue se prepara y se prueba automáticamente de forma continua (por ejemplo, una vez al día) y está listo para ser enviado a producción.

Despliegue continuo

El despliegue continuo es similar a la entrega continua, pero termina con el paquete desplegado en producción en lugar de estar listo para ser desplegado.

Despliegue

significa empujar la nueva versión del paquete de software a su entorno de destino.

Artículo de fondo

es una característica distintiva de un elemento de software (por ejemplo, rendimiento, portabilidad o funcionalidad).

Liberación

poniendo el paquete de la versión (características) a disposición de los usuarios finales.

Tubería de despliegue

define la secuencia de etapas que deben completarse antes de que una solicitud sea puesta en producción. Al dividir el ciclo de vida del despliegue en etapas, se obtiene una confianza cada vez mayor, generalmente a costa de tiempo adicional. Las etapas iniciales revelan la mayoría de los problemas, produciendo una retroalimentación más rápida, mientras que las etapas posteriores proporcionan un sondeo más lento y exhaustivo. Las etapas pueden incluir la construcción, el despliegue, las pruebas, el archivo, etc. Más información: Martin Fowler

Billete / Emisión / Incidente

es un informe en curso sobre un problema concreto, su estado y otros datos relevantes dentro de un sistema de seguimiento de incidencias. Suelen crearse en un servicio de asistencia o entorno del centro de llamadas y casi siempre tienen un número de referencia único, también conocido como un caso, ...que se ha emitido, o registro de llamadas número. Este número se utiliza para que el usuario o el personal de ayuda puedan localizar, añadir o comunicar rápidamente el estado de la incidencia o solicitud del usuario.

Términos de arquitectura IT

Arquitectura

Arquitectura es un término que se aplica tanto al proceso como al resultado de pensar y especificar la estructura general, los componentes lógicos y las interrelaciones lógicas de un ordenador, su sistema operativo y la red. Leer más: WhatIs.com

API

(Application Programming Interface) es un conjunto de definiciones, protocolos, esquemas, herramientas y prácticas para comunicarse con la aplicación. Para los desarrolladores, la API es lo que la interfaz gráfica de usuario es para los usuarios. Permite a los desarrolladores (y finalmente a otras aplicaciones) comunicarse con las aplicaciones.

DESCANSO

Fuente : Restfulapi.net

DESCANSO (Representational State Transfer) es un conjunto de directrices para construir servicios web que proporcionen interoperabilidad entre ordenadores remotos. Se centra en los recursos y las operaciones básicas (como editar, leer y añadir) relacionadas con ellos. Se suelen utilizar para exponer API públicas.

JABÓN

El Protocolo Simple de Acceso a Objetos es una forma de intercambiar información estructurada entre ordenadores. En comparación con REST, es más formal, menos flexible y requiere la definición de un esquema (WSDL).

Monolito

es un estilo de arquitectura basado en la ejecución en una sola capa de aplicación que tiende a agrupar todas las funcionalidades necesarias para la arquitectura. Para decirlo de forma simple, significa estar compuesto todo en una sola pieza. El software monolítico está diseñado para ser autocontenido; los componentes del programa están interconectados e interdependientes en lugar de estar acoplados de forma suelta como es el caso de los programas de software modular. Además, si algún componente del programa debe ser actualizado, la aplicación entera debe ser reescrita, mientras que en las aplicaciones modulares, cualquier módulo separado (como un microservicio) puede ser cambiado sin afectar a otras partes del programa. Más información: WhatIs.com

Sistema distribuido

es un modelo en el que los componentes ubicados en computadoras conectadas en red se comunican y coordinan sus acciones mediante el paso de mensajes, presentándose a sus usuarios como un sistema único y coherente. Los componentes interactúan entre sí para lograr un objetivo común. Tres características significativas de los sistemas distribuidos son: la concurrencia de los componentes, la falta de un reloj global y el fallo independiente de los componentes.

Arquitectura orientada a servicios (SOA)

La SOA es un estilo de diseño de software basado en componentes de software discretos (servicios) que proporcionan colectivamente funcionalidades de una arquitectura de software más amplia. Un servicio es una unidad discreta de funcionalidad a la que se puede acceder de forma remota y sobre la que se puede actuar y actualizar de forma independiente, como por ejemplo recuperar el extracto de una tarjeta de crédito en línea. En este enfoque, los servicios son proporcionados a otros componentes por componentes de la aplicación, a través de un protocolo de comunicación sobre una red.

Los principios básicos de la arquitectura orientada a servicios son independientes de los proveedores, los productos y las tecnologías. La arquitectura orientada a los servicios se ha utilizado principalmente y se ha centrado en una gran escala empresarial.

Microservicios

Los microservicios son una variante del estilo arquitectónico de la arquitectura orientada a servicios (SOA). La idea detrás de los microservicios es que algunos tipos de aplicaciones son más fáciles de construir y mantener cuando se dividen en piezas más pequeñas y componibles que funcionan juntas. Cada componente es autónomo, desarrollado por separado, y la aplicación es entonces simplemente la suma de sus componentes. Esto contrasta con una aplicación tradicional, "monolítica", desarrollada en una sola pieza.

El estilo de microservicios es utilizado por muchas organizaciones (como Netflix, Uber y Facebook) hoy en día como un cambio de juego para lograr un alto grado de agilidad, velocidad de entrega y escala. Más información: Martin Fowler

CRUD

CRUD es en realidad un acrónimo de Create, Read, Update, Delete. Describe un tipo de aplicaciones centradas en la edición simple de datos sin ninguna operación de negocio rica. Coloquialmente se llaman "visores de bases de datos".

Términos de la infraestructura de TI

Infraestructura

se refiere a la composición del hardware, software, recursos de red y servicios necesarios para la existencia, funcionamiento y gestión de un entorno informático empresarial. Permite a una organización ofrecer soluciones y servicios de TI a sus empleados, socios y/o clientes y suele ser interno de una organización y desplegado dentro de instalaciones propias.

Servicio de nubes

Un servicio en la nube es cualquier servicio que se pone a disposición de los usuarios bajo demanda a través de Internet desde los servidores de un proveedor de computación en la nube (por ejemplo, Microsoft Azure o Amazon Web Services), en lugar de prestarse desde servidores físicos en las instalaciones.

Software como un servicio (SaaS)

El SaaS, a veces denominado "software a la carta", es un modelo de licencia y entrega de software en el que éste se licencia por suscripción y se aloja de forma centralizada. Es la forma más familiar de servicio en la nube para los consumidores. Los proveedores de SaaS ponen la aplicación a disposición de los usuarios a través de Internet, normalmente una interfaz basada en un navegador. Los clientes pueden entonces disfrutar del software sin tener que preocuparse por el desarrollo, el mantenimiento, el soporte, la actualización o las copias de seguridad.

El inconveniente, sin embargo, es que su experiencia con el software depende totalmente del proveedor de SaaS, que es responsable de la estabilidad, los informes, la facturación y la seguridad. Algunos ejemplos conocidos de servicios de empresas SaaS son Gmail, Dropbox, Salesforce y Netflix.

La plataforma como servicio (PaaS)

PaaS es una categoría de servicios de computación en nube que funciona a un nivel inferior al de SaaS, y que suele proporcionar una plataforma en la que se puede desarrollar y desplegar software. Los proveedores de PaaS abstraen gran parte del trabajo de tratar con los servidores y ofrecen a los clientes un entorno en el que el sistema operativo y el software del servidor, así como el hardware del servidor subyacente y la infraestructura de red, están a cargo. Esto deja a los usuarios libres para centrarse en el aspecto empresarial de la escalabilidad, y en el desarrollo de aplicaciones de su producto o servicio. Permite a los clientes desarrollar, ejecutar y gestionar aplicaciones sin la complejidad de crear y mantener la infraestructura que suele asociarse al desarrollo y lanzamiento de una aplicación.

PaaS hace que el desarrollo, las pruebas y el despliegue de aplicaciones sean rápidos, sencillos y rentables. Algunos ejemplos de PaaS son Pivotal Cloud Foundry y Heroku.

La infraestructura como servicio (IaaS)

IaaS es el modelo más básico de servicio en la nube que ofrece infraestructura informática -términos de TI como máquinas virtuales y otros recursos- como servicio a los suscriptores. Es un nivel inferior al de PaaS. Normalmente, IaaS proporciona hardware, almacenamiento, servidores y espacio en el centro de datos o componentes de red. Permite ampliar y reducir rápidamente la escala según la demanda y pagar sólo por lo que se utiliza. Esto hace que la IaaS sea muy adecuada para las cargas de trabajo que son temporales, experimentales o que cambian inesperadamente. Ejemplos de IaaS: Amazon Web Services y su EC2.

Automatización

La automatización de la tecnología de la información es la vinculación de sistemas y programas informáticos dispares de tal manera que se convierten en auto-actuantes o auto-reguladores. Más información: TechTarget.com

La infraestructura como código (IaC)

IaC (infraestructura programable), significa escribir código (que puede hacerse utilizando un lenguaje de alto nivel o cualquier lenguaje descriptivo) para gestionar las configuraciones y automatizar el aprovisionamiento de la infraestructura además de los despliegues. IaC no consiste únicamente en escribir scripts, sino que también implica el uso de prácticas de desarrollo de software probadas y comprobadas que ya se utilizan en el desarrollo de aplicaciones, por ejemplo, control de versiones, pruebas, pequeños despliegues, uso de patrones de diseño, etc. En resumen, significa que se escribe código para aprovisionar y gestionar el servidor, además de automatizar los procesos. Es un enfoque para gestionar la infraestructura de TI para la era de la nube, los microservicios y la entrega continua. Leer más: ThoughtWorks

Contenedores

consisten en un entorno de ejecución completo: una aplicación, más todas sus dependencias, bibliotecas y otros binarios, y los archivos de configuración necesarios para ejecutarla, agrupados en un solo paquete. Los contenedores son una solución al problema de cómo hacer que el software se ejecute de forma fiable cuando se traslada de un entorno informático a otro. Esto podría ser desde una computadora portátil de un desarrollador a un entorno de prueba, desde un entorno de puesta en marcha a producción, y tal vez desde una máquina física en un centro de datos a una máquina virtual en una nube privada o pública. Más información: CIO

Sistema operativo

es un sistema de software que administra el hardware y el software de la computadora software recursos y proporciona servicios comunes para los programas informáticos. Todos los programas informáticos, excepto el firmware, necesitan un sistema operativo para funcionar. Ejemplos: Microsoft Windows, macOS, Linux.

Shell

es una interfaz que permite al usuario interactuar con un ordenador. Proporciona una interfaz de usuario para acceder a los servicios de un sistema operativo. En general, las shells del sistema operativo utilizan una interfaz de línea de comandos (CLI) o una interfaz gráfica de usuario (GUI), dependiendo de la función del ordenador y de su funcionamiento particular. El nombre proviene del hecho de que las shells son capas alrededor del núcleo del sistema operativo.

Métrico

la medición de una característica particular del rendimiento o la eficiencia de un programa.

Bitácora

es un registro de lo que ha sucedido. Típicamente, ayuda a diagnosticar problemas o a obtener ciertos conocimientos sobre lo que sucede en el ciclo de vida de una aplicación.

Compartir correo

Más información sobre la contratación de tecnología

Suscríbase a nuestro Learning Hub para recibir información útil directamente en su bandeja de entrada.

Verificar y desarrollar las habilidades de codificación sin problemas.

Vea los productos DevSkiller en acción.

Certificaciones de seguridad y cumplimiento. Nos aseguramos de que sus datos estén seguros y protegidos.

El logo de DevSkiller Logotipo de TalentBoost Logotipo de TalentScore