sábado, 19 de diciembre de 2020

Cloud Computing

 

FUNDAMENTOS DE CLOUD COMPUTING

¿ Qué Es Cloud Computing?


Es una tecnología que permite acceso remoto a softwares, almacenamiento de archivos y procesamiento de datos por medio de Internet, siendo así, una alternativa a la ejecución en una computadora personal o servidor local. En el modelo de nube, no hay necesidad de instalar aplicaciones localmente en computadoras.




¿ Cómo Surgió Cloud Computing?


La historia del Cloud Computing comenzó a tomar forma cuando los titanes de la industria como Google y Amazon decidieron construir su propia infraestructura de recursos distribuidos horizontalmente e introducirlos como servicios digitales masivos, es decir , llevar este software a una plataforma donde cualquier persona pueda utilizarlos sin necesidad implementar tantos recursos tecnológicos como en el pasado.


¿ Cómo Funciona Cloud Computing?

El Cloud Computing usa una capa de red para conectar los dispositivos de los usuarios, como computadoras, móviles, portátiles, a recursos centralizados en el data center.

Antes de existir esta tecnología del cloud computing, la ejecución de software por las compañías que ofrecían este servicio solo era posible si podían asimismo pagar por el mantenimiento de la infraestructura de los servidores.

Además de esto, el software tradicional necesitaba un equipo completo de profesionales de TI, interno o bien externo, para gestionar todos los posibles fallos, actualizaciones que conlleva este tipo de sistemas.

El término de computación en la nube o cloud computing está libre de todos esos inconvenientes, y estos requisitos se han quedado atrás.

 

Tipos De Nube

1. Nube Pública

Un servicio de Nube Pública es cuando el proveedor proporciona sus recursos de forma abierta a todas las entidades que lo deseen, desde particulares a grandes corporaciones. Este tipo de servicios son los que ofrecen Amazon, Azure de Microsoft o Google Engine.

2. Nube Privada

En la otra parte de la balanza se encuentra el Cloud Privado, que es una cuando el proveedor realiza la implementación y administración del sistema para la entidad que forma parte de ella. Las entidades que optan por este tipo de sistemas son aquellas que tienen un alto nivel de complejidad y necesitan centralizar sus recursos, como pueden ser grandes corporaciones o administraciones públicas. El sistema que más está destacando para este tipo de servicios es Openstack, solución OpenSource.

3. Nube Híbrida

Como su propio nombre indica esta solución esta compuesta por las dos anteriores , donde una parte de los servicios y la información se ofrece de manera pública y otra de manera privada. Este tipo de soluciones tienen mucho potencial, ya que permiten hacer crecer tu sistema contratando a terceros lo que vayas necesitando. Este tipo de servicios también se pueden realizar con Openstack.

Modelos de servicio

1.- Software como Servicio (SaaS)

Podemos hablar de este sistema cuando el usuario se encuentra con todas las herramientas para implementar todos los procesos necesarios para la empresa.

2.- Infraestructura como Servicio (IaaS)

No existe valor añadido, el proveedor ofrece capacidad de almacenamiento y proceso en bruto , siendo el usuario el que construye las aplicaciones que necesita desde cero.

3.- Plataforma como Servicio (PaaS)

En este caso, se ofrece herramientas y utilidades para facilitar la construcción de aplicaciones , como puede ser base de datos o entornos de programación.

Ventajas Y Desventajas

Ventajas

  • Es escalable: con un coste bastante accesible, una pyme puede comprar una licencia, mientras que una multinacional, comprará 500 licencias. Y las dos compartirán los mismos servicios.
  •  Dejamos de depender de nuestro puesto físico de trabajo. Al tener los datos en el servidor, cualquier ordenador, smartphone o cyber café se convierten en nuestra oficina.
  •  Se ahorra en  equipamiento, pues ya no tendremos que preocuparnos de nuestros equipos (si están o no obsoletos) y cuándo cambiarlos. De ello se encargará la empresa proveedora.
  •  Ahorramos también en eficiencia en caídas y backups, pues las empresas proveedoras se encuentran realmente equipadas para hacer frente a posibles contingencias.
  •  Implementación rápida de software ya probado por miles de usuarios en el planeta.
  •  Gran capacidad de personalizar las aplicaciones y su aspecto.
  •  Actualizaciones automáticas que surgen de la experiencia y  uso de millones de usuarios y sus requerimientos.



Desventajas

  • Dependemos de nuestro proveedor, de que tenga una buena política y preserve los datos, aunque pueden hacerse backups periódicos al disco duro de nuestra ordenador.
  •  ¡Si se nos corta internet, estaremos en apuros! Esta es una clara desventaja, pero podremos salvar este problema si contamos con dispositivos  que nos ofrezcan una vía alternativa de conexión, como por ejemplo una conexión wifi. También existe la posibilidad de trabajar offline.
  •  Vulnerabilidad de la privacidad de nuestros datos, aunque si nos ponemos a pensar, ésta ya existe cuando usamos gmail, yahoo, etc. El acceso con contraseñas y sectores de seguridad con protocolo https, disminuyen el peligro. 

Referencias


https://www.salesforce.com/mx/cloud-computing/#:~:text=De%20una%20manera%20simple%2C%20la,computadora%20personal%20o%20servidor%20local.

https://netsoft.com/como-surgio-cloud-computing/#:~:text=La%20historia%20del%20cloud%20computing,una%20plataforma%20donde%20cualquier%20persona

https://citelia.es/blog/que-es-cloud-computing-y-como-funciona/

https://openwebinars.net/blog/tipos-de-cloud-computing/

https://www.enae.es/sites/default/files/images/cloudcomputing2.jpg

sábado, 21 de marzo de 2020

BIENVENIDOS

DE BASE DE DATOS A BIG DATA


¿ Qué es Big: data?

Entre todas las definiciones ofrecidas para "big data", mi favorita es que significa datos que son demasiado grandes, demasiado rápidos o demasiado durospara herramientas existentes para procesar. Aquí, "demasiado grande" significa que las organizaciones deben tratar cada vez más con colecciones de datos a escala de petabytes que provienen de flujos de clics, historiales de transacciones, sensores y otros. "Demasiado rápido" significa que no solo los datos son grandes, sino que deben procesarse rápidamente, por ejemplo, para realizar la detección de fraude en un punto de venta o determinar qué anuncio mostrar a un usuario en una página web. "Demasiado difícil" es un elemento clave para los datos que no encajan perfectamente en una herramienta de procesamiento existente o que necesita algún tipo de análisis que las herramientas existentes no pueden proporcionar fácilmente. Gartner está promulgando un desglose similar (que probablemente sea una señal de que estoy simplificando demasiado las cosas), citando las "tres V": volumen, velocidad y variedad (una frase similar a "demasiado difícil").
Resultado de imagen para imagenes de Big Data

En bases de datos y MapReduce

Entonces, ¿dónde se quedan cortos estos sistemas de gestión de bases de datos (DBMS) en estas métricas? Con respecto al tamaño de los datos, los sistemas relacionales comerciales realmente funcionan bastante bien: la mayoría de los proveedores de análisis (como Greenplum, Netezza, Teradata o Vertical informan que pueden manejar bases de datos de múltiples petabytes. Aunque esto podría no ser lo suficientemente grande para unos pocos Internet masivos) empresas, probablemente es para casi todos los demás. Desafortunadamente, los sistemas de código abierto como MySQL y Postgres van muy por detrás de los sistemas comerciales en términos de escalabilidad. Está en los frentes "demasiado rápido" y "demasiado difícil" donde los sistemas de bases de datos no tienen un precio bien.
Primero, las bases de datos deben importar lentamente los datos en una representación nativa antes de que puedan consultarse, lo que limita su capacidad para manejar la transmisión de datos. La comunidad de bases de datos ha estudiado ampliamente las tecnologías de transmisión, que no se integran bien en los motores relacionales. En segundo lugar, aunque los motores brindan cierto soporte para las estadísticas y el modelado en la base de datos, estos esfuerzos no han sido ampliamente adoptados y, como regla general, no se paralelan de manera efectiva a cantidades masivas de datos (excepto en algunos casos, como noto luego).
¿Qué pasa con plataformas como MapReduce o Hadoop? Al igual que los DBMS, escalan a grandes cantidades de datos (aunque las implementaciones de Hadoop generalmente necesitan muchas más máquinas físicas para procesar la misma cantidad de datos que un sistema relacional comparable, porque carecen de muchas de las estrategias avanzadas de procesamiento de consultas de DBMS). Sin embargo, están limitados en muchas de las mismas formas que los sistemas relacionales. Primero, proporcionan una infraestructura de bajo nivel diseñada para procesar datos, no para administrarlos. Esto significa que simplemente proporcionan acceso a una colección de archivos: los usuarios deben asegurarse de que esos archivos sean consistentes, mantenerlos a lo largo del tiempo y garantizar que los programas escritos sobre los datos continúen funcionando incluso a medida que los datos evolucionan. Por supuesto, los desarrolladores pueden crear soporte de gestión de datos sobre estas plataformas; desafortunadamente, mucho de lo que se está construyendo (Hive o HBase, por ejemplo) básicamente parece estar recreando DBMS, en lugar de resolver los nuevos problemas que (en mi opinión) están en el meollo de los grandes datos. Además, estos sistemas proporcionan un soporte bastante deficiente para el problema "demasiado rápido" porque están orientados a procesar grandes bloques de datos replicados basados ​​en disco a la vez, lo que dificulta la obtención de respuestas de baja latencia.
Resultado de imagen para mapreduce

EL ESTADO DEL ARTE


¿A dónde nos lleva esto? Las herramientas existentes no se prestan a un análisis de datos sofisticado a la escala que a muchos usuarios les gustaría. Las herramientas como SAS, R y Matlab admiten análisis relativamente sofisticados, pero no están diseñadas para escalar a conjuntos de datos que exceden incluso la memoria de una sola máquina. Las herramientas diseñadas para escalar, como los DBMS relacionales y Hadoop, no son compatibles con estos métodos listos para usar.
Además, ni los DBMS ni MapReduce son buenos para manejar los datos que llegan a altas velocidades, proporcionando poco soporte inmediato para técnicas como aproximación, algoritmos sublineales o de paso único o muestreo que pueden ayudar a los usuarios a ingerir grandes volúmenes de datos.
Varios proyectos de investigación están tratando de cerrar la brecha entre las plataformas de procesamiento de datos a gran escala, como DBMS y MapReduce, y los paquetes de análisis como SAS, R y Matlab. Por lo general, estos toman uno de tres enfoques: extender el modelo relacional, extender el modelo MapReduce / Hadoop o construir algo completamente diferente.
En el campo relacional se encuentran proveedores tradicionales como Oracle, con productos como sus extensiones de minería de datos, así como nuevas empresas como Greenplum con su proyecto MadSkills (consulte http://db.cs.berkeley.edu/papers/vldb09-madskills. pdf ). Estos esfuerzos buscan explotar las características de extensibilidad de los motores relacionales para implementar varios algoritmos de minería de datos, aprendizaje automático y estadísticos dentro del DBMS. Este enfoque permite que las operaciones se realicen dentro del DBMS, cerca de los datos, y que a veces se ejecuten en paralelo. Sin embargo, muchos usuarios prefieren no ser programadores de SQL, y algunos algoritmos iterativos no se pueden expresar fácilmente como operaciones paralelas en SQL.
En el frente de MapReduce, se están realizando numerosos esfuerzos. Probablemente el más conocido es Apache Mahout, que proporciona un marco para ejecutar muchos algoritmos de aprendizaje automático (en su mayoría) sobre MapReduce. Otros sistemas similares a MapReduce incluyen UC Berkeley's Spark, HaLoop de la Universidad de Washington, Twister de la Universidad de Indiana y Project Daytona de Microsoft. Estos sistemas brindan un mejor soporte para ciertos tipos de algoritmos estadísticos iterativos dentro de un modelo de programación similar a MapReduce, pero aún carecen de las características de administración de datos de los sistemas de bases de datos.
Resultado de imagen para el estado del arte en big data

IC da la bienvenida a un nuevo miembro de la Junta

Anirban Mahanti es investigador principal en National ICT Australia (NICTA), el centro de excelencia de Australia en investigación de TIC. Sus intereses de investigación son la evaluación del desempeño de sistemas distribuidos y redes de computadoras, con actividades de investigación actuales enfocadas en la distribución de contenido escalable, mediciones de red y TIC para el desarrollo. Mahanti tiene un BE en ciencias de la computación e ingeniería del Birla Institute of Technology, India, y una maestría y doctorado en ciencias de la computación de la Universidad de Saskatchewan, Canadá. Ha servido en el comité del programa de varias conferencias de primer nivel, incluyendo World Wide Web, IFIP Performance y ACM SIGMETRICS. Es miembro de la ACM y presidente de la membresía del IEEE STC sobre Computación Sostenible.
Finalmente, en el nuevo frente de sistemas, paquetes como GraphLab del grupo de Carlos Guestrin en la Universidad Carnegie Mellon o el proyecto SciDB (con el que estoy involucrado) tienen como objetivo proporcionar una plataforma escalable para abordar algunas o todas estas preocupaciones. Aunque estos sistemas eventualmente podrían resolver el problema, todavía tienen un largo camino por recorrer. GraphLab proporciona un marco escalable para resolver algunos algoritmos de aprendizaje automático iterativos basados ​​en gráficos, pero no es una plataforma de gestión de datos, y requiere que los conjuntos de datos encajen en la memoria. SciDB es una gran visión que admitirá la integración con lenguajes imperativos de alto nivel, una variedad de algoritmos, escala masiva, datos residentes en disco, etc., pero aún está en su infancia.
Resultado de imagen para anirban mahanti

¿Lo que queda?

Todos estos sistemas representan un gran paso en la dirección correcta. Sin embargo, se necesita mucho más. Primero, parte de la locura de los grandes datos es que los CIO y sus semejantes exigen una "percepción" de los datos; En realidad, generar esa idea puede ser muy complicado. Los algoritmos de aprendizaje automático son potentes, pero a menudo requieren una considerable sofisticación del usuario, especialmente con respecto a la selección de características para el entrenamiento y la elección de la estructura del modelo (por ejemplo, para regresión o en modelos gráficos). Muchos de nuestros estudiantes aprenden las matemáticas detrás de estos modelos, pero no desarrollan las habilidades necesarias para usarlos de manera efectiva en la práctica en grandes conjuntos de datos.
En segundo lugar, creo que todas estas herramientas se quedan cortas en el frente de la usabilidad. Los DBMS hacen un gran trabajo ayudando a un usuario a mantener y conservar un conjunto de datos, agregando nuevos datos a lo largo del tiempo, manteniendo vistas derivadas de los datos, evolucionando su esquema y respaldando el respaldo, la alta disponibilidad y la consistencia de varias maneras. Sin embargo, forzar a los algoritmos a un marco declarativo y relacional no es natural, y los usuarios prefieren formas más convencionales e imperativas de pensar sobre sus algoritmos. Además, muchas bases de datos brindan una dolorosa experiencia lista para usar, que requiere una fase lenta de "importación" antes de que los usuarios puedan hacer cualquier exploración de datos. Las herramientas basadas en MapReduce proporcionan un modelo de programación más convencional, la capacidad de comenzar rápidamente el análisis sin una fase de importación lenta y una mejor separación entre los motores de almacenamiento y ejecución. Sin embargo, carecen de muchos de los lazos de gestión de datos de una base de datos. Además, ninguna de estas plataformas proporciona las herramientas exploratorias necesarias para visualizar datos y modelos, o comprender de dónde provienen los resultados o por qué los modelos no funcionan.
En resumen, aunque las bases de datos no resuelven todos los aspectos del problema de Big Data, varias herramientas, algunas basadas en bases de datos, se encuentran a mitad de camino. Lo que falta es doble: en primer lugar, debemos mejorar las estadísticas y los algoritmos de aprendizaje automático para que sean más sólidos y fáciles de aplicar para usuarios poco sofisticados, al tiempo que capacitamos a los estudiantes en sus complejidades. En segundo lugar, necesitamos desarrollar un ecosistema de administración de datos en torno a estos algoritmos para que los usuarios puedan administrar y evolucionar sus datos, aplicar propiedades de consistencia sobre ellos y navegar, visualizar y comprender los resultados de sus algoritmos.
Resultado de imagen para lo que queda del big data
Referencias Madden, S. (2012). From databases to big data. IEEE Internet Computing16(3), 4-6.

        Bibliografias Madden, S. (2012). From databases to big data. IEEE Internet Computing16(3), 4-6.