Glosario de términos de TI para reclutadores de tecnología

Por 9 de octubre de 2017 #!31Jue, 16 Jul 2020 10:50:50 +0200p5031#31Jue, 16 Jul 2020 10:50:50 +0200p-10Europe/Warsaw3131Europe/Warsawx31 16am31am-31Jue, 16 Jul 2020 10:50:50 +0200p10Europe/Warsaw3131Europe/Warsawx312020Jue, 16 Jul 2020 10:50:50 +02005010507amjueves=269#!31Jue, 16 Jul 2020 10:50:50 +0200pEurope/Warsaw7#julio 16th, 2020#!31Jue, 16 Jul 2020 10:50:50 +0200p5031#/31Jue, 16 Jul 2020 10:50:50 +0200p-10Europe/Warsaw3131Europe/Warsawx31#!31Jue, 16 Jul 2020 10:50:50 +0200pEurope/Warsaw7# Recursos Humanos, Reclutamiento de IT, Entrevista técnica
Glosario de términos de TI para reclutadores de tecnología

Tech language and IT terms are not easy if you are a non-coder. Still, in order to be able to recruit developers and communicate with them effectively, tech reclutadores have no choice but to understand the IT terms connected with their everyday job. So get out of your comfort zone and master the tech language. We’ve compiled this DevSkiller Tech Glossary of IT terms to make it as easy as it can be. This glossary is part of our extensive library of Recursos humanos.

We’ve gathered all the most important IT terms and put them together in an easily digestible, recruiter-friendly list divided into 10 categories. Learning and using these terms will boost your credibility in the IT recruitment process and improve your communication with developers. 

General IT terms

Lenguaje de programación

is a language used by programadores to instruct a computer to perform a certain job. It’s normally a set of instructions that can be used to achieve the desired output of a computer aplicación escrito en un cierto lenguaje de programación.

El código fuente

es a set of instructions and statements written by a programador using a computer programming language. This code is later translated into machine language (binary code) by a compiler. The source code is the only stage where a programmer can read and modify a computer program. Lea más: Wikipedia

Marco

is code that is already written and covers low(er) level, generic functionalities. Programmers can selectively change it with additional user-written code, thus providing application-specific software. A software framework provides a standard way to build and deploy applications. It consists of many predefined solutions for common functionalities that are used to help build software applications, products, solutions on top of it. By using a framework, developers don’t have to write all the functionalities of the software that they are working on. These functionalities are already implemented in the framework and ready to use with a single command. Frameworks can improve developer productivity as well as the quality, reliability, and robustness of new software. Thus, a knowledge of frameworks for a specific job is one of the most important skills a developer can posses. Example frameworks: Bootstrap, React, Spring Framework, Rails, Symfony. Lea más: Wikipedia  

Biblioteca

es una colección de funciones o rutinas predefinidas que un programa puede utilizar. Las bibliotecas son particularmente valiosas para almacenar rutinas de uso frecuente porque no es necesario vincularlas explícitamente a cada programa que las utiliza. Bibliotecas de ejemplo: JQuery, Google Guava, RxJava, d3.js.

Culture IT terms

Desarrollo ágil de software

describe un conjunto de valores y principios para el desarrollo de programas informáticos en virtud de los cuales 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 una respuesta rápida y flexible al cambio. Descrito en Manifiesto Ágil. Lea más: Wikipedia

DevOps

representa un cambio en la cultura de la tecnología de la información que se centra en la prestación rápida de servicios de tecnología de la información mediante la adopción de prácticas ágiles y sencillas en el contexto de un enfoque orientado a los sistemas. DevOps es uno de los términos de la 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 implementaciones de DevOps utilizan la tecnología - especialmente herramientas de automatización y monitoreo que pueden aprovechar una infraestructura cada vez más programable y dinámica desde la perspectiva del ciclo de vida. Los principios básicos de DevOps son consistentes con muchos de los principios y prácticas de la Ingeniería de Confiabilidad de Sitios (ver: SRE). Se podría considerar el DevOps como una generalización de varios principios básicos de la SRE a una gama más amplia de organizaciones, estructuras de gestión y personal. Uno podría ver la SRE como una implementación específica de DevOps con algunas extensiones idiosincrásicas. Más información: Gartner, Medios de comunicación O'Reilly

SRE (Site Reliability Engineering)

es una disciplina que incorpora aspectos de la ingeniería de software y la aplica a operaciones cuyos objetivos son crear sistemas de software ultra-escalables y altamente fiables. Fomenta la fiabilidad de los productos, la responsabilidad y la innovación. Más información: Google

Role IT terms

Desarrollador de primera línea

essentially creates whatever has a digital visual presence with which people interact (client-side environment). Traditionally, a front-end developer is a person who is comfortable with both design and coding; in other words someone who is comfortable using simple design tools and is able to create a website using HTML code, estilizarlo usando CSS, y hacerla interactiva usando JavaScript.

Diseñador de la interfaz de usuario

o "Interfaz de usuario" diseñador, es el que diseña el aspecto de la aplicación desde la perspectiva del usuario para que éste pueda interactuar con la aplicación. Los diseñadores de la interfaz de usuario deben entender lo que el desarrollador de la interfaz espera de él y saber cómo comunicarse con ellos, así como tener habilidades de diseño. A menudo esta persona no tiene que ser un programador en absoluto.  

Diseñador de UX

o "Experiencia del usuario" El diseñador es una persona que ayuda a crear una mejor experiencia de uso de la aplicación. Esta persona simplifica la parte visual de la aplicación y saca a relucir las características que se utilizan más a menudo. Su trabajo es hacer la aplicación tan fácil y útil para los usuarios como sea posible para aumentar la usabilidad.

Desarrollador 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, una red de procesos y consultas que se resuelven en fracciones de segundo para darle un cierto resultado deseado como usuario. Se diferencian de los desarrolladores de front-end en que el trabajo de un desarrollador de back-end está completamente libre de cualquier diseño visual. En cambio, se basa en el razonamiento lógico y la arquitectura de software que tiene por objeto ofrecer un resultado determinado.

Desarrollador de la pila completa

es alguien que se siente cómodo trabajando con tecnologías tanto de fondo como de frente. Una comprensión general de las tecnologías de cada parte del proceso de desarrollo es necesaria para un desarrollador de front-end. Esto, por supuesto, significa que no será un experto en ningún campo en particular. En cambio, pueden ofrecer una mejor visión general de las posibilidades de aplicación y la capacidad de salvar la brecha entre la forma en que funciona el sistema y la forma en que se ve y se siente para el usuario.

Significa desarrollador

es un desarrollador que utiliza una pila de software JavaScript para construir 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. Debido a que todos los componentes de la pila MEAN soportan programas escritos en JavaScript, las aplicaciones MEAN pueden ser escritas en un solo lenguaje tanto para entornos de ejecución del lado del servidor como del lado del cliente.

Administrador del sistema (SysOp, sysadmin)

es una persona responsable del mantenimiento, configuración y funcionamiento fiable de los sistemas informáticos, en su mayoría servidores. Más información: Wikipedia

Programming language and technology IT terms

Java

es un lenguaje de programación compilado, orientado a objetos, similar en sintaxis a C++. Su intención es permitir a los desarrolladores de aplicaciones "escribir una vez, ejecutar en cualquier lugar", lo que significa que el código Java compilado puede ejecutarse en todas las plataformas que soportan Java sin necesidad de recompilación. Más información: DevSkiller

C

es un lenguaje de programación informática de uso general e imperativo que apoya la programación estructurada, el alcance de las variables léxicas y la recursividad, mientras que un sistema de tipo estático evita muchas operaciones no deseadas. C fue originalmente desarrollado por Dennis Ritchie entre 1969 y 1973 en los Laboratorios Bell, y fue usado para reimplantar el sistema operativo Unix. Desde entonces se ha convertido en uno de los lenguajes de programación más utilizados de todos los tiempos. Lea más: Wikipedia

C++

(pronounced cee plus plus /ˈsiː plʌs plʌs/) is a general-purpose programming language. It has imperative, object-oriented and generic programming features and it provides facilities for low-level memory manipulation. Read more: Wikipedia

C#

(se pronuncia "C sharp"), uno de los términos informáticos que tiene una pronunciación menos obvia, es un lenguaje de programación diseñado para construir una variedad de aplicaciones que se ejecutan en el .NET Framework. C# es simple, poderoso, seguro de tipo y orientado a objetos. Lea más al respecto: Wikipedia

Python

es uno de los lenguajes de programación más utilizados (los 3 primeros según IEEE Investigación sobre el espectro). Fue lanzado por primera vez en 1991 y desde entonces ha ganado popularidad por ser simple de aprender, pero poderoso en la resolución de problemas. La sintaxis es similar a la de la familia C++ pero equipada con una variedad de soluciones modernas. Leer más... DevSkiller

Visual Basic .NET

is a multi-paradigm, object-oriented programming language implemented on the .NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visual Basic language. Although the “.NET” portion of the name was dropped in 2005, “Visual Basic [.NET]” is used to refer to all Visual Basic languages releases since 2002 in order to distinguish between them and the classic Visual Basic. Along with Visual C#, it is one of the two main languages targeting the .NET framework. Read more: Wikipedia

PHP

(acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de scripts de código abierto de uso general muy utilizado, especialmente adecuado para el desarrollo de la web y que puede incorporarse al HTML. PHP Leer más: Wikipedia

JavaScript

(también conocido como JS) es un lenguaje dinámico de alto nivel, basado en prototipos, sin teclear. Dependiendo del entorno, JavaScript puede ser interpretado o compilado. Es un lenguaje de programación multiparadigma, que soporta estilos de programación orientados a objetos, imperativos y funcionales. Más información: DevSkiller

Perl

fue originalmente desarrollado por Larry Wall en 1987 como un lenguaje de escritura Unix de propósito general para facilitar el procesamiento de informes. Desde entonces, ha sufrido muchos cambios y revisiones. Perl 6, que comenzó como un rediseño de Perl 5 en 2000, finalmente evolucionó a un lenguaje separado. Ambos lenguajes siguen siendo desarrollados independientemente por diferentes equipos de desarrollo y se prestan libremente ideas el uno al otro. Más información: Wikipedia

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 90 por Yukihiro "Matz" Matsumoto en Japón. Según su creador, Ruby fue influenciado por Perl, Smalltalk, Eiffel, Ada y Lisp. Más información: Wikipedia

Swift

es un lenguaje de programación de propósito general, multiparadigma compilado, desarrollado por Apple Inc. para iOS, macOS, watchOS, tvOS y Linux. Más información: Wikipedia

R

is an open source programming language and software environment for statistical computing and graphics. It is widely used among statisticians and data miners for developing statistical software and data analysis. Lea más: Wikipedia

Vaya a

(a menudo llamado golang) es un lenguaje de programación libre y de código abierto creado en Google. Más información: Wikipedia

Objetivo-C

es un lenguaje de programación de propósito general y orientado a objetos que añade mensajes de estilo Smalltalk al lenguaje de programación C. Fue el principal lenguaje de programación usado 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 del Swift. Más información: Wikipedia

SQL

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

Scala  

es un lenguaje de programación de propósito general que proporciona apoyo a la programación funcional y a un sistema de tipo estático fuerte. Diseñado para ser conciso, muchas de las decisiones de diseño de Scala están dirigidas a abordar las críticas a Java. Lea más al respecto: Wikipedia

Android

is the world’s most popular operating system (it’s not a programming language) dedicated mainly to móvil devices. The source code was developed by Google under the Android Open Source Project (AOSP). Subsequent versions are usually released annually and are announced at Google I/O conferences. Read more: DevSkiller

Database IT terms

Base de datos

es una colección de información almacenada y utilizada por el programa, organizada de manera que pueda ser manejada 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 sobre la base de la interacción entre estas tablas. Todas las bases de datos relacionales utilizan el SQL (Structured Query Language) para operar sobre los datos (insertar, actualizar, cargar). Tiene el aspecto de una hoja de cálculo. Ejemplos: Oracle, MySQL, Postgres, SQL Server. Más información: Wikipedia

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

states that it is impossible for a distributed data store to simultaneously provide more than two out of the following three guarantees: consistency (every read receives the most recent write or an error), availability (every solicitar receives a non-error response without the guarantee that it contains the most recent write) and partition tolerance (the system continues to operate despite an arbitrary number of messages being dropped or delayed by the network between nodes). In other words, CAP theorem states that in the presence of a network partition, one has to choose between consistency and availability. Read more: Wikipedia

ÁCIDO

es un acrónimo que consiste en los términos informáticos de Atomicidad, Consistencia, Aislamiento, Durabilidad. Son un conjunto de propiedades relacionadas con los motores de la base de datos que garantizan que después de terminar la modificación los datos serán consistentes. Más información: Wikipedia

User Interface IT terms

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

(Hojas de estilo en cascada) es un método de 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 da a los desarrolladores web la capacidad 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. Más información: Wikipedia

Diseño de materiales

es la filosofía de diseño conceptual de Google que describe cómo deben verse y funcionar las aplicaciones. Desglosa todo, desde la animación, el estilo y el diseño, y ofrece orientación sobre los patrones, los componentes y la usabilidad. Más información: Wikipedia

Bootstrap

es un marco web de código abierto y gratuito para el diseño de sitios y aplicaciones web. Hace muy fácil la creación de páginas web al permitir a los diseñadores seleccionar de una gran colección de elementos preconstruidos, comportamientos y atajos. El objetivo es unificar el diseño y permitir tanto a los diseñadores no técnicos como a los técnicos mejorar la calidad de su diseño. Más información: Wikipedia

Testing IT terms

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

son un nivel de prueba de software donde las unidades individuales se combinan y se prueban como un grupo. Estas pruebas se realizan con el fin de exponer los defectos en la interfaz y en las interacciones entre los componentes o sistemas integrados. Ocurre después de las pruebas de la unidad y antes de las pruebas de validación. Más información: Wikipedia

Pruebas de aceptación

son un nivel de prueba de software en el que se comprueba la aceptabilidad de un sistema. El propósito de esta prueba es evaluar el cumplimiento del sistema con los requisitos comerciales, las necesidades del usuario y los procesos comerciales. 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

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

Development tools and processes IT terms

Sistema de control de versiones

es la gestión de los cambios en los documentos, programas informáticos, grandes sitios web y otras colecciones de información. Los cambios suelen identificarse por un código numérico o alfabético, llamado "número de revisión", "nivel de revisión" o simplemente "revisión". Por ejemplo, un conjunto inicial de archivos es "revisión 1". Cuando se hace el primer cambio, el conjunto resultante es la "revisión 2", y así sucesivamente. Cada revisión se asocia con una marca de tiempo y la persona que hace el cambio. Las revisiones pueden ser comparadas, restauradas, y con algunos tipos de ficheros, fusionadas. Más información: Wikipedia

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

es un sistema de control de versiones distribuido de código abierto y gratuito para rastrear los cambios en los archivos de computadora y coordinar el trabajo sobre esos archivos entre varias personas. Se utiliza principalmente para la gestión del código fuente en el desarrollo de programas informáticos, pero puede utilizarse para hacer un seguimiento de los cambios en cualquier conjunto de archivos. Más información: Wikipedia

Comprometerse 

En los sistemas de control de versiones, a commit is a saved change made to the source code.  Commits are usually added/deleted files or directories, changed file contents, etc. Lea más: Wikipedia

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

es un popular servicio de alojamiento de Git. Se utiliza principalmente para el código. Además de Git, proporciona varias características de colaboración, términos importantes de TI como seguimiento de errores, solicitudes de características, gestión de tareas y wikis. Sitio web: GitHub.com. Lea más: Wikipedia

GitLab

al igual que GitHub es un repositorio de alojamiento de Git que proporciona wikis y funcionalidad de seguimiento de problemas. Es un proyecto de código abierto desarrollado por GitLab Inc. Sitio web: GitLab.com. Lea más: Wikipedia

Bitbucket

es un servicio de alojamiento de repositorios Git y Mercurial propiedad de Atlassian. Al igual que sus contrapartes, proporciona varias características de colaboración como el seguimiento de problemas y wikis. Más información: Bitbucket.org

IDE

o "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 el código. Ejemplos: Eclipse, IntelliJ IDEA, Visual Studio, PHP Storm, etc.

Construir herramientas

se utilizan para convertir el código de programación escrito por el desarrollador en código binario ejecutable por una computadora y ejecutarlo. Normalmente gestiona las dependencias externas (bibliotecas o marcos de trabajo) que se utilizan en el proyecto. Ejemplos: Gradle, Maven, Rake, MSBuild, Phing.

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

ayuda a automatizar la parte no humana del proceso de desarrollo de software con una integración continua y facilitando los aspectos técnicos de la entrega continua. Lea más: Wikipedia

Integración continua 

extensión de la práctica de Desarrollo Basado en Troncos, en la que cada integración se verifica mediante herramientas automatizadas y se prueba para dar una rápida retroalimentación y detectar errores lo más rápido 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 manera confiable 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 la producción. Más información: Wikipedia

Despliegue continuo

es similar a la Entrega Continua pero termina con el paquete siendo desplegado a la producción en lugar de sólo 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 artículo de software (por ejemplo, rendimiento, portabilidad o funcionalidad). Más información: Wikipedia

Liberación 

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

Tubería de despliegue

defines the sequence of stages that must be completado before an application is rolled out to production. By breaking up the deployment lifecycle into stages, you collect increasing confidence, usually at the cost of extra time. Early stages reveal most problems yielding faster feedback, while later stages provide slower and more thorough probing. Stages can incluyen la construcción, el despliegue, las pruebas, el archivo, etc. Más información: Martin Fowler

Billete / Emisión / Incidente

es un informe continuo sobre un problema particular, su estado y otros datos pertinentes dentro de un sistema de seguimiento de problemas. Son comúnmente creados en un ambiente de mesa de ayuda o 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 localicen, añadan o comuniquen rápidamente el estado del problema o la solicitud del usuario. Más información: Wikipedia

Architecture IT terms

Arquitectura

en la tecnología de la información (especialmente las computadoras y, más recientemente, las redes) la 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 una computadora, su sistema operativo y su red. Más información: WhatIs.com

API

(Interfaz de programación de aplicaciones) 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. Más información: Wikipedia

DESCANSO

(Transferencia del Estado de representación) es un conjunto de directrices para la creación de servicios web que proporcionen interoperabilidad entre computadoras remotas. Se centra en los recursos y las operaciones básicas (como editar, leer y añadir) relacionadas con ellos. Se utilizan comúnmente para exponer la API pública. Más información: Wikipedia

JABÓN 

El Protocolo de Acceso a Objetos Simples es una forma de intercambiar información estructurada entre computadoras. Comparado con el REST, es más formal, menos flexible y requiere la definición de un esquema (WSDL). Más información: Wikipedia

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. Lea más: Wikipedia

Arquitectura orientada a servicios (SOA)

is a style of software design based on discrete software components (services) that collectively provide functionalities of larger software architecture. A service is a discrete unit of functionality that can be accessed remotely and acted upon and updated independently, such as retrieving a credit card statement en línea. In this approach, services are provided to other components by application components, through a communication protocol over a network. Basic principles of service-oriented architecture are independent of vendors, products, and technologies. Service-oriented architecture has been mainly been used and focused on a big enterprise scale. Read more: Wikipedia

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 se vuelven más fáciles de construir y mantener cuando se descomponen 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 constituyentes. 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 

acrónimo de Crear, Leer, Actualizar, Borrar. Describe un tipo de aplicaciones enfocadas a la simple edición de datos sin ninguna operación comercial rica. Coloquialmente llamado "visores de bases de datos". Lea más: Wikipedia

Infrastructure IT terms

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

es todo servicio que se pone a disposición de los usuarios, a petición, a través de Internet desde los servidores de un proveedor de computación en nube (por ejemplo, Microsoft Azure o Amazon Web Services), en contraposición a los que se prestan desde servidores físicos en las instalaciones.

Software como un servicio (SaaS)

a veces llamado "software a pedido", es un modelo de licencia y entrega de software en el que el software se licencia por suscripción y está alojado de forma centralizada. SaaS 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, generalmente una interfaz basada en un navegador. Los clientes de SaaS pueden 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, la presentación de informes, la facturación y la seguridad. Ejemplos de SaaS: Gmail, Dropbox, Salesforce o Netflix. Más información: Wikipedia

La plataforma como servicio (PaaS)

es una categoría de servicios de computación en nube. El PaaS funciona a un nivel más bajo que el SaaS, típicamente proporcionando una plataforma en la cual el software puede ser desarrollado y desplegado. Los proveedores de PaaS abstraen gran parte del trabajo de tratar con los servidores y dan 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 la red se encargan de ello, dejando a los usuarios libres para centrarse en el lado empresarial de la escalabilidad, y el desarrollo de la aplicación de su producto o servicio. Permite customers to desarrollar, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an app. PaaS hace que el desarrollo, las pruebas y el despliegue de las aplicaciones sea rápido, simple y rentable. Ejemplos de PaaS: Pivotal Cloud Foundry, Heroku. Más información: Wikipedia

La infraestructura como servicio (IaaS)

es el el modelo más básico de servicio en la nube que ofrece la infraestructura informática - términos de TI como máquinas virtuales y otros recursos - como un servicio a los suscriptores. Es un nivel más bajo comparado con el PaaS. Típicamente, IaaS provee hardware, almacenamiento, servidores y espacio de centro de datos o componentes de red. Le permite escalar rápidamente con la demanda y pagar sólo por lo que usa. Esto hace que IaaS sea muy adecuado para cargas de trabajo que son temporales, experimentales o cambian inesperadamente. Ejemplos de IaaS: Amazon Web Services y su EC2. Más información: Wikipedia

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)

también conocido como infraestructura programable, significa escribir código (lo 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. El IaC no sólo se refiere a la escritura de scripts, sino que también implica el uso de prácticas de desarrollo de software probadas y comprobadas que ya se están utilizando en el desarrollo de aplicaciones, por ejemplo, control de versiones, pruebas, pequeños despliegues, uso de patrones de diseño, etc. En resumen, esto 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. Más información: 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 y proporciona servicios comunes para los programas informáticos. Todos los programas informáticos, excepto el firmware, requieren un sistema operativo para funcionar. Ejemplos: Microsoft Windows, MacOS, Linux. Más información: Wikipedia

Shell

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

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.