SlideShare uma empresa Scribd logo
1 de 94
Baixar para ler offline
Cloud Computing:
Amazon Web Services,
  Apache Hadoop y
      Widgets
Previously…
Previously…
Así que ahora…




    Fotografía publicada bajo Creative Commons por el usuario santi_martin en flickr:
     http://www.flickr.com/photos/santi_martin/2944882285/
¿Y ahora?




            ?
Cuando no todo es CRUDo
   Emergencia en la web 2.0
       o   Los datos puros no son lo único.
Cuando no todo es CRUDo
   Emergencia en la web 2.0
       o   Las entradas del usuario pueden
           generar cambios.
Cuando no todo es CRUDo
   Emergencia en la web 2.0
       o   Los algoritmos suelen ser costosos
Cuando no todo es CRUDo
   Emergencia en la web 2.0
     o   Normalmente se cachean los resultados
     o   Permite una mayor separación de capas
     o   Alivia la carga al ejecutarse una sola vez
     o   Presenta problemas de actualización
     o   Cacheando solo parte (Google, la Wikipedia
         y otros RSS)
Los caminos de la escalada
    Hardware
     o   Mayor potencia de cálculo
     o   Escalado de una máquina (límite tecnológico)
     o   Granjas de servidores (dificultades lógicas)

    Software
     o   Necesidades especiales
     o   Aprovechamiento del multiprocesador
     o   Aprovechamiento de las redes
Los caminos de la escalada
    Hardware
     o   Límites tecnológicos de crecimiento
     o   Complicado mantenimiento de instalaciones
     o   Dispositivos no triviales (SANs, gestión avanzada de
         redes, equipos con características especiales…)
     o   Dificultades de administración
     o   Costes de almacenaje y acondicionamiento.
     o   Resistencia a fallos.
Los caminos de la escalada
    Software
     o   Dificultad de programación a través de redes.
     o   Estrategia bottom-up:
         •   División del problema
         •   Composición de las soluciones
     o   Deformación del uniproceso.
     o   Dificultad de mantenimiento.
     o   Registro de errores
Cloud Computing
Cloud Computing
    El nuevo paradigma de computación
     distribuida
     o   Los recursos (CPU, Disco...) se comparten a
         traves de Internet.
     o   Virtualización de dispositivos
     o   Desarrollo de estrategias de tolerancia a
         fallos
     o   Independencia de plataforma
Cloud Computing
    Computación distribuida a la Web 2.0
     o   Software as a Service
     o   Uso de tecnologías web (SOAP, Rest, Ajax...)
         estándar
     o   Minimización de soluciones ad-hoc
     o   Mezcla de diversos servicios
     o   Trabajo en entornos heterogéneos
Cloud Computing
    Ejecución remota
     o   Aplicaciones completas sin apenas recursos
             Ideal para entornos RIA (Air, XUL...)
             Widgets
             El caso Spotify
     o   Ideal para dispositivos móviles (iPhone,
         Android...)
     o   Actualizaciones instantáneas
     o   Independencia de localización
Cloud Computing
    Ventajas
     o   Liberación de carga computacional
     o   Simplificación de infraestructura
     o   Ahorro de costes
     o   Persistencia de servicios (datos,
         aplicaciones)
     o   Independencia de localización
     o   Facilidad de adopción de aplicaciones
Cloud Computing
    Inconvenientes
     o   Dependencia de la red
     o   Dependencia de terceros (caso GMail)
     o   Falta de control (polémica Facebook)
     o   Riesgos de seguridad
Cloud Computing
    ¿Quien habla de esto?
Cloud Computing
    ¿Quien habla de esto?




              ¿Futura Web 2.0?
Cloud Computing
    ¿Quien juega a esto?
     o   Google (Google Apps)
     o   Sun (Sun Grid, Sun Cloud)
     o   Amazon (Amazon Web Services: EC2, S3,
         SimpleDB...)
     o   Microsoft (Azure)
     o   Apache (CouchDB, Hadoop)
     o   Yahoo! (Open Social, Pipes, Y!OS)
Amazon EC2
Amazon EC2
    ¿Qué es Amazon EC2?
     o   Infraestructura en la nube
     o   Instalación de máquinas virtuales para
         ejecución de procesos
     o   Total control de administración sobre la
         máquina virtual remota
     o   Amazon proporciona los servicios de
         escalabilidad y fiabilidad del servicio
Amazon EC2
    ¿Cómo conectarse a Amazon EC2?
     o   http://aws.amazon.com/ec2/
     o   AWS Management Console: https://
         console.aws.amazon.com/
     o   Versión Beta de una interfaz central de
         administración para AWS
Amazon EC2
    ¿Cómo dar de alta una máquina en Amazon
     EC2?
     o   Máquinas virtuales: Amazon Machine Image
     o   Lanzamos una nueva instancia
     o   Seleccionamos la imagen
         o   Plataforma.
         o   Número de instancias
         o   Capacidad de la máquina
         o   Keypair a usar
Amazon EC2
    Personalización de las AMIs
     o   Se pueden crear AMIs personalizadas
     o   A partir de Máquinas Windows
     o   Facilidad para crear máquinas replicadas
Amazon EC2
    Elastic Block Store
     o   Posibilidad de crear volúmenes compartidos
         entre las instancias
     o   Se comportan como un disco normal
         •   Formatear
         •   Montar/Desmontar
         •   RAID

     o   Se pueden crear copias de seguridad
Amazon EC2
    Elastic IPs
     o   Mecanismo para hacer el servicio
         independiente de la instancia
     o   Enmascaran el acceso a una máquina
         mediante una IP pública
     o   Facilidad para recuperación de errores y alta
         disponibilidad
Amazon EC2
    Seguridad
     o   Creación de KeyPairs para acceso por SSH
     o   Creación de grupos de seguridad
         o   Tipo de conexión
         o   Ancho de banda
Amazon EC2
    API
     o   Como todo Amazon Web Service tiene API
     o   Permite acceder a los recursos vistos antes
     o   Permite crear aplicaciones de gestión
     o   ¿Ausencia de interfaz de administración?
Amazon S3
Amazon S3
    ¿Qué es Amazon S3?
     o   Sistema de almacenamiento de ficheros en
         la nube
     o   Creación de carpetas
     o   Subida de ficheros
     o   Análogo al FTP
Amazon S3
    Conceptos
     o   Buckets
     o   Directorios
     o   Ficheros
     o   Permisos
Amazon S3
    API
     o   Como todo Amazon Web Service tiene API
     o   Permite crear/listar/actualizar/eliminar
         buckets, directorios, ficheros…
     o   ¿Ausencia de interfaz de administración?
    Otros accesos
     o   HTTP
     o   Protocolo s3
Apache Hadoop
Apache Hadoop
    ¿Qué es Apache Hadoop?
     o   Plataforma de computación distribuida
     o   Desarrollada sobre la plataforma Java
     o   “Implementación” open-source basada en:
         •   Google FileSystem
         •   Google MapReduce
Apache Hadoop
    HDFS
     o   Hadoop's Distributed File System
     o   Diseñado para detección de fallos y
         recuperación automática
     o   Acceso a modo streaming
     o   Soporte para grandes conjuntos de datos.
     o   Optimizado para lecturas
     o   Multiplataforma
Apache Hadoop
    MapReduce
     o   Arquitectura de computación distribuida
     o   Mútiples implementaciones (Google,
         Hadoop, CouchDB, Facebook Hive…)
     o   Basado en la estrategia dividir-vencer
Apache Hadoop
    MapReduce
                  Realiza una primera         Realiza una segunda
               computación devolviendo computación sobre esos
                 resultados intermedios      resultados intermedios
                          Map       Resultados     Reduce
                                   intermedios



     Input                                                            Output




 Ficheros    [K1, V1]            [K2, V2]                  [K3, V3]    Ficheros
Apache Hadoop
    MapReduce
     o   No todos los problemas son aplicables a este modelo
     o   La entrada debe ser fácilmente divisible
     o   Los resultados deben poder ser agregados
    CouchDB y MapReduce
     o   ¿Se reconoce la estructura?
     o   Map: Obtener los resultados
     o   Reduce: Realizar operaciones sobre los resultados
         intermedios
Apache Hadoop
    El Framework

                        Map    Resultados   Reduce
                              intermedios



     Input                                                      Output




 Ficheros    [K1, V1]         [K2, V2]               [K3, V3]    Ficheros
Apache Hadoop
    El Framework
     o   InputFormat y RecordReader
         •   Juntos se encargan de dividir los datos de entrada
         •   Devuelven registros
         •   Especifican los tipos de las claves y valores de
             entrada al algoritmo Map
Apache Hadoop
    El Framework

                        Map    Resultados   Reduce
                              intermedios



     Input                                                      Output




 Ficheros    [K1, V1]         [K2, V2]               [K3, V3]    Ficheros
Apache Hadoop
    El Framework
     o   Mapper
         •   Implementa la fase Map del algoritmo
         •   Se invoca el método “map” una vez por cada
             registro (Record)
         •   Recibe pares clave/valor del tipo especificado por
             el RecordReader
         •   Devuelve pares clave/valor de nuevos tipos
Apache Hadoop
    El Framework
     o   Combiner
         •   Reagrupa los resultados intermedios
         •   Reduce el tamaño de los datos a enviar de una
             fase a otra al ejecutar operaciones para agrupar
             los resultados
         •   Dependiendo del problema no resulta viable
         •   Envía los resultados agregados a la fase Reduce
Apache Hadoop
    El Framework

                        Map    Resultados   Reduce
                              intermedios



     Input                                                      Output




 Ficheros    [K1, V1]         [K2, V2]               [K3, V3]    Ficheros
Apache Hadoop
    El Framework
     o   Reducer
         •   Implementa la fase Reduce del Algoritmo
         •   Recibe pares clave/valor del tipo especificado por
             la fase Map
         •   Devuelve pares clave/valor de nuevos tipos
Apache Hadoop
    El Framework

                Map    Resultados   Reduce
                      intermedios



     Input                                   Output
Apache Hadoop
    El Framework
     o   JobConf
         •   Configuración del trabajo distribuido
         •   Permite especificar Mappers, Reducers,
             InputFormats…
         •   Permite especificar opciones ad-hoc
Apache Hadoop
    El Framework
     o   Tool
         •   Crea las configuraciones de trabajos
         •   Permite crear más de un trabajo distribuido
Apache Hadoop
    El Framework… ¿Y si no quiero Java?
     o   Modo Streaming
         •   Permite usar lenguajes “de script” (PHP, Python,
             Ruby…)
         •   Especificamos un Mapper y un Reducer
         •   Los datos se pasan a los scripts, que se ejecutan
Apache Hadoop
    Creando un cluster
     1.       Preparando todas las máquinas
          o      Instalar soporte para Hadoop
          o      Copiar algoritmos necesarios
          o      Modificar hadoop-env.sh: Indicar JAVA_HOME
Apache Hadoop
    Creando un cluster
     1.       Configurando el cluster
          o      NameNode: Nodo encargado de gestionar el
                 sistema de ficheros distribuido de Apache
          o      JobTracker: Nodo encargado de gestionar los
                 trabajos pendientes
Apache Hadoop
    Creando un cluster
     1.       Configurando el cluster
          o      Hadoop-site.xml

     <property>
         <name>fs.default.name</name>
         <value>hdfs://{{IP del NameNode}}:{{Puerto del
     NameNode}}</value>
         <description>La URI del sistema de ficheros.
     </description>
     </property>
Apache Hadoop
    Creando un cluster
     1.       Configurando el cluster
          o      Hadoop-site.xml

     <property>
         <name>mapred.job.tracker</name>
         <value>{{IP del JobTracker}}:{{Puerto del
     JobTracker}}</value>
         <description>El host y el puerto donde correra el
     jobTracker.
         </description>
     </property>
Apache Hadoop
    Creando un cluster
     1.       Configurando el cluster
          o      masters / slaves: ficheros en que se indican
                 maestros y esclavos
Apache Hadoop
    Creando un cluster
     1.       Iniciar el cluster
          o       bin/start-all.sh
Amazon Map/Reduce
Amazon Map/Reduce
    Storm Computing

                       EC2

       Hadoop                S3
Amazon Map/Reduce
    Storm Computing

                       EC2

       Hadoop                       S3

                Amazon Map/Reduce
Amazon Map/Reduce
    Falta de acoplamiento
     o   Amazon EC2 incorpora la infraestructura
         necesaria
     o   Apache Hadoop nos proporciona un
         framework para desarrollar algoritmos para
         procesar grandes conjuntos de datos
     o   Amazon S3 nos permite almacenar grandes
         cantidades de ficheros asegurando la
         disponibilidad
Amazon Map/Reduce
    ¿Qué es Amazon Map/Reduce?
     o   Servicio Web de Amazon para implementar
         algoritmos Map/Reduce
     o   Nos permite crear trabajos de Apache
         Hadoop que operen sobre datos de Amazon
         S3, en instancias de Amazon EC2.
Amazon Map/Reduce
    ¿Cómo funciona Amazon Map/Reduce?
     1.       Configurando la entrada y la salida
          o      Cargamos los datos de entrada en Amazon S3
          o      Cargamos el algoritmo en Amazon S3
          o      Creamos el directorio de salida en Amazon S3
Amazon Map/Reduce
     ¿Cómo funciona Amazon Map/Reduce?
      1.       Cargando el algoritmo
           o      Hay que compilar nuestro algoritmo en un .jar
javac
    -classpath ${HADOOP_HOME}/hadoop-${HADOOP_VERSION}-
core.jar
    -d output_directory
    WordCount.java

jar
      -cvf output_file.jar
      -C output_directory/ .
Amazon Map/Reduce
    ¿Cómo funciona Amazon Map/Reduce?
     1.       Creamos el trabajo
          o      En la AWS Console
          o      “Create new Job Flow ”
          o      Elegimos el tipo de algoritmo
          o      Elegimos la entrada y la salida
Amazon Map/Reduce
    ¿Cómo funciona Amazon Map/Reduce?
     1.       Creamos las instancias
          o      Elegimos número de instancias
          o      Elegimos tipo de instancias
Amazon Map/Reduce
    ¿Cómo funciona Amazon Map/Reduce?
     1.       Ejecutamos
          o      Ventana de Estado en la AWS Console
          o      Salida en directorios de Amazon S3
Widgets
Widgets
    ¿Dónde está la nube?
Widgets
    ¿Dónde está la nube?
Widgets
    ¿Que perciben los usuarios?
     o Las revoluciones
       deben afectar a los
       usuarios

     o Percepción
       indirecta (mejores
       servicios)

     o ¿Percepción
       directa?
Widgets
  Cloud Computing para los usuarios
   o Mayor uso de servicios alojados en la web

   o Mayor interconexión entre servicios

   o Acceso ubicuo

   o Difuminar el acceso a la siguiente capa:

               •   ¿Quién se conecta?
               •   ¿Cuando?
               •   ¿A donde?
Widgets
  Cloud Computing para los usuarios
Widgets
  Cloud Computing para los usuarios




                        Widget
Widgets
  ¿Qué es un Widget?
 portable chunk of code that can be installed and executed within any
   separate HTML-based web page by an end user without requiring
                    additional compilation. - Wikipedia

   o Facilidad de instalacion

   o Uso de Servicios Web y Ajax para interacción con el
     widget

   o Dependencia de la aplicación de terceros

   o Nosotros somos la nube
Widgets
  Plataformas de Widgets
   o Aplicaciones web específicas para ejecución de Widgets

   o API de desarrollo

   o Funciones sociales para ordenación y filtrado de Widgets

   o Ejemplos:

                 •   DockBar
                 •   Netvibes
                 •   iGoogle
                 •   Blogger
Google Gadgets
  Google Gadget
   o Plataforma de Widgets de Google

   o Distribución por Orkut, Google Desktop o iGoogle

   o Publicables en cualquier página web.

   o Mllones de potenciales usuarios

   o Desarrollo con HTML y Javascipt

   o API:
     http://code.google.com/intl/en/apis/gadgets/docs/dev_gui
     de.html
Google Gadgets
  Hello World!

    <?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?>
    <Module>
      <ModulePrefs title=quot;hello world examplequot; />
      <Content type=quot;htmlquot;>
         <![CDATA[
           Hello, world!
         ]]>
      </Content>
    </Module>



   o ModulePrefs: Datos sobre el widget

   o <![CDATA[ ----- contenido ------ ]]>
Google Gadgets
  Content
   o Sección central del widget

   o Opción 1: Implementar vista y lógica con HTML y
     Javascript (<content type=”html”>)
   <Content type=quot;htmlquot;><![CDATA[ contenido ]]></Content>


   o Opción 2: Implementar vista y lógica en una aplicación
     web en un servidor y enlazar a ella (<content type=”url”
     href=”...”>)
   <Content type=“url“ href=“…” />
Google Gadgets
  Obteniendo datos
       gadgets.io.makeRequest(url, response, params);


   o Realiza petición a una URL

   o Se ejecuta un callback tras la petición donde se procesan
     los resultados.
                    function response(obj)


    o obj.data = Datos parseados

    o obj.errors = Errores

    o obj.text = Texto de la respuesta
Google Gadgets
  Obteniendo datos
   o Tipos de datos esperados

       • Text: gadgets.io.ContentType.TEXT

       • Dom: gadgets.io.ContentType.DOM

       • Json: gadgets.io.ContentType.JSON

       • Feed: gadgets.io.ContentType.FEED

   o Influyen en el parseo de la respuesta
Google Gadgets
  Obteniendo datos
    o Tipos de datos esperados

        • Text: gadgets.io.ContentType.TEXT

        • Dom: gadgets.io.ContentType.DOM

        • Json: gadgets.io.ContentType.JSON

        • Feed: gadgets.io.ContentType.FEED

    o Influyen en el parseo de la respuesta
Google Gadgets
  Obteniendo datos
  <script type=quot;text/javascriptquot;>
    function consultarDBs(){
       var params = {};
       params[gadgets.io.RequestParameters.CONTENT_TYPE] =
  gadgets.io.ContentType.JSON;
       var url = quot;http://host/_all_dbsquot;;
       gadgets.io.makeRequest(url, cargarDBs, params);
  }
    function cargarDBs(obj){
     var html = quot;<ul>quot;;
     for (var key in obj.data)
     {
        html += quot;<li>quot;+ obj.data[key] + quot;</li>quot;;
     }
     document.getElementById('dbs').innerHTML = html;
  }
  </script>
Google Gadgets
  ¡¡¡¡ gagdets.io is not defined !!!!
    o Parte del nuevo API de Google Gadget

    o Aún no soportado por iGoogle

        • Soportado por otros: http://
          wiki.opensocial.org/index.php?title=Cross-
          container_Development#Containers

    o Disponible en el sandbox de desarrollo: http://
      www.google.com/ig/sandbox
Google Gadgets
  Enviando información

   o Método de petición como parámetro de la
     Request
  <script type=quot;text/javascriptquot;>
    function sendData(data){
      var params = {};
      params[gadgets.io.RequestParameters.METHOD] =
  gadgets.io.MethodType.POST;
  params[gadgets.io.RequestParameters.POST_DATA] = data;
       var url = quot;http://host/_all_dbsquot;;
      gadgets.io.makeRequest(url, callback, params);
  }
    function callback(obj){...}
  </script>
Google Gadgets
  Enviando información

   o Métodos de generación de JSON:

  var data = {};

  data['title'] = “sacando datos a JSON”;

  gadgets.json.stringify(data)


           {quot;titlequot;:“Sacando datos a JSONquot;}
Google Gadgets
  Actualizando la información

   o Google optimiza los gadgets a través de la
     caché

   o Para evitarlo podemos modificar la URL con
     parámetros extra

   o Problemas con algunos Servicios REST
     (CouchDB, por ejemplo)
Google Gadgets
  Vistas

   o Los contenedores suelen tener distintas vistas
     para los Gadgets

   o iGoogle posee: “home” (pequeño) y “canvas”
     (grande)

   o Se pueden especificar contenidos para distintas
     vistas.
Google Gadgets
  Vistas
  <?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?>
  <Module>
    <ModulePrefs title=quot;Multiple Views Demoquot;>
      <Require feature=quot;opensocial-0.8quot; />
    </ModulePrefs>
    <Content type=quot;htmlquot; view=quot;homequot;>
      <![CDATA[      Esto en pequeño    ]]>
    </Content>
    <Content type=quot;htmlquot; view=quot;canvasquot;>
       <![CDATA[      Esto en grande    ]]>
    </Content>
  </Module>
Google Gadgets
  Vistas

   o Se puede cambiar de vista desde código


 var vistas = gadgets.views.getSupportedViews();

 gadgets.views.requestNavigateTo(vistas[vista_deseada]);
Conclusiones
Conclusiones
    Sobre el Cloud Computing
     o   ¿Compensa?
     o   ¿Mera reformulación de la computación
         distribuida?
     o   ¿Uso empresarial de Gadgets?
     o   Problemas de Amazon EC2
     o   Problemas de Hadoop
     o   Problemas de Google Gadget
Conclusiones


         Dudas y comentarios a
       docencia@davidjbrenes.info
Conclusiones
 Estas transparencias se publican bajo licencia
 Creative Commons y se pueden redistribuir o
 modificar bajo las siguientes condiciones:

   1. Se dé reconocimiento al autor de estas
      transparencias.
   2. No se use con propósitos comerciales.
   3. Se distribuya con la misma licencia.

 Texto de la licencia:
 http://creativecommons.org/licenses/by-nc-sa/3.0/

Mais conteúdo relacionado

Mais procurados

Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2Valentin Leonard Tabacaru
 
Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...Joseph Lopez
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeEduardo Castro
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012dbLearner
 
Alta disponiblidad en SQL Server 2012
Alta disponiblidad en SQL Server 2012Alta disponiblidad en SQL Server 2012
Alta disponiblidad en SQL Server 2012Eduardo Castro
 
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG) Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)SolidQ
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosSpanishPASSVC
 
Obtenga Alto Rendimiento con Oracle Database 11g R2
Obtenga Alto Rendimiento con Oracle Database 11g R2Obtenga Alto Rendimiento con Oracle Database 11g R2
Obtenga Alto Rendimiento con Oracle Database 11g R2Valentin Leonard Tabacaru
 
4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XMLJuan Carlos Rubio Pineda
 
Always On y grupos de disponibilidad SQL Server 2012
Always On y grupos de disponibilidad SQL Server 2012Always On y grupos de disponibilidad SQL Server 2012
Always On y grupos de disponibilidad SQL Server 2012SolidQ
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadIván Campaña Naranjo
 
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...Eduardo Castro
 
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Miguel Gallardo
 
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...EAE
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerSpanishPASSVC
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosJoseph Lopez
 
Monitorizando y optimizando problemas de paralelismo en SQL Server | SolidQ S...
Monitorizando y optimizando problemas de paralelismo en SQL Server | SolidQ S...Monitorizando y optimizando problemas de paralelismo en SQL Server | SolidQ S...
Monitorizando y optimizando problemas de paralelismo en SQL Server | SolidQ S...SolidQ
 
Aplicaciones escalables en la nube: mentiras y verdades
Aplicaciones escalables en la nube: mentiras y verdadesAplicaciones escalables en la nube: mentiras y verdades
Aplicaciones escalables en la nube: mentiras y verdadesEnrique Catala Bañuls
 

Mais procurados (20)

Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2Consiga Alta Disponibilidad con Oracle Database 11g R2
Consiga Alta Disponibilidad con Oracle Database 11g R2
 
Sitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidadSitios web de alto rendimiento y alta disponibilidad
Sitios web de alto rendimiento y alta disponibilidad
 
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
Estableciendo escenarios de Alta Disponibilidad en las empresas de hoy con MS...
 
SQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nubeSQL Server 2014 infraestructura hibrida y nube
SQL Server 2014 infraestructura hibrida y nube
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012
 
Alta disponiblidad en SQL Server 2012
Alta disponiblidad en SQL Server 2012Alta disponiblidad en SQL Server 2012
Alta disponiblidad en SQL Server 2012
 
Oracle rac
Oracle racOracle rac
Oracle rac
 
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG) Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
Otras Novedades (Always Encrypted, Row-Level Security, Mejoras AG)
 
Mejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizadosMejores prácticas para SQL Server en ambientes virtualizados
Mejores prácticas para SQL Server en ambientes virtualizados
 
Obtenga Alto Rendimiento con Oracle Database 11g R2
Obtenga Alto Rendimiento con Oracle Database 11g R2Obtenga Alto Rendimiento con Oracle Database 11g R2
Obtenga Alto Rendimiento con Oracle Database 11g R2
 
4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML4/9 Curso JEE5, Soa, Web Services, ESB y XML
4/9 Curso JEE5, Soa, Web Services, ESB y XML
 
Always On y grupos de disponibilidad SQL Server 2012
Always On y grupos de disponibilidad SQL Server 2012Always On y grupos de disponibilidad SQL Server 2012
Always On y grupos de disponibilidad SQL Server 2012
 
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidadDrupal 7 para sitios de alto rendimiento y alta disponibilidad
Drupal 7 para sitios de alto rendimiento y alta disponibilidad
 
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
Cómo aumentar la disponibilidad y el rendimiento utilizando sql server 2012 w...
 
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
Arquitectura de las nuevas aplicaciones web: Como lograr escalabilidad, alta ...
 
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
Alta Disponibilidad y Recuperación ante de desastres en SQL Server 2012, 2014...
 
Mejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL ServerMejores prácticas de Data Warehouse con SQL Server
Mejores prácticas de Data Warehouse con SQL Server
 
SQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de DatosSQL Server 2014 y La Plataforma de Datos
SQL Server 2014 y La Plataforma de Datos
 
Monitorizando y optimizando problemas de paralelismo en SQL Server | SolidQ S...
Monitorizando y optimizando problemas de paralelismo en SQL Server | SolidQ S...Monitorizando y optimizando problemas de paralelismo en SQL Server | SolidQ S...
Monitorizando y optimizando problemas de paralelismo en SQL Server | SolidQ S...
 
Aplicaciones escalables en la nube: mentiras y verdades
Aplicaciones escalables en la nube: mentiras y verdadesAplicaciones escalables en la nube: mentiras y verdades
Aplicaciones escalables en la nube: mentiras y verdades
 

Semelhante a Cloud Computing: Algoritmos en la Nube

Construcción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónConstrucción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónLoja Valle de Tecnología
 
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...Luis Bosque
 
Analitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataAnalitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataJosé Carlos García Serrano
 
Case final
Case finalCase final
Case finalbecko_sb
 
Taller de herramientas case
Taller de herramientas caseTaller de herramientas case
Taller de herramientas casebecko_sb
 
Sacale El Jugo A La Virtualizacion
Sacale El Jugo A La VirtualizacionSacale El Jugo A La Virtualizacion
Sacale El Jugo A La VirtualizacionPablo Campos
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupalcamposer
 
Codecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeCodecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeNicolas Padula
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSAmazon Web Services LATAM
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaDavid J. Brenes
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Cacti desde-paquetes
Cacti desde-paquetesCacti desde-paquetes
Cacti desde-paquetesRenè Grillet
 
Cacti desde-paquetes
Cacti desde-paquetesCacti desde-paquetes
Cacti desde-paquetestioe
 
Tecnicas Big Data: Meetup Cassandra
Tecnicas Big Data: Meetup CassandraTecnicas Big Data: Meetup Cassandra
Tecnicas Big Data: Meetup CassandraStratebi
 
Polybase
PolybasePolybase
PolybaseSolidQ
 
Red Hat Cloud Computing
Red Hat Cloud ComputingRed Hat Cloud Computing
Red Hat Cloud ComputingGrupo Logica
 
M04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdrussellmrr
 

Semelhante a Cloud Computing: Algoritmos en la Nube (20)

Construcción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-DistribuciónConstrucción de Aplicaciones de Avanzada con Geo-Distribución
Construcción de Aplicaciones de Avanzada con Geo-Distribución
 
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
Alto rendimiento y escalabilidad en plataformas Rails: Casos prácticos. Soluc...
 
Analitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big dataAnalitica y toma de decisiones en tiempo real sobre plataformas big data
Analitica y toma de decisiones en tiempo real sobre plataformas big data
 
Case final
Case finalCase final
Case final
 
Taller de herramientas case
Taller de herramientas caseTaller de herramientas case
Taller de herramientas case
 
Introducción a hadoop
Introducción a hadoopIntroducción a hadoop
Introducción a hadoop
 
Sacale El Jugo A La Virtualizacion
Sacale El Jugo A La VirtualizacionSacale El Jugo A La Virtualizacion
Sacale El Jugo A La Virtualizacion
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
 
Codecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nubeCodecamp 2010 - Arquitecturas en la nube
Codecamp 2010 - Arquitecturas en la nube
 
Framework Catalyst
Framework CatalystFramework Catalyst
Framework Catalyst
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
Actividad 7
Actividad 7Actividad 7
Actividad 7
 
Cloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de PersistenciaCloud Computing: las nuevas Capas de Persistencia
Cloud Computing: las nuevas Capas de Persistencia
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
Cacti desde-paquetes
Cacti desde-paquetesCacti desde-paquetes
Cacti desde-paquetes
 
Cacti desde-paquetes
Cacti desde-paquetesCacti desde-paquetes
Cacti desde-paquetes
 
Tecnicas Big Data: Meetup Cassandra
Tecnicas Big Data: Meetup CassandraTecnicas Big Data: Meetup Cassandra
Tecnicas Big Data: Meetup Cassandra
 
Polybase
PolybasePolybase
Polybase
 
Red Hat Cloud Computing
Red Hat Cloud ComputingRed Hat Cloud Computing
Red Hat Cloud Computing
 
M04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bdM04 09 20_v05_plataformas_bd
M04 09 20_v05_plataformas_bd
 

Mais de David J. Brenes

Desarrollo rápido con PHP y Symfony (VI): Los formularios
Desarrollo rápido con PHP y Symfony (VI): Los formulariosDesarrollo rápido con PHP y Symfony (VI): Los formularios
Desarrollo rápido con PHP y Symfony (VI): Los formulariosDavid J. Brenes
 
Desarrollo rápido con PHP y Symfony (V): Las rutas
Desarrollo rápido con PHP y Symfony (V): Las rutasDesarrollo rápido con PHP y Symfony (V): Las rutas
Desarrollo rápido con PHP y Symfony (V): Las rutasDavid J. Brenes
 
Desarrollo rápido con PHP y Symfony (IV): El Modelo
Desarrollo rápido con PHP y Symfony (IV): El ModeloDesarrollo rápido con PHP y Symfony (IV): El Modelo
Desarrollo rápido con PHP y Symfony (IV): El ModeloDavid J. Brenes
 
Desarrollo rápido con PHP y Symfony (III): La vista
Desarrollo rápido con PHP y Symfony (III): La vistaDesarrollo rápido con PHP y Symfony (III): La vista
Desarrollo rápido con PHP y Symfony (III): La vistaDavid J. Brenes
 
Desarrollo rápido con PHP y Symfony (II): El controlador
Desarrollo rápido con PHP y Symfony (II): El controladorDesarrollo rápido con PHP y Symfony (II): El controlador
Desarrollo rápido con PHP y Symfony (II): El controladorDavid J. Brenes
 
Desarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a SymfonyDesarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a SymfonyDavid J. Brenes
 
Introducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open StrategyIntroducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open StrategyDavid J. Brenes
 
Introduccion a los Servicios Web Rest
Introduccion a los Servicios Web RestIntroduccion a los Servicios Web Rest
Introduccion a los Servicios Web RestDavid J. Brenes
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPDavid J. Brenes
 
Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0David J. Brenes
 
Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...David J. Brenes
 
Programación de Yahoo! Pipes
Programación de Yahoo! PipesProgramación de Yahoo! Pipes
Programación de Yahoo! PipesDavid J. Brenes
 
Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0David J. Brenes
 
Presentación Lectura TFMI
Presentación Lectura TFMIPresentación Lectura TFMI
Presentación Lectura TFMIDavid J. Brenes
 

Mais de David J. Brenes (16)

Desarrollo rápido con PHP y Symfony (VI): Los formularios
Desarrollo rápido con PHP y Symfony (VI): Los formulariosDesarrollo rápido con PHP y Symfony (VI): Los formularios
Desarrollo rápido con PHP y Symfony (VI): Los formularios
 
Desarrollo rápido con PHP y Symfony (V): Las rutas
Desarrollo rápido con PHP y Symfony (V): Las rutasDesarrollo rápido con PHP y Symfony (V): Las rutas
Desarrollo rápido con PHP y Symfony (V): Las rutas
 
Desarrollo rápido con PHP y Symfony (IV): El Modelo
Desarrollo rápido con PHP y Symfony (IV): El ModeloDesarrollo rápido con PHP y Symfony (IV): El Modelo
Desarrollo rápido con PHP y Symfony (IV): El Modelo
 
Desarrollo rápido con PHP y Symfony (III): La vista
Desarrollo rápido con PHP y Symfony (III): La vistaDesarrollo rápido con PHP y Symfony (III): La vista
Desarrollo rápido con PHP y Symfony (III): La vista
 
Desarrollo rápido con PHP y Symfony (II): El controlador
Desarrollo rápido con PHP y Symfony (II): El controladorDesarrollo rápido con PHP y Symfony (II): El controlador
Desarrollo rápido con PHP y Symfony (II): El controlador
 
Desarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a SymfonyDesarrollo rápido con PHP y Symfony (I): Introducción a Symfony
Desarrollo rápido con PHP y Symfony (I): Introducción a Symfony
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Introducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open StrategyIntroducción a la Yahoo! Open Strategy
Introducción a la Yahoo! Open Strategy
 
Yahoo! Query Language
Yahoo! Query LanguageYahoo! Query Language
Yahoo! Query Language
 
Introduccion a los Servicios Web Rest
Introduccion a los Servicios Web RestIntroduccion a los Servicios Web Rest
Introduccion a los Servicios Web Rest
 
Servicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHPServicio y Consumo de Servicios REST en PHP
Servicio y Consumo de Servicios REST en PHP
 
Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0Cloud Computing: Recursos de la Web 2.0
Cloud Computing: Recursos de la Web 2.0
 
Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...Automatic detection of navigational queries according to Behavioural Characte...
Automatic detection of navigational queries according to Behavioural Characte...
 
Programación de Yahoo! Pipes
Programación de Yahoo! PipesProgramación de Yahoo! Pipes
Programación de Yahoo! Pipes
 
Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0Yahoo! Pipes y la Web 2.0
Yahoo! Pipes y la Web 2.0
 
Presentación Lectura TFMI
Presentación Lectura TFMIPresentación Lectura TFMI
Presentación Lectura TFMI
 

Último

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 

Último (20)

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 

Cloud Computing: Algoritmos en la Nube

  • 1. Cloud Computing: Amazon Web Services, Apache Hadoop y Widgets
  • 4. Así que ahora… Fotografía publicada bajo Creative Commons por el usuario santi_martin en flickr: http://www.flickr.com/photos/santi_martin/2944882285/
  • 6. Cuando no todo es CRUDo  Emergencia en la web 2.0 o Los datos puros no son lo único.
  • 7. Cuando no todo es CRUDo  Emergencia en la web 2.0 o Las entradas del usuario pueden generar cambios.
  • 8. Cuando no todo es CRUDo  Emergencia en la web 2.0 o Los algoritmos suelen ser costosos
  • 9. Cuando no todo es CRUDo  Emergencia en la web 2.0 o Normalmente se cachean los resultados o Permite una mayor separación de capas o Alivia la carga al ejecutarse una sola vez o Presenta problemas de actualización o Cacheando solo parte (Google, la Wikipedia y otros RSS)
  • 10. Los caminos de la escalada  Hardware o Mayor potencia de cálculo o Escalado de una máquina (límite tecnológico) o Granjas de servidores (dificultades lógicas)  Software o Necesidades especiales o Aprovechamiento del multiprocesador o Aprovechamiento de las redes
  • 11. Los caminos de la escalada  Hardware o Límites tecnológicos de crecimiento o Complicado mantenimiento de instalaciones o Dispositivos no triviales (SANs, gestión avanzada de redes, equipos con características especiales…) o Dificultades de administración o Costes de almacenaje y acondicionamiento. o Resistencia a fallos.
  • 12. Los caminos de la escalada  Software o Dificultad de programación a través de redes. o Estrategia bottom-up: • División del problema • Composición de las soluciones o Deformación del uniproceso. o Dificultad de mantenimiento. o Registro de errores
  • 14. Cloud Computing  El nuevo paradigma de computación distribuida o Los recursos (CPU, Disco...) se comparten a traves de Internet. o Virtualización de dispositivos o Desarrollo de estrategias de tolerancia a fallos o Independencia de plataforma
  • 15. Cloud Computing  Computación distribuida a la Web 2.0 o Software as a Service o Uso de tecnologías web (SOAP, Rest, Ajax...) estándar o Minimización de soluciones ad-hoc o Mezcla de diversos servicios o Trabajo en entornos heterogéneos
  • 16. Cloud Computing  Ejecución remota o Aplicaciones completas sin apenas recursos  Ideal para entornos RIA (Air, XUL...)  Widgets  El caso Spotify o Ideal para dispositivos móviles (iPhone, Android...) o Actualizaciones instantáneas o Independencia de localización
  • 17. Cloud Computing  Ventajas o Liberación de carga computacional o Simplificación de infraestructura o Ahorro de costes o Persistencia de servicios (datos, aplicaciones) o Independencia de localización o Facilidad de adopción de aplicaciones
  • 18. Cloud Computing  Inconvenientes o Dependencia de la red o Dependencia de terceros (caso GMail) o Falta de control (polémica Facebook) o Riesgos de seguridad
  • 19. Cloud Computing  ¿Quien habla de esto?
  • 20. Cloud Computing  ¿Quien habla de esto? ¿Futura Web 2.0?
  • 21. Cloud Computing  ¿Quien juega a esto? o Google (Google Apps) o Sun (Sun Grid, Sun Cloud) o Amazon (Amazon Web Services: EC2, S3, SimpleDB...) o Microsoft (Azure) o Apache (CouchDB, Hadoop) o Yahoo! (Open Social, Pipes, Y!OS)
  • 23. Amazon EC2  ¿Qué es Amazon EC2? o Infraestructura en la nube o Instalación de máquinas virtuales para ejecución de procesos o Total control de administración sobre la máquina virtual remota o Amazon proporciona los servicios de escalabilidad y fiabilidad del servicio
  • 24. Amazon EC2  ¿Cómo conectarse a Amazon EC2? o http://aws.amazon.com/ec2/ o AWS Management Console: https:// console.aws.amazon.com/ o Versión Beta de una interfaz central de administración para AWS
  • 25. Amazon EC2  ¿Cómo dar de alta una máquina en Amazon EC2? o Máquinas virtuales: Amazon Machine Image o Lanzamos una nueva instancia o Seleccionamos la imagen o Plataforma. o Número de instancias o Capacidad de la máquina o Keypair a usar
  • 26. Amazon EC2  Personalización de las AMIs o Se pueden crear AMIs personalizadas o A partir de Máquinas Windows o Facilidad para crear máquinas replicadas
  • 27. Amazon EC2  Elastic Block Store o Posibilidad de crear volúmenes compartidos entre las instancias o Se comportan como un disco normal • Formatear • Montar/Desmontar • RAID o Se pueden crear copias de seguridad
  • 28. Amazon EC2  Elastic IPs o Mecanismo para hacer el servicio independiente de la instancia o Enmascaran el acceso a una máquina mediante una IP pública o Facilidad para recuperación de errores y alta disponibilidad
  • 29. Amazon EC2  Seguridad o Creación de KeyPairs para acceso por SSH o Creación de grupos de seguridad o Tipo de conexión o Ancho de banda
  • 30. Amazon EC2  API o Como todo Amazon Web Service tiene API o Permite acceder a los recursos vistos antes o Permite crear aplicaciones de gestión o ¿Ausencia de interfaz de administración?
  • 32. Amazon S3  ¿Qué es Amazon S3? o Sistema de almacenamiento de ficheros en la nube o Creación de carpetas o Subida de ficheros o Análogo al FTP
  • 33. Amazon S3  Conceptos o Buckets o Directorios o Ficheros o Permisos
  • 34. Amazon S3  API o Como todo Amazon Web Service tiene API o Permite crear/listar/actualizar/eliminar buckets, directorios, ficheros… o ¿Ausencia de interfaz de administración?  Otros accesos o HTTP o Protocolo s3
  • 36. Apache Hadoop  ¿Qué es Apache Hadoop? o Plataforma de computación distribuida o Desarrollada sobre la plataforma Java o “Implementación” open-source basada en: • Google FileSystem • Google MapReduce
  • 37. Apache Hadoop  HDFS o Hadoop's Distributed File System o Diseñado para detección de fallos y recuperación automática o Acceso a modo streaming o Soporte para grandes conjuntos de datos. o Optimizado para lecturas o Multiplataforma
  • 38. Apache Hadoop  MapReduce o Arquitectura de computación distribuida o Mútiples implementaciones (Google, Hadoop, CouchDB, Facebook Hive…) o Basado en la estrategia dividir-vencer
  • 39. Apache Hadoop  MapReduce Realiza una primera Realiza una segunda computación devolviendo computación sobre esos resultados intermedios resultados intermedios Map Resultados Reduce intermedios Input Output Ficheros [K1, V1] [K2, V2] [K3, V3] Ficheros
  • 40. Apache Hadoop  MapReduce o No todos los problemas son aplicables a este modelo o La entrada debe ser fácilmente divisible o Los resultados deben poder ser agregados  CouchDB y MapReduce o ¿Se reconoce la estructura? o Map: Obtener los resultados o Reduce: Realizar operaciones sobre los resultados intermedios
  • 41. Apache Hadoop  El Framework Map Resultados Reduce intermedios Input Output Ficheros [K1, V1] [K2, V2] [K3, V3] Ficheros
  • 42. Apache Hadoop  El Framework o InputFormat y RecordReader • Juntos se encargan de dividir los datos de entrada • Devuelven registros • Especifican los tipos de las claves y valores de entrada al algoritmo Map
  • 43. Apache Hadoop  El Framework Map Resultados Reduce intermedios Input Output Ficheros [K1, V1] [K2, V2] [K3, V3] Ficheros
  • 44. Apache Hadoop  El Framework o Mapper • Implementa la fase Map del algoritmo • Se invoca el método “map” una vez por cada registro (Record) • Recibe pares clave/valor del tipo especificado por el RecordReader • Devuelve pares clave/valor de nuevos tipos
  • 45. Apache Hadoop  El Framework o Combiner • Reagrupa los resultados intermedios • Reduce el tamaño de los datos a enviar de una fase a otra al ejecutar operaciones para agrupar los resultados • Dependiendo del problema no resulta viable • Envía los resultados agregados a la fase Reduce
  • 46. Apache Hadoop  El Framework Map Resultados Reduce intermedios Input Output Ficheros [K1, V1] [K2, V2] [K3, V3] Ficheros
  • 47. Apache Hadoop  El Framework o Reducer • Implementa la fase Reduce del Algoritmo • Recibe pares clave/valor del tipo especificado por la fase Map • Devuelve pares clave/valor de nuevos tipos
  • 48. Apache Hadoop  El Framework Map Resultados Reduce intermedios Input Output
  • 49. Apache Hadoop  El Framework o JobConf • Configuración del trabajo distribuido • Permite especificar Mappers, Reducers, InputFormats… • Permite especificar opciones ad-hoc
  • 50. Apache Hadoop  El Framework o Tool • Crea las configuraciones de trabajos • Permite crear más de un trabajo distribuido
  • 51. Apache Hadoop  El Framework… ¿Y si no quiero Java? o Modo Streaming • Permite usar lenguajes “de script” (PHP, Python, Ruby…) • Especificamos un Mapper y un Reducer • Los datos se pasan a los scripts, que se ejecutan
  • 52. Apache Hadoop  Creando un cluster 1. Preparando todas las máquinas o Instalar soporte para Hadoop o Copiar algoritmos necesarios o Modificar hadoop-env.sh: Indicar JAVA_HOME
  • 53. Apache Hadoop  Creando un cluster 1. Configurando el cluster o NameNode: Nodo encargado de gestionar el sistema de ficheros distribuido de Apache o JobTracker: Nodo encargado de gestionar los trabajos pendientes
  • 54. Apache Hadoop  Creando un cluster 1. Configurando el cluster o Hadoop-site.xml <property> <name>fs.default.name</name> <value>hdfs://{{IP del NameNode}}:{{Puerto del NameNode}}</value> <description>La URI del sistema de ficheros. </description> </property>
  • 55. Apache Hadoop  Creando un cluster 1. Configurando el cluster o Hadoop-site.xml <property> <name>mapred.job.tracker</name> <value>{{IP del JobTracker}}:{{Puerto del JobTracker}}</value> <description>El host y el puerto donde correra el jobTracker. </description> </property>
  • 56. Apache Hadoop  Creando un cluster 1. Configurando el cluster o masters / slaves: ficheros en que se indican maestros y esclavos
  • 57. Apache Hadoop  Creando un cluster 1. Iniciar el cluster o bin/start-all.sh
  • 59. Amazon Map/Reduce  Storm Computing EC2 Hadoop S3
  • 60. Amazon Map/Reduce  Storm Computing EC2 Hadoop S3 Amazon Map/Reduce
  • 61. Amazon Map/Reduce  Falta de acoplamiento o Amazon EC2 incorpora la infraestructura necesaria o Apache Hadoop nos proporciona un framework para desarrollar algoritmos para procesar grandes conjuntos de datos o Amazon S3 nos permite almacenar grandes cantidades de ficheros asegurando la disponibilidad
  • 62. Amazon Map/Reduce  ¿Qué es Amazon Map/Reduce? o Servicio Web de Amazon para implementar algoritmos Map/Reduce o Nos permite crear trabajos de Apache Hadoop que operen sobre datos de Amazon S3, en instancias de Amazon EC2.
  • 63. Amazon Map/Reduce  ¿Cómo funciona Amazon Map/Reduce? 1. Configurando la entrada y la salida o Cargamos los datos de entrada en Amazon S3 o Cargamos el algoritmo en Amazon S3 o Creamos el directorio de salida en Amazon S3
  • 64. Amazon Map/Reduce  ¿Cómo funciona Amazon Map/Reduce? 1. Cargando el algoritmo o Hay que compilar nuestro algoritmo en un .jar javac -classpath ${HADOOP_HOME}/hadoop-${HADOOP_VERSION}- core.jar -d output_directory WordCount.java jar -cvf output_file.jar -C output_directory/ .
  • 65. Amazon Map/Reduce  ¿Cómo funciona Amazon Map/Reduce? 1. Creamos el trabajo o En la AWS Console o “Create new Job Flow ” o Elegimos el tipo de algoritmo o Elegimos la entrada y la salida
  • 66. Amazon Map/Reduce  ¿Cómo funciona Amazon Map/Reduce? 1. Creamos las instancias o Elegimos número de instancias o Elegimos tipo de instancias
  • 67. Amazon Map/Reduce  ¿Cómo funciona Amazon Map/Reduce? 1. Ejecutamos o Ventana de Estado en la AWS Console o Salida en directorios de Amazon S3
  • 69. Widgets  ¿Dónde está la nube?
  • 70. Widgets  ¿Dónde está la nube?
  • 71. Widgets  ¿Que perciben los usuarios? o Las revoluciones deben afectar a los usuarios o Percepción indirecta (mejores servicios) o ¿Percepción directa?
  • 72. Widgets  Cloud Computing para los usuarios o Mayor uso de servicios alojados en la web o Mayor interconexión entre servicios o Acceso ubicuo o Difuminar el acceso a la siguiente capa: • ¿Quién se conecta? • ¿Cuando? • ¿A donde?
  • 73. Widgets  Cloud Computing para los usuarios
  • 74. Widgets  Cloud Computing para los usuarios Widget
  • 75. Widgets  ¿Qué es un Widget? portable chunk of code that can be installed and executed within any separate HTML-based web page by an end user without requiring additional compilation. - Wikipedia o Facilidad de instalacion o Uso de Servicios Web y Ajax para interacción con el widget o Dependencia de la aplicación de terceros o Nosotros somos la nube
  • 76. Widgets  Plataformas de Widgets o Aplicaciones web específicas para ejecución de Widgets o API de desarrollo o Funciones sociales para ordenación y filtrado de Widgets o Ejemplos: • DockBar • Netvibes • iGoogle • Blogger
  • 77. Google Gadgets  Google Gadget o Plataforma de Widgets de Google o Distribución por Orkut, Google Desktop o iGoogle o Publicables en cualquier página web. o Mllones de potenciales usuarios o Desarrollo con HTML y Javascipt o API: http://code.google.com/intl/en/apis/gadgets/docs/dev_gui de.html
  • 78. Google Gadgets  Hello World! <?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?> <Module> <ModulePrefs title=quot;hello world examplequot; /> <Content type=quot;htmlquot;> <![CDATA[ Hello, world! ]]> </Content> </Module> o ModulePrefs: Datos sobre el widget o <![CDATA[ ----- contenido ------ ]]>
  • 79. Google Gadgets  Content o Sección central del widget o Opción 1: Implementar vista y lógica con HTML y Javascript (<content type=”html”>) <Content type=quot;htmlquot;><![CDATA[ contenido ]]></Content> o Opción 2: Implementar vista y lógica en una aplicación web en un servidor y enlazar a ella (<content type=”url” href=”...”>) <Content type=“url“ href=“…” />
  • 80. Google Gadgets  Obteniendo datos gadgets.io.makeRequest(url, response, params); o Realiza petición a una URL o Se ejecuta un callback tras la petición donde se procesan los resultados. function response(obj) o obj.data = Datos parseados o obj.errors = Errores o obj.text = Texto de la respuesta
  • 81. Google Gadgets  Obteniendo datos o Tipos de datos esperados • Text: gadgets.io.ContentType.TEXT • Dom: gadgets.io.ContentType.DOM • Json: gadgets.io.ContentType.JSON • Feed: gadgets.io.ContentType.FEED o Influyen en el parseo de la respuesta
  • 82. Google Gadgets  Obteniendo datos o Tipos de datos esperados • Text: gadgets.io.ContentType.TEXT • Dom: gadgets.io.ContentType.DOM • Json: gadgets.io.ContentType.JSON • Feed: gadgets.io.ContentType.FEED o Influyen en el parseo de la respuesta
  • 83. Google Gadgets  Obteniendo datos <script type=quot;text/javascriptquot;> function consultarDBs(){ var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON; var url = quot;http://host/_all_dbsquot;; gadgets.io.makeRequest(url, cargarDBs, params); } function cargarDBs(obj){ var html = quot;<ul>quot;; for (var key in obj.data) { html += quot;<li>quot;+ obj.data[key] + quot;</li>quot;; } document.getElementById('dbs').innerHTML = html; } </script>
  • 84. Google Gadgets  ¡¡¡¡ gagdets.io is not defined !!!! o Parte del nuevo API de Google Gadget o Aún no soportado por iGoogle • Soportado por otros: http:// wiki.opensocial.org/index.php?title=Cross- container_Development#Containers o Disponible en el sandbox de desarrollo: http:// www.google.com/ig/sandbox
  • 85. Google Gadgets  Enviando información o Método de petición como parámetro de la Request <script type=quot;text/javascriptquot;> function sendData(data){ var params = {}; params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST; params[gadgets.io.RequestParameters.POST_DATA] = data; var url = quot;http://host/_all_dbsquot;; gadgets.io.makeRequest(url, callback, params); } function callback(obj){...} </script>
  • 86. Google Gadgets  Enviando información o Métodos de generación de JSON: var data = {}; data['title'] = “sacando datos a JSON”; gadgets.json.stringify(data) {quot;titlequot;:“Sacando datos a JSONquot;}
  • 87. Google Gadgets  Actualizando la información o Google optimiza los gadgets a través de la caché o Para evitarlo podemos modificar la URL con parámetros extra o Problemas con algunos Servicios REST (CouchDB, por ejemplo)
  • 88. Google Gadgets  Vistas o Los contenedores suelen tener distintas vistas para los Gadgets o iGoogle posee: “home” (pequeño) y “canvas” (grande) o Se pueden especificar contenidos para distintas vistas.
  • 89. Google Gadgets  Vistas <?xml version=quot;1.0quot; encoding=quot;UTF-8quot; ?> <Module> <ModulePrefs title=quot;Multiple Views Demoquot;> <Require feature=quot;opensocial-0.8quot; /> </ModulePrefs> <Content type=quot;htmlquot; view=quot;homequot;> <![CDATA[ Esto en pequeño ]]> </Content> <Content type=quot;htmlquot; view=quot;canvasquot;> <![CDATA[ Esto en grande ]]> </Content> </Module>
  • 90. Google Gadgets  Vistas o Se puede cambiar de vista desde código var vistas = gadgets.views.getSupportedViews(); gadgets.views.requestNavigateTo(vistas[vista_deseada]);
  • 92. Conclusiones  Sobre el Cloud Computing o ¿Compensa? o ¿Mera reformulación de la computación distribuida? o ¿Uso empresarial de Gadgets? o Problemas de Amazon EC2 o Problemas de Hadoop o Problemas de Google Gadget
  • 93. Conclusiones Dudas y comentarios a docencia@davidjbrenes.info
  • 94. Conclusiones Estas transparencias se publican bajo licencia Creative Commons y se pueden redistribuir o modificar bajo las siguientes condiciones: 1. Se dé reconocimiento al autor de estas transparencias. 2. No se use con propósitos comerciales. 3. Se distribuya con la misma licencia. Texto de la licencia: http://creativecommons.org/licenses/by-nc-sa/3.0/