Está en la página 1de 21

Semana 3:

Computación en la nube. Primorac:


Definición de computación en la nube: La computación en nube (cloud computing) puede verse
como un nuevo estilo de computación en el cual los recursos, dinámicamente escalables y
frecuentemente virtualizados, son provistos como servicios sobre Internet. La computación en
nube se ha convertido en una tendencia tecnológica significativa y muchos expertos esperan que
cambie los procesos y el mercado de las Tecnologías de la Información (IT).
Con la tecnología de la computación en nube, los usuarios utilizan una variedad de dispositivos,
incluyendo computadoras personales (PCs), computadoras portátiles (Notebooks), teléfonos
inteligentes (Smartphones) y asistentes personales digitales (PDAs), para acceder a programas,
almacenamiento y plataformas para el desarrollo de aplicaciones sobre Internet, a través de
servicios ofrecidos mediante los proveedores de la nube. Entre las ventajas de la tecnología de la
computación en nube se encuentran el salvar costos, la alta disponibilidad y la facilidad de
escalabilidad.

Este trabajo se organiza en ocho secciones y dos anexos. En la primera se comenta brevemente
la visión de la computación en nube. En segundo lugar, se aborda el paradigma y se define el
término computación en nube, proporcionando una vista no exhaustiva sobre los principales
aspectos que forman un sistema en nube. A continuación, en la sección tercera, se describen las
características esenciales, los modelos de servicios y los modelos de despliegue de la
computación en nube según el modelo de computación en nube del Instituto Nacional de Normas
y Tecnología (NIST: National Institute of Standards and Technology). La cuarta sección trata una
de las tecnologías claves que permite la computación en nube, la virtualización. Seguidamente,
en la quinta sección, se exponen brevemente las principales ventajas y retos del paradigma de la
computación en nube. En la sexta sección se presenta la Arquitectura de Referencia de
Computación en Nube del NIST, con la intención de facilitar la comprensión de los
requerimientos, usos, características y estándares de la computación en nube. En la séptima
sección se comentan las diferentes áreas de estudio de la computación en nube y los principales
organismos de normalización relacionados con ellos. Finalmente, se exponen las conclusiones.

El Anexo A contiene una taxonomía de tecnologías de la computación en nube y el Anexo B


resume los modelos de servicio y modelos de despliegue de los diez proveedores de computación
en nube más importantes en la actualidad.

Definición y paradigma de la Computación en Nube: El término computación en nube, más


allá de un concepto monolítico, representa una arquitectura donde se integran el conjunto de
tecnologías i) software como servicio (SaaS: Software as a Service), ii) plataforma como servicio
(PaaS: Plataform as a Service) y iii) infraestructura como servicio (IaaS: Infraestructure as a
service). De igual manera, con el mismo término se denomina la evolución de las tecnologías grid
o tecnologías en malla, donde se ofrecen capacidades de supercomputación en modo servicio,
correspondientes a un pasado cercano y, que aún coexisten en determinados ámbitos [1].
Según Foster y colaboradores [2], la computación en nube no es un concepto completamente
nuevo, sino que tiene una conexión con el concepto de computación en malla y con el de otras
tecnologías tales como los clústeres de computadoras y los sistemas distribuidos en general.
Estos autores postularon que estandarizando los protocolos utilizados para requerir los recursos
de computación se podrían crear tecnologías que permitirían a los consumidores obtener la
potencia de computación bajo demanda análoga, en forma y utilidades, a una red de energía
eléctrica.

En la computación en nube la visión es la misma, reducir el costo de computación incrementando


la confiabilidad y la flexibilidad pasando de algo que se compra y opera por cuenta propia a algo
que es comprado y operado por una tercera parte.
Hay una necesidad común de gestionar grandes instalaciones y para definir
los métodos por los cuales los consumidores descubren y utilizan los recursos
proporcionadas por estas grandes instalaciones. Los detalles difieren, pero los dos las
comunidades están luchando con muchas de las mismas cuestiones.
Definición: Existen varias definiciones para el término computación en nube [3]. Según el
Instituto Nacional de Normas y Tecnología (NIST: National Institute of Standards and
Technology), la computación en nube es un modelo que permite, convenientemente, el acceso
bajo demanda a redes ubicuas para compartir un conjunto configurable de recursos de
computación (por ejemplo, redes, servidores, almacenamiento, aplicaciones y servicios) que se
pueden proveer y liberar rápidamente con un mínimo esfuerzo de administración o interacción del
proveedor del servicio. Este modelo de nube está compuesto por cinco características esenciales,
tres modelos de servicios y cuatro modelos de despliegue (Figura 1).

Figura 1. Modelo de Computación en Nube del NIST (Elaboración propia en base a la


definición de computación en nube del NIST [3]).

La Figura 2, proporciona una vista no exhaustiva sobre los principales aspectos


que forman un sistema en nube.
Figura 2. Principales aspectos que forman un sistema en nube [4].

3. Modelo de Computación en Nube del NIST: Según la definición del NIST [3], la computación
en nube es un paradigma en evolución. El modelo de computación en nube del NIST destaca las
cinco características esenciales de la misma proporcionando una línea base para discutir lo
que es la computación en nube y un medio para comparar los servicios en la nube y sus
estrategias de implementación. Por otro lado los modelos de servicios y de despliegue forman
una taxonomía simple, la cual no está destinada a prescribir o limitar cualquier método particular
de despliegue, prestación de servicios, o de operación del negocio.

3.1. Características Esenciales: En comparación con otros paradigmas de computación [2], el


paradigma de la computación en nube ofrece una serie de nuevas características. Según la
definición del NIST [3], este modelo debe contar con cinco características esenciales:

1. Autoservicio bajo demanda.


2. Acceso amplio a la red.
3. Agrupamiento de recursos.
4. Elasticidad rápida.
5. Servicio medido.

3.1.1. Autoservicio bajo demanda: Un consumidor puede proveerse unilateralmente recursos de


computación, tales como tiempo de servidor y almacenamiento en red, a medida que lo necesite,
sin requerir interacción humana con el proveedor del servicio.

3.1.2. Amplio acceso a la red: Las capacidades están disponibles en la red y se acceden a
través de mecanismos estándares que promueven el uso heterogéneo de plataformas de cliente
ligeras o pesadas (por ejemplo, teléfonos móviles, tabletas, PDAs, computadoras portátiles y
estaciones de trabajo).

3.1.3. Agrupamiento de recursos: Los recursos de computación del proveedor están agrupados
(pooling) para servir a múltiples consumidores utilizando un modelo multidistribuido (multitenant),
con diferentes recursos físicos y virtuales asignados y reasignados dinámicamente de acuerdo a
la demanda del consumidor. Existe una sensación de independencia de la posición, de manera
que el cliente, generalmente no tiene el control o el conocimiento sobre la ubicación exacta de los
recursos proporcionados, pero podría especificar una ubicación en un nivel más alto de
abstracción (por ejemplo, país, estado o centro de datos). Ejemplos de recursos incluyen
almacenamiento, procesadores, memoria y ancho de banda.

3.1.4. Elasticidad rápida: Las funcionalidades se pueden proporcionar de manera rápida y


elástica y, en algunos casos, automáticamente. Sus características de aprovisionamiento dan la
sensación y pueden adquirirse en cualquier cantidad o momento.

3.1.5. Servicio medido: Los sistemas en nube controlan y optimizan automáticamente el uso de
recursos, potenciando la capacidad de medición en un nivel de abstracción apropiado al tipo de
servicio (almacenamiento, procesamiento, ancho de banda y cuentas activas de usuario). El uso
de recursos puede ser monitorizado, controlado e informado, proporcionando transparencia para
el proveedor y para el consumidor. El autoservicio bajo demanda aporta un gran beneficio al
usuario dado que reduce en gran medida las complicaciones que normalmente conllevan a la
adquisición de recursos IT propios.

El amplio de acceso a la red, es una característica especialmente importante en organizaciones


distribuidas, permitiendo el acceso a los recursos con independencia de aspectos tales como la
ubicación geográfica.
El agrupamiento de recursos permite a los distintos proveedores compartir sus recursos entre los
distintos usuarios, disminuyendo los costes y maximizando la disponibilidad de los mismos.
La rápida elasticidad es una característica que permite un notable ahorro en los costes, ya que la
escalabilidad y adaptabilidad en los sistemas en nube es más económica.

Otra de las características comunes de la computación en nube es que el servicio prestado


finalmente al usuario es medible, de manera que tanto el proveedor como el usuario tienen
acceso transparente al consumo real de los recursos, lo que posibilita el pago por el uso o la
disponibilidad real de los servicios. Este modelo de consumo de servicios, puede llevar asociada
la necesidad de modificar los Acuerdos de Nivel de Servicio (SLAs). En este contexto las
principales modalidades de pago utilizadas por los proveedores de la nube son:

 Pago por disponibilidad del servicio.


 Pago por uso.
 Pago por paquetes escalables.

A partir de estas características esenciales, se definen cinco pasos tecnológicos necesarios para
evolucionar hacia una infraestructura en la nube [5]:
 Virtualización de servidores.
 Provisión automática.
 Desprovisión automática.
 Asignación dinámica de recursos.
 Medición que posibilite la facturación basada en el uso.

3.2. Modelos de Servicios: En la computación en nube el término servicio es el concepto de ser


capaz de utilizar componentes de grano fino y reutilizables a través de la red del proveedor. Esto
es ampliamente “as a service” [6]. Las ofertas con “as a service” como sufijo incluyen
características como:

 Barreras de entrada económicas, poniéndolas a disposición de las pequeñas empresas.


 Escalabilidad grande.
 Servicios distribuidos (multitenancy), lo que permite compartir los recursos por varios
usuarios.
 Independencia de dispositivos, lo que permite a los usuarios acceder a los sistemas en
diferentes hardware.

La computación en nube puede verse como un conjunto de servicios, los cuales se presentan
como una Arquitectura de Computación en Nube en Capas [7], como ilustra la Figura 3. Los
servicios ofrecidos a través de la computación en nube incluyen a los servicios referidos como:

1. Software como Servicio (SaaS: Software as a Service).


2. Plataforma como Servicio (PaaS: Plataform as a Service).
3. Infraestructura como Servicio (IaaS: Infraestructure as a Service).

Se refieren a los servicios específicos a los que se puede acceder en una plataforma de
computación en la nube (software, plataforma e infraestructura como servicios) [8].
3.2.1. Software como Servicio (SaaS): Al consumidor se ofrece la capacidad de utilizar las
aplicaciones del proveedor que se ejecutan en una infraestructura en nube. Estas aplicaciones
son accesibles desde varios dispositivos del cliente a través de interfaces de cliente ligeras, tales
como un navegador web (por ejemplo, el correo electrónico basado en web). El consumidor no
administra o controla la infraestructura en nube subyacente, la cual incluye la red, servidores,
sistemas operativos, almacenamiento o incluso capacidades individuales de la aplicación, con la
posible excepción de limitados ajustes para la configuración de usuario de la aplicación [3].

SaaS (Figura 4) es el modelo en el cual una aplicación es alojada como un servicio para los
consumidores quienes acceden a él a través de Internet [6].

Algunas de estas aplicaciones incluyen


 CRM.
 Video conferencia.
 Administración de servicios IT.
 Contabilidad.
 Análisis Web.
 Administración de contenido Web.

3.2.2. Plataforma como Servicio (PaaS): Al consumidor se le proporciona la capacidad de


desplegar aplicaciones en la infraestructura en nube, desarrollas por él o adquiridas, creadas
utilizando lenguajes de programación, librerías, servicios y herramientas soportadas por el
proveedor. El consumidor no administra o controla la infraestructura en nube subyacente que
incluye la red, servidores, sistemas operativos o almacenamiento, pero tiene control sobre las
aplicaciones desplegadas y posiblemente sobre los ajustes de configuración del entorno donde se
aloja la aplicación [3].

PaaS, también conocido como cloudware (Figura 5), suministra todos los recursos necesarios
para desarrollar completamente aplicaciones y servicios desde Internet, sin tener que descargar o
instalar software [6]. Incluye diseño de aplicaciones, desarrollo, pruebas, instalación, alojamiento
y otros servicios como equipos de colaboración, integración con servicios web y bases de datos,
seguridad, escalabilidad, almacenamiento y versionado. Una de las desventajas de PaaS, es la
falta de interoperabilidad y la portabilidad entre proveedores

3.2.3. Infraestructura como Servicio (IaaS): Al consumidor se le suministran los recursos


informáticos fundamentales, tales como procesamiento, almacenamiento y redes entre otros, en
los cuales el consumidor puede instalar y ejecutar software arbitrario, incluyendo sistemas
operativos y aplicaciones. El consumidor no administra o controla la infraestructura en nube
subyacente, pero tiene control sobre sistemas operativos, almacenamiento y las aplicaciones
instaladas y, posiblemente, un limitado control para seleccionar componentes de red (por ejemplo,
cortafuegos) [3].

IaaS, también conocido como Hardware como Servicio (HaaS: Hardware as a Service) (Figura 6),
permite alquilar los recursos tales como servidores, software, redes, memoria, capacidad de
procesamiento y almacenamiento, del proveedor en lugar de tener que comprarlos [6].
Adicionalmente, la infraestructura necesaria puede ser escalable dinámicamente en base a los
recursos necesarios para la aplicación

Figura 6. Modelo IaaS [6].


3.3. Modelos de despliegue: Los modelos de despliegue se refieren a la posición (localización)
y
administración (gestión) de la infraestructura de la nube. El NIST [3], clasifica los modelos de
despliegue de las infraestructuras y servicios en nube en cuatro categorías (Figura 6):

1. Nube Privada.
2. Nube Pública.
3. Nube Comunitaria.
4. Nube Hibrida

Figura 6. Modelos de despliegue (Elaboración propia).

3.3.1. Nube Privada: La infraestructura en nube está preparada para el uso exclusivo de una
única
organización que comprende varios consumidores (por ejemplo, unidades de negocio). Puede ser
de propiedad, administrada y operada por la organización, un tercero o una combinación de ellos
y puede existir dentro o fuera de las instalaciones.

3.3.2. Nube Pública: La infraestructura en nube está preparada para el uso abierto por el público
en general. Puede ser de propiedad, administrada y operada por una organización de negocios,
académica o del gobierno, o una combinación de los tres. Existe dentro de las instalaciones del
proveedor de la nube.

3.3.3. Nube Comunitaria: La infraestructura en nube está preparada para el uso de una
comunidad
específica de consumidores de organizaciones que tienen intereses compartidos (por ejemplo,
misión, requerimientos de seguridad y políticas). Puede ser de propiedad, administrada y operada
por una o más de las organizaciones en la comunidad, por un tercero o una combinación de
ambos y puede existir dentro o fuera de las instalaciones.

3.3.4. Nube Híbrida: La infraestructura en nube es una combinación de una o más


infraestructuras en nube distintas (privada, pública o comunitaria) que permanecen como
entidades únicas pero
están unidas por tecnologías estándares o propietarias que permiten la portabilidad de los datos
y las aplicaciones.

Por nube pública se entiende al modelo más común de computación en nube, en el cual el
proveedor en nube habilita el servicio a los usuarios con total ubicuidad desde Internet. De esta
manera, el público objetivo de esta modalidad de servicios es muy generalista y su propietario es
el propio proveedor de servicios.

Las nubes públicas permiten ampliar fácilmente los recursos necesitados, ya que éstas suelen
tener más tamaño que las nubes privadas, normalmente implantadas en una única organización.
Sin embargo, también presentan ciertos aspectos a vigilar y carencias respecto al resto de
modelos, no siendo posible a los usuarios tener localizados físicamente los datos registrados en
la nube, almacenándose de forma compartida esta información con la de otros usuarios del
servicio.
Así, este modelo de implementación requiere de la articulación de una política de seguridad y
protección de datos de gran exigencia por parte del proveedor.

4. Virtualización: Una infraestructura virtualizada es la base para la mayoría de las nubes de


alto
rendimiento. La virtualización ha sido una estrategia exitosa para la consolidación de los centro de
datos. Se utiliza de manera amplia para poner en común los recursos de la infraestructura y
también puede proporcionar los elementos básicos para mejorar la agilidad y flexibilidad de un
sistema en nube. Los servidores continúan siendo el foco principal de la virtualización [9].

4.1. Tecnología Clave: La virtualización es una de las tecnologías claves que permite la
computación en nube [7]. Sin embargo, la virtualización no es computación en nube. La principal
diferencia está en que la virtualización es una abstracción de los recursos informáticos,
típicamente máquinas virtuales (VM: Virtual Machine). Se refiere a la abstracción de los recursos
lógicos lejos de sus recursos físicos subyacentes. La virtualización no es necesaria para crear un
entorno en nube, pero permite una rápida escalabilidad de los recursos de una manera que en
entornos no virtualizados se encuentra difícil de alcanzar [9].

4.2. Ventaja: La ventaja de la computación en nube es la capacidad de virtualizar y compartir


recursos entre las diferentes aplicaciones con el objetivo de mejorar la utilización del servidor. La
Figura 7 es un ejemplo de entorno donde existen tres plataformas independientes para tres
aplicaciones diferentes que se ejecutan en su propio servidor. En la computación en nube, los
servidores pueden ser compartidos o virtualizados para sistemas operativos y aplicaciones lo que
resulta en un menor número de servidores, en el ejemplo concretamente dos servidores.

Figura 7. Un ejemplo de virtualización [7].

La virtualización (Figura 8) permite que múltiples instancias de los recursos de la infraestructura


se ejecuten en el mismo hardware, con el control de acceso a esos recursos controlados por un
hipervisor (hypervisor) [10].
Figura 8. Virtualización [10].

4.3. Hipervisores: Un hipervisor [10], también conocido como monitor de máquina virtual (VMM:
Virtual Machine Manager), es la capa de software que controla el acceso al hardware anfitrión,
crea y ejecuta máquinas virtuales. Existen dos tipos de hipervisores (Figura 8): i) nativos
(unhosted o bare metal) y ii) anfitriones (hosted). En una instancia nativa, el hipervisor se ejecuta
directamente en el hardware anfitrión y permite ejecutar múltiples sistemas operativos en el
mismo hardware físico. Los hipervisores anfitriones se ejecutan sobre el sistema operativo
anfitrión y permiten ejecutar entornos de sistemas operativos adicionales dentro del sistema
operativo anfitrión.

Figura 8. Tipos de hipervisores [10].

4.4. Elementos característicos de Virtualización: Algunos de los elementos característicos de


virtualización en la computación en nube son [11]:
 Acceso.
 Aplicación.
 Servidor.
 Almacenamiento.

Para permitir estas características los recursos deben ser altamente configurables y flexibles. Se
pueden definir los rasgos del software y del hardware que facilitan esta flexibilidad de acuerdo con
uno o más de los siguientes patrones de movilidad:

 P2V (Physical to Virtual).


 V2V (Virtual to Virtual).
 V2P (Virtual to Physical).
 P2P (Physical to Physical).
 D2C (Datacenter to Cloud).
 C2C (Cloud to Cloud).
 C2D (Cloud to Datacenter).
 D2D (Datacenter to Datacenter).

Gartner [12] identifica cinco atributos de la computación en nube i) basada en servicio, ii)
escalable y elástica, iii) compartible, iv) medida y v) tecnología de Internet. La virtualización es la
mayor facilitadora para los primeros cuatro. Existen varios elementos de virtualización [10]:

 Virtualización de servidores.
 Virtualización del almacenamiento.
 Virtualización de la red.

5. Beneficios y Retos de la Computación en Nube

5.1. Beneficios: Además de las cinco características esenciales consideradas en la definición


del NIST [3], se deben considerar las siguientes ventajas de la computación en nube [11]:

 Reducción de costos.
 Facilidad de uso.
 Calidad del servicio (QoS: Quality of service).
 Fiabilidad.
 Tercerización de servicios IT.
 Facilidad de mantenimiento y actualización.
 Barreras de entrada bajas.

Debido a que las redes en nube operan más eficientemente y con mayor utilización,
frecuentemente se encuentran reducciones significativas en los costos. Por otra parte,
dependiendo del tipo de servicio ofrecido, se puede encontrar que no se requiere de hardware o
de licencias de software para implementar el servicio. La calidad del servicio es algo que se
puede obtener bajo contrato con el proveedor de la nube. La fiabilidad, considerada una de las
principales características de explotación de las capacidades de la nube, indica la capacidad de
garantizar un funcionamiento constante del sistema sin interrupciones. La tercerización de los
servicios IT permite que otros se encarguen del manejo de la infraestructura informática del
negocio, logrando reducciones considerables en los costos del personal de IT. Las
actualizaciones se pueden aplicar fácilmente, lo que permite que los usuarios tengan acceso a las
últimas versiones de software. Por último, los gastos de capital inicial se reducen dramáticamente,
poniéndolas a disposición de las pequeñas empresas.

5.2. Retos: Este nuevo paradigma de la computación en nube ofrece un número de beneficios y
ventajas sobre los paradigmas de computación anteriores y muchas organizaciones están
adoptando este modelo. Sin embargo, todavía quedan un número de desafíos identificados en el
campo [7]:

 Rendimiento.
 Seguridad y Privacidad.
 Control.
 Costo de ancho de banda.
 Confiabilidad.

Según [13] los principales retos que identifican las distintas empresas y organizaciones públicas
están relacionados con la seguridad, la confidencialidad de los datos corporativos y la privacidad
e integridad de los servicios y datos de la entidad. Por detrás de estos aspectos de seguridad se
sitúa como principal consideración la disponibilidad de los servicios y datos.
Internet de las cosas. Cavalli:

1. Introducción: La Internet de las Cosas se basa en tecnologías conocidas pero su potencial de


transformación será muy grande. La nueva ola de conectividad y desarrollo informático estará en
los objetos cotidianos, que de alguna manera estarán controlados o conectados a Internet. Lo que
hoy se llama Internet de las cosas o IoT (Internet of Things) es un conjunto de tecnologías y
protocolos asociados que permitirán que los objetos se conecten a una red de comunicaciones y
sean tanto identificados como controlados a través de esta conexión a la red.

Diferentes tipos de sensores se integran con los objetos y proporcionan información de diversos
parámetros que se pueden medir. Esto permite la creación de entornos que pueden analizar y
diagnosticar situaciones minimizando errores. Todo objeto se puede conectar a Internet
mediante el uso de etiquetas RFDI (Radio Frequency Identification) las que se adicionan al objeto
del que se requiere recolectar información. Mediante una comunicación de radiofrecuencia la
información es enviada a una computadora que está conectada a Internet. La identificación por
radio frecuencia (RFID) y las tecnologías de redes de sensores son las partes necesarias para
lograr esta conectividad. También se generarán grandes cantidades de datos que tienen que ser
almacenados, procesados y presentados de una forma transparente, eficiente y fácil de
interpretar.

El desarrollo de las redes WiFi y 4G-LTE es relevante pero habrá una evolución adicional hacia
conectividad entre objetos. Internet de las cosas exige una comprensión de la conectividad entre
dispositivos, el desarrollo de estándares para la transmisión de información y las herramientas
que permitan el comportamiento autónomo de los objetos según las funciones que deban cumplir
y las instrucciones que reciban desde la red que los interconecta. Transporte y logística han
incorporado desde hace tiempo este tipo de tecnologías, en especial para mejorar los servicios de
suministro.

Existen una serie de definiciones y predicciones en relación a Internet de las Cosas,


recientemente durante un seminario organizado por IDC se compartieron con la audiencia
algunas proyecciones futuras1:

· IoT y la nube: dentro de los próximos 5 años más del 90 % de los datos de IoT serán
almacenados en la nube.
· IoT y seguridad: en dos años, el 90 % de todas las redes IT tendrán problemas de seguridad
originados en IoT, por lo que se deberán generar nuevas políticas de seguridad relacionadas a
IoT.
· IoT en el borde: para 2018, 40% de los datos generados por IoT serán almacenados,
procesados, analizados y ejecutados en el borde de las redes.
· IoT y la capacidad de la red: dentro de tres años 50 % de las redes informáticas experimentarán
problemas para manejar una gran cantidad de datos producidos por IoT.
· IoT y la diversificación: hoy IoT se centra en manufactura, transporte y ciudades inteligentes,
pero dentro de los próximos cinco años todas las industrias habrán icorporado IoT a sus
infraestructuras.
· IoT and y las ciudades inteligentes: Los gobiernos locales invertirán para desarrollar, controlar e
instalar infraestructuras basadas en IoT hacia 2018.
· IoT y los sistemas embebidos: para .2018, 60% de las soluciones IT desarrolladas se volverán
abiertas permitiendo una mayor integración vertical usando IoT.

2. IoT y su Impacto en la conectividad global y regional: Según investigaciones de la empresa


Verizon, para el año 2015 las empresas que utilicen extensivamente tecnologías IoT en sus
productos y operaciones serán un 10 % más rentable debido al incremento de su eficiencia2.
Estudios realizados por la empresa CISCO indican que para el año 2019 habrá 371 millones más
de usuarios de Internet, 1,9 billones más de dispositivos conectados a Internet, la velocidad
promedio de las conexiones de banda ancha serán de 17 Mbps, y el 82 % del tráfico será
transmisión de video por Internet. El incremento de tráfico de Internet crecerá tres veces más
hacia el año 2019.

Si bien Internet de las Cosas se trata de tecnologías ya existentes, su impacto será notable en la
conectividad ya que generará un incremento de tráfico de Internet creciente, el que se deberá
tener en cuenta en las inversiones relacionadas con redes de telecomunicaciones, en especial las
inalámbricas de media y corta distancia de alcance.

Según estudios realizados por la empresa CISCO, el tráfico de Internet global se incrementará
tres veces hasta 2019 y buena parte del crecimiento estará impulsado por el intercambio de datos
no ya entre computadoras sino entre objetos interconectados entre sí y a computadoras.

Figura 1: Predicciones de tráfico IP según aplicaciones hasta 2019. Fuente: CISCO VNI Global IP
Traffic Forecast

Figura 2: Predicciones de tráfico en redes IP entre 2014 y 2019 – Fuente: Cisco.


Figura 3: Predicciones de Dispositivos conectados a nivel global por tipo de tráfico. Fuente:
CISCO

El crecimiento dispositivos conectados a redes IP se dará mayormente en el segmento de


conexiones entre dispositivos también llamadas M2M o máquina a máquina, previéndose un 43 %
de este tipo de conexiones hacia 2019. (Figura 3)

Entre las conexiones M2M casi la mitad de las conexiones se realizarán en hogares y el trabajo,
como lo muestra la figura 4.

Figura 4: Predicciones de crecimiento de las conexiones M2M según tipo de aplicaciones.


Fuente:Cisco.

A nivel regional la conexión entre máquinas M2M no será tan relevante como a nivel global, sin
embargo se prevé que sea significativa, una buena parte de los dispositivos conectados serán
teléfonos inteligentes, uso que se acentuará durante los próximos años con la difusión de las
redes 4G en América Latina y el Caribe. (Figura 5)
Figura 4: Tipo de dispositivos conectados a Internet en América Latina y el Caribe hacia 2019.
Fuente: CISCO.

3. IoT aplicaciones y elementos que lo componen: Las posibilidades de aplicaciones y usos de


IoT son enormes, si bien es difícil hacer un listado exhaustivo, resulta relevante agrupar en
categorías algunos de los usos más frecuentes que tendrá a mediano y largo plazo:

Hogar conectado:
· Seguridad
· Red de conectividad a servicio
· Control de servicios: electricidad, agua, gas, calefacción
· Control de dispositivos eléctricos y domésticos
· Computadoras, impresoras, enrutadores, otros elementos de conectividad.

En el trabajo:
· Elementos de oficina conectados
· Seguridad del edificio
· Control de servicios: electricidad, agua, gas, calefacción
· Automatización de la oficina.

Servicios públicos:
· Transporte
· Vehículos no tripulados
· Vehículos tripulados
· Mediciones de tráfico
· Señales viales y otras medidas para gestión de tráfico
· Manejo de flotas
· Llamadas internas en vehículos
· Emergencias
· Robos, recuperos
· Alquiler de vehículos
· Gestión de seguros

Salud:
· Monitoreo
· Asistencia en domicilio
· Telemedicina
· Provisión de medicamentos
Smart cities:
· Gestión de tráfico
· Publicidad
· Transporte
· Seguridad

Tiendas:
· Control de inventarios
· Seguridad de los productos
· Seguridad del edificio
· Máquinas de facturación

Manufactura y cadena de suministros:


· Control de stock y suministros
· Almacenamiento
· Seguridad del edificio

Los elementos que harán posible el desarrollo de IoT se fundamentan en la interacción de tres
componentes principales:

· Las cosas conectadas a través de sensores


· Almacenamiento de datos
· Motores de análisis y procesamiento de los datos

La figura 5 muestra la interacción entre estos tres elementos principales3

Figura 5: Elementos principales de IoT – Fuente: CELENT

Según la Comisión Federal de Comercio de los Estados Unidos, la única manera de que IoT
llegue a su máximo potencial será logrando la confianza de consumidores y demostrando que
ofrece la seguridad y las protecciones esperadas para servicios, datos y aplicaciones
Resulta relevante evaluar las partes en el ecosistema de IoT donde puede existir un mayor riesgo
para la seguridad del servicio, los datos y de los individuos u organizaciones involucrados.

Figura 6: Riesgos en la seguridad en Internet de las Cosas- Fuente: Ram Mohan para Circle ID4
En la figura 6 se detallan estos posibles puntos de riesgo:

1. Los datos enviados pueden resultar comprometidos, pueden ser hackeados o


interrumpidos en su paso por Internet
2. Los datos pueden ser alterados
3. La identidad de los objetos físicos puede ser comprometida, datos pueden ser tomados de
objetos incorrectos y también se puede tomar acciones indeseadas sobre los objetos
4. Los proceso de análisis y comandos pueden ser interrumpidos o hackeados, el software
embebido puede resultar obsoleto y las actualizaciones de software pueden ser
obstaculizadas
5. Los servidores pueden ser hacheados y el análisis de datos puede ser interrumpido
6. Los procesos de comunicaciones vía Internet pueden ser comprometidos o
redireccionados

La seguridad de los sistemas que utilicen IoT todavía está en desarrollo, así como los estándares
globales que permitan la masificación de su uso.

Existen diversos desarrollos en la industria algunos ya disponibles comercialmente que usan


sistemas operativos y hardware abiertos, lo que permite desarrollar dispositivos con esta a bajos
precios. Uno de los más conocidos es la placa multipropósito denominada Arduino que incorpora
laconectividad inalámbrica.
Figura 7: Foto de placa Arduino – Fuente: Wikipedia5

Arduino es una plataforma de hardware abierto que tiene como elemento principal una placa con
un microcontrolador programable mediante uso de software abierto. Este dispositivo se puede
usar para automatizar y controlar diferentes objetos y a su vez se puede conectar con distintos
tipos de programas. Las placas se pueden comprar o armar ya que su diseño y se puede
descargar de Internet en forma gratuita. Arduino tiene su propio software para programarlo, que
se puede descargar de su página oficial.

Los sistemas de Internet de las Cosas interconectarán objetos mediante el uso de redes WiFi y el
acceso a internet inalámbrico mediante redes 4G-LTE (Long Term Evolution). Según
estimaciones de GSMA Intelligence, las conexiones de IoT celulares en América Latina crecerán
un 25% y alcanzarán 62 millones de conexiones para el año 2020. En la Argentina, para el año
2020 se estima que habrá 3 millones de conexiones M2M.

Telecom Personal y la empresa Jasper anunciaron recientemente la implementación de una


plataforma para conectividad tipo M2M aprovechando la red de servicios móvil de la empresa7.
La plataforma que se implementará permite controlar en tiempo real los dispositivos conectados
además de otros servicios de diagnóstico y facturación.

Como en otros desarrollos que se han difundido globalmente, los estándares serán un elemento
relevante para que las soluciones de IoT se hagan masivas y a precios accesibles a usuarios. Se
detallan a continuación diferentes espacios donde se debaten los estándares de IoT:

Unión Internacional de Telecomunicaciones ITU:

La iniciativa de Estándares Globales de Internet de las Cosas (Global Standards Initiative on


Internet of Things, IoT-GSI) trabaja en una visión unificada del desarrollo de estándares técnicos
para IoT.

IoT ha sido definido por la Recomendación ITU-T Y.2060 (06/2012) como una infraestructura
global de la sociedad de la Información que permite servicios avanzados de interconexión física y
virtual de cosas en base a tecnologías de comunicación existentes y en evolución.

ITU ha establecido la JCA-IoT, Joint Coordination Activity on Internet of Things en febrero de


2011.

ZigBee8: Especificación de protocolos de comunicación inalámbrica, basados en el estándar


IEEE 802.15.4 de WPAN. Están destinados a comunicaciones con baja tasa de envío de datos
con foco en aplicaciones de domótica y automatización de hogares. Pretende ser una plataforma
de comunicaciones más económica que WiFi y Bluetooth, generando redes inalámbricas
personales WPAN wireless Personal area networks.
WirelessHART (HighwayAddressableRemoteTransducer)9: Se basa en IEEE 802.15.4 y
permite comunicaciones robustas en tiempo real y debido a su filosofía de función única no
permite interoperabilidad con otras tecnologías de comunicación.
Mbed (Sensinode)10: Es una solución comercial que consiste en un sistema operativo y
productos de hardware basados sobre la tecnología IP 6LoWPAN.

Actividades de Estandarización ETSI TC M2M: Arquitectura elaborada por estudios un comité


técnico de la ETSI creado en 2009 con el objeto de estudiar las comunicaciones máquina a
máquina (M2M) con el fin de especificar requisitos de M2M, proporcionar especificaciones y
normas, coordinación con otros grupos de normalización y desarrollar y mantener un
aarquitectura de extremo a extremo en general de alto nivel para M2M.

IETF: La Internet EngineeringTaskForce, IETF, es una de las organizaciones de normas de


Internet que más trabaja en IoT, en especial resulta de gran importancia el completo desarrollo de
IPV6 ya que será el único estándar capaz de interconectar a tan gran cantidad de dispositivos a
través de redes IP para implementar plataformas y servicios IoT.

Ingeniería de software- Pressman:

Capítulo 1: El software y la ingeniería de software

Definición de software: El software es: 1) instrucciones (programas de cómputo) que cuando se


ejecutan proporcionan las características, función y desempeño buscados; 2) estructuras de datos
que permiten que los programas manipulen en forma adecuada la información, y 3) información
descriptiva tanto en papel como en formas virtuales que describen la operación y uso de los
programas.

El software es elemento de un sistema lógico y no de uno físico. Por tanto, tiene características
que difieren considerablemente de las del hardware:

1. El software se desarrolla o modifica con intelecto; no se manufactura en el sentido clásico.


Las actividades de desarrollo de hardware y de software requieren la construcción de un
“producto”, pero los enfoques son distintos. Los costos del software se concentran en la
ingeniería. Esto significa que los proyectos de software no pueden administrarse como si
fueran proyectos de manufactura

2. El software no se “desgasta”. Conforme pasa el tiempo, la tasa de fallas aumenta de nuevo


a medida que los componentes del hardware resienten los efectos acumulativos de
suciedad, vibración, abuso, temperaturas extremas y muchos otros inconvenientes
ambientales. El software no es susceptible a los problemas ambientales que se hacen que
el hardware se desgaste

3. Aunque la industria se mueve hacia la construcción basada en componentes, la mayor


parte del software se construye para un uso individualizado. Las actuales interfaces
interactivas de usuario se construyen con componentes reutilizables que permiten la
creación de ventajas gráficas, menús desplegables y una amplia variedad de mecanismos
de interacción. Las estructuras de datos y el detalle de procesamiento que se requieren
para construir la interfaz están contenidos en una librería de componentes reusables para
tal fin

Dominios de aplicación del software: Hay siete grandes categorías de software de


computadora:

 Software de sistemas: Conjunto de programas escritos para dar servicio a otros


programas. Determinado software de sistemas (por ejemplo, compiladores, editores y
herramientas para administrar archivos) procesa estructuras de información compleja. El
área de software de sistemas se caracteriza por: gran interacción con el hardware de la
computadora, uso intensivo por parte de usuarios múltiples, operación concurrente que
requiere la secuenciación, recursos compartidos y administración de un proceso
sofisticado, estructuras complejas de datos e interfaces externas múltiples
 Software de aplicación: Programas aislados que resuelven una necesidad especifica de
negocios. Las aplicaciones en esta área procesan datos comerciales o técnicos en una
forma que facilita las operaciones de negocios o la toma de decisiones administrativas o
técnicas. Además de las aplicaciones convencionales de procesamiento de datos, el
software de aplicación se usa para controlar funciones de negocios en tiempo real (por
ejemplo, procesamiento de transacciones en punto de venta, control de procesos de
manufactura en tiempo real)

 Software de ingeniería y ciencias: Se ha caracterizado por algoritmos “devoradores de


números”. Las aplicaciones modernos dentro del área de la ingeniería y las ciencias están
abandonando los algoritmos numéricos convencionales. El diseño asistido por
computadora, la simulación de sistemas y otras aplicaciones interactivas, han comenzado
a hacerse en tiempo real e incluso han tomado características del software de sistemas

 Software incrustado: Reside dentro de un producto o sistema y se usa para implementar


y controlar características y funciones para el usuario final y para el sistema en sí. El
software incrustado ejecuta funciones limitadas y particulares (por ejemplo, control del
tablero de un horno de microondas) o provee una capacidad significativa de
funcionamiento y control (funciones digitales en un automóvil, como el control del
combustible, del tablero de control y de los sistemas de frenado)

 Software de línea de productos: Es diseñado para proporcionar una capacidad


especifica para el uso de muchos consumidores diferentes. El software de línea de
productos se centra en algún mercado limitado y particular (por ejemplo, control del
inventario de productos) o se dirige a mercados masivos de consumidores (procesamiento
de textos, hojas de cálculo, gráficas por computadora, multimedios, entretenimiento,
administración de base de datos y aplicaciones para finanzas personales o de negocios)

 Aplicaciones web: Llamadas “webapps”, esta categoría de software centrado en redes


agrupa una amplia gama de aplicaciones. En su forma más sencilla, las webapps son poco
más que un conjunto de archivos de hipertexto vinculados que presentan información con
uso de texto y gráficas limitadas. Sin embargo, las webapps están evolucionando hacia
ambientes de cómputo sofisticados que no sólo proveen características aisladas, funciones
de cómputo y contenido para el usuario final, sino que también están integradas con bases
de datos corporativas y aplicaciones de negocios

 Software de inteligencia artificial: Hace uso de algoritmos no numéricos para resolver


problemas complejos que no son fáciles de tratar computacionalmente o con el análisis
directo. Las aplicaciones en esta área incluyen robótica, sistemas expertos, reconocimiento
de patrones (imagen y voz), redes neutrales artificiales, demostración de teoremas y
juegos

Hay nuevos desafíos en el horizonte:

 Computación en un mundo abierto: el rápido crecimiento de las redes inalámbricas


quizá lleve pronto a la computación verdaderamente ubicua y distribuida. El reto para los
ingenieros de software será desarrollar software de sistemas y aplicación que permita a
dispositivos móviles, computadoras personales y sistemas empresariales comunicarse a
través de redes enormes
 Construcción de redes: la red mundial se está convirtiendo con rapidez tanto en un motor
de computación como en un proveedor de contenido. El desafío para los ingenieros de
software es hacer arquitecturas sencillas (por ejemplo, planeación financiera personal y
aplicaciones sofisticadas que proporcionen un beneficio a mercados objetivo de usuarios
finales en todo el mundo)

 Fuente abierta: tendencia creciente que da como resultado la distribución de código


fuente para aplicaciones de sistemas (por ejemplo, sistemas operativos, bases de datos y
ambientes de desarrollo) de modo que mucha gente pueda contribuir a su desarrollo. El
desafío para los ingenieros de software es elaborar un código fuente que sea
autodescriptivo, y también, lo que es más importante, desarrollar técnicas que permitirán
tanto a los consumidores como a los desarrolladores saber cuáles son los cambios hechos
y cómo se manifiestan dentro del software

Software heredado: Los sistema de software heredado fueron desarrollados hace varias
décadas y han sido modificados de manera continua para que satisfagan los cambios en los
requerimientos de los negocios y plataformas de computación. La proliferación de tales sistemas
es causa de dolores de cabeza para las organizaciones grandes, a las que resulta costoso
mantenerlos y riesgoso hacerlos evolucionar

Sin embargo, conforme pase el tiempo será frecuente que los sistemas de software evolucionen
por una o varias de las siguientes razones:

 El software debe adaptarse para que cumpla las necesidades de los nuevos ambientes del
cómputo y de la tecnología
 El software debe ser mejorado para implementar nuevos requerimientos del negocio
 El software debe ampliarse para que sea operable con otros sistemas o bases de datos
modernos
 La arquitectura del software debe rediseñarse para hacerla viable dentro de un ambiente
de redes

La naturaleza de las webapps: las webapps son una de varias categorías distintas de software.
No obstante, podría argumentarse que las webapps son diferentes. Los sistemas y aplicaciones
basados en web “involucran una mezcla entre las publicaciones impresas y el desarrollo de
software, entre la mercadotecnia y la computación, entre las comunicaciones internas y las
relaciones exteriores, y entre el arte y la tecnología”. La gran mayoría de webapps presenta los
siguientes atributos:

 Uso intensivo de redes. Una webapp reside en una red y debe atender las necesidades
de una comunidad diversa de clientes. La red permite acceso y computación mundiales
(por ejemplo, internet) o tiene acceso y comunicación limitados (por ejemplo, una intranet
corporativo)
 Concurrencia. A la webapp puede acceder un gran número de usuarios a la vez. En
muchos casos, los patrones de uso entre los usuarios finales varían mucho
 Carga impredecible. El número de usuarios de la webapp cambia en varios órdenes de
magnitud de un día a otro.
 Rendimiento. Si un usuario de la webapp debe esperar demasiado (para entrar, para el
procesamiento por parte del servicio, para el formato y despliegue del lado del cliente), él o
ella quizá decidan irse a otra parte
 Disponibilidad. Aunque no es razonable esperar una disponibilidad del 100%, es
frecuente que los usuarios de webapps populares demanden acceso las 24 horas de los
365 días del año
 Orientadas a los datos. La función principal de muchas webapps es el uso de
hipermedios para presentar al usuario final contenido en forma de texto, gráficas, audio y
video. Además, las webapps se utilizan en forma común para acceder a información que
existe en bases de datos que no son parte integral del ambiente basado en web (por
ejemplo, comercio electrónico o aplicaciones financieras)
 Contenido sensible. La calidad y naturaleza estética del contenido constituye un rasgo
importante de la calidad de una webapp
 Evolución continua. A diferencia del software de aplicación convencional que evoluciona
a lo largo de una serie de etapas planeadas y separadas cronológicamente, las
aplicaciones web evolucionan en forma continua. No es raro que ciertas webapp
(específicamente su contenido) se actualicen minuto a minuto o que su contenido se
calcule en cada solicitud
 Inmediatez. Aunque la inmediatez – necesidad apremiante de que el software llegue con
rapidez al mercado – es una característica en muchos dominios de aplicación, es frecuente
que las webapps tengan plazos de algunos días o semanas para llegar al mercado
 Seguridad. Debido a que las webapps se encuentran disponibles con el acceso a una red,
es difícil o imposible limitar la población de usuarios finales que pueden acceder a la
aplicación. Con el fin de proteger el contenido sensible y brindar modos seguros de
transmisión de los datos, deben implementarse medidas estrictas de seguridad a través de
la infraestructura de apoyo de una webapp y dentro de la aplicación misma
 Estética. Parte innegable del atractivo de una webapp es su apariencia y percepción.
Cuando se ha diseñado una aplicación para comercializar o vender productos o ideas, la
estética tiene tanto que ver con el éxito como el diseño técnico

Ingeniería de software: Con objeto de elaborar software deben aceptarse algunas realidades:

 Debe hacerse un esfuerzo concertado para entender el problema antes de desarrollar una
aplicación de software

 El diseño se ha vuelto una actividad crucial

 El software debe tener alta calidad

 El software debe tener facilidad para recibir mantenimiento

Estas realidades simples llevan a una conclusión: debe hacerse ingeniería con el software en
todas sus formas y a través de todos sus dominios de aplicación.

También podría gustarte