“Análisis de Rendimiento para Soluciones de Cloud Computing”

Slides:



Advertisements
Presentaciones similares
¿Qué es Sofware? Son el conjunto de instrucciones que dirigen las actividades del Hardware Consiste en programas, módulos de soporte y archivos de datos,
Advertisements

Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
PROVISIÓN DE SERVICIOS WEB DINÁMICOS ASOCIADOS A VIDEO BASADOS EN DISPOSITIVOS MÓVILES Autor: Juan Carlos Álvarez Martín Tutor: Francisco Javier Finat.
information technology service
Universidad Nacional Autónoma de Honduras
LENGUAJES DE PROGRAMACIÓN
MÉTODOS Y ELEMENTOS DE PROGRAMACIÓN
ASPECTOS DEL DISEÑO DE SD
Arquitectura Orientada a Servicios (SOA)
MI PROGRAMA DE FORMACION
SILVIA BEATRIZ GAVILANES NARANJO KELLY VERÓNICA CARVAJAL CUJI
Utilización de la plataforma Hadoop para implementar un programa distribuido que permita encontrar las paredes de células de la epidermis de plantas modificadas.
MÓDULO DE BÚSQUEDA DE PERSONAS DENTRO DE UNA BASE DE DATOS DE ROSTROS
TUTOR: ING. RAYNER DURANGO
Búsquedas avanzadas en la Wikipedia
Diseño e implementación de un ambiente virtualizado para un Sistema de Administración de Contenidos usando Microsoft SharePoint con cada uno de sus componentes.
Sistema de Agrupamiento y Búsqueda de Contenidos de la Blogosfera de la ESPOL, Utilizando Hadoop como Plataforma de Procesamiento Masivo y Escalable de.
COMPONENTIZACIÓN DE ALGORITMOS GENETICOS Y SU IMPLEMENTACIÓN EN UNA PLATAFORMA ABIERTA PARA APRENDIZAJE COMPUTACIONAL.
Investigación Servidor de Aplicaciones WebSphere
En este tipo de computación todo lo que puede ofrecer un sistema informático se ofrece como servicio, de modo que los usuarios puedan acceder a los.
SEMANA Introducción.
UNIVERSIDAD DE LA FF. AA. ESPE CARRERA DE INGENIERIA DE SISTEMAS PROYECTO DE TESIS : “Análisis, diseño, construcción e implementación de una Guía Interactiva.
Introducción a la Programación. Lenguaje de Máquina.
Programación e Ingeniería de Software III
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
DATA WAREHOUSE Equipo 9.
J2EE Java Enterprise edition eilin chang Matthew pabon Gabriel vega.
Desarrollo de aplicaciones para ambientes distribuidos
Tecnologias Usadas.Net Framework LINQ WCF Subversion Clickonce Smart Client Deployment SQL Server Compact Edition. Visual Studio Express 2008.
¿QUE NO ES? COMPUTADORES EN LAS NUBES Es un paradigma que permite ofrecer servicios de computación a través de Internet. Los usuarios puedan acceder.
O Funcionamiento, ventajas y alcance o ESTUDIANTE: EDWIN ARAY VÉLEZ o PROFESOR: ING. JOSÉ MEDINA o FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN.
Computación en la Nube UASF.
BASE DE DATOS EN LA WEB.
Web Services bajo J2EE WASP Server for Java de Systinet
ASOPROJECT Componentes del grupo: - Alberto Díaz Gil - Miguel Ángel Llorente Gracía - Javier E. Yépez Hualde.
Informe de Materia de Graduación “Uso de la plataforma Pig sobre Hadoop como alternativa a una RDBMS para el análisis de datos masivos. Prueba de concepto.
Agenda  Introducción  Relevamientos de tecnologías Objetivos de la fase de relevamiento de tecnologías Principales tecnologías disponibles -OpenMosix,
Cloud Computing.
carlos luis loor  La computación en la nube, concepto conocido también bajo los términos servicios en la nube, informática en la nube, nube de cómputo.
Cloud Computing Grupo 4 de computación y programación
Proyecto de Carrera Tecnólogo en Informática 2012 Grupo 02 Luis Conde Juan Urtiaga Jorge Melnik Álvaro Vallvé Prof. Ing. Dra. Andrea Delgado.
Servicio Remoto de Monitoreo
Computación en la nube en el siglo 21 y del tercer milenio
Programación Java y Desarrollo de Aplicaciones Modulo 3 Lenguaje de programación Java Software utilizado.
Software El software permite comunicar al computador los problemas y hace posible que nos comunique las soluciones Los programas son el software del computador.
Desarrollo DE apps móviles
SISTEMAS OPERATIVOS.
SERVICIOS EN LA NUBE La computación en la nube, concepto conocido también bajo los términos servicios en la nube, informática en la nube, nube de cómputo.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
DESARROLLO DE APLICACIONES PARA AMBIENTES DISTRIBUÍDOS ALUMNOS: MARIANA MIGNÓN RÉDING CARLOS ANTONIO CARRASCO MARTÍNEZ PROFESOR: DR. JOSÉ BERNARDO PARRA.
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Desarrollo DE apps móviles
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
Computación en la Nube.
Proceso de desarrollo de Software
Marco de Trabajo para Indexación, Clasificación y Recopilación Automática de Documentos Digitales Javier Caicedo Espinoza Gonzalo Parra Chico.
ANTIVIRUS EN LA NUBE. CONCEPTO: Cloud Computing supone trabajar directamente en la Nube. De ahí que, en base a este concepto, se haya desarrollado todo.
ANTIVIRUS CLOUD COMPUTING. Los antivirus cloud o antivirus en la nube, son antivirus que aplican a los antivirus el concepto cloud computing. Instalan.
Antivirus Cloud Computing. Definición Antivirus Cloud Computing es un software de protección, que no consume muchos recursos y no necesita de un hardware.
Cloud Computing (computación en la nube), se trata del conjunto de programas y servicios alojados en un servidor conectado a la Red, accesible desde cualquier.
ANTIVIRUS CLOUD COMPUTING Zamudio Julieta Antonella.
Los antivirus cloud aplican a los antivirus el concepto cloud computing, que ya funciona desde hace tiempo con herramientas ofimáticas y de edición de.
Integrantes Miguel Betancourt Alexis Tacuri.  Activiti es una plataforma para la formación de flujos de trabajo y procesos empresariales dentro del.
Fundamentos de Programación Unidad I Conceptos Básicos.
ANTIVIRUS CLOUD COMPUTING. ¿ Q UÉ ES ? Es un software de protección, como los antivirus tradicionales, que no consume muchos recursos y no necesita de.
DLM Transact SQL Sesión I Introducción al SQL Server Uso de las herramientas de consultas del Transact SQL.
Funcionalidades Híbridas en SQL 2014 Víctor Hugo Cárdenas.
ALUMNO ALUMNO: DIEGO URES LEGAJO LEGAJO: La prueba unitaria es la herramienta para la Calidad Presentación Trabajo Final de Grado.
Transcripción de la presentación:

“Análisis de Rendimiento para Soluciones de Cloud Computing” I CONGRESO ARGENTINO DE TECNOLOGIA DE LA INFORMACION Y COMUNICACIONES “Análisis de Rendimiento para Soluciones de Cloud Computing” Autor: Mg. Ing. Marcelo Damián Parrino 21 / 10 / 2010

Proposición Investigar algunos de los posibles algoritmos aplicables al análisis de rendimiento de soluciones disponibles de “Cloud Computing”, para poder evaluar el rendimiento comparado de cada una de ellas. Seleccionar el conjunto de algoritmos más adecuado, ajustarlo y probarlo para evaluar de un manera objetiva las soluciones de “Computación en la Nube” de diferentes proveedores del mercado, logrando una visión más clara y objetiva de las capacidades de computo provistas por cada uno de ellos.

Investigación - Objetivos Investigar puntualmente algunos de los algoritmos disponibles junto con sus posibles optimizaciones y mejoras, que permitan obtener datos objetivos para el análisis de rendimiento de las soluciones de “Cloud Computing” Desarrollar una aplicación de software que implemente las pruebas de rendimiento planteadas, registrando los resultados para su posterior análisis y comparación Evaluar y analizar los resultados obtenidos a partir de la implementación de las pruebas. El análisis de los resultados permitirá evaluar el desempeño y rendimiento objetivo de las soluciones disponibles de “Cloud Computing”

Computación en la Nube Es un paradigma que permite ofrecer servicios de computación a través de Internet. Todo se ofrece como servicio Los usuarios pueden acceder a los servicios disponibles en la nube sin la necesidad de gestionar los recursos que aquellos servicios utilizan Ofrece una infraestructura de TI capaz de escalar prácticamente de manera ilimitada para cubrir la demanda de los usuarios

Computación en la Nube

Google App Engine Permite ejecutar aplicaciones Web en la infraestructura de Google Admite aplicaciones escritas en varios lenguajes de programación (Java, Python, Ruby) Ofrece un servicio de almacenamiento de datos distribuido que incluye un motor de búsqueda y transacciones Se puede utilizar de forma totalmente gratuita

Google App Engine

Microsoft Windows Azure Sistema operativo basado en Cloud Services Brinda funciones que proporcionan soporte para el desarrollo, el alojamiento de servicios remotos y la gestión del propio sistema, todo ello en la nube Arquitectura dividida en capas Capa 0: Global Foundational Services (GFS) Capa 1: Gestión y coordinación de N máquinas Capa 2: Servicios para la creación de aplicaciones Capa 3: Aplicaciones alojadas dentro de Azure

Microsoft Windows Azure

Amazon Web Services (EC2) AWS provee capacidad computacional virtual con posibilidad de crecimiento en la nube Amazon EC2 permite computar dentro de la nube Amazon S3 permite almacenar dentro de la nube El servicio es elástico: brinda la posibilidad de incrementar o reducir la capacidad de las instancias en cuestión de minutos

Amazon Web Services

Benchmarks: Whetstone Diseñado por Brian Wichmann Primer benchmark sintético, basado en el análisis de 949 programas científicos Primera implementación  Fortran, 1972 Mide la velocidad de ejecución de una variedad de instrucciones de punto flotante en datos escalares o vectoriales Intenta estimar la velocidad de la CPU con la Unidad de Punto Flotante (FPU)

Benchmarks: Dhrystone Diseñado por Reinkol Weicker (1984) Benchmark sintético representativo de sistemas que manejan enteros Contiene muchas instrucciones simples, llamadas a procedimiento y condicionales, y pocas de coma flotante y bucles Intenta medir la velocidad del sistema en cuanto a rendimiento no numérico

Benchmarks: Linpack Desarrollado por Jack Dongarra (1976) Propósito original: resolver sistemas de ecuaciones Uso muy intensivo de las operaciones de coma flotante Mayor parte del tiempo ejecutando BLAS (Subrutinas de Álgebra Lineal Básica) Describe la performance para resolver un problema de matrices generales

Desarrollo: Framework

Desarrollo: Google App Engine Herramientas de desarrollo Java y de estándares API comunes SDK de Google App Engine cuenta con un plugin para el entorno de desarrollo Eclipse, permitiendo crear, probar y subir aplicaciones de App Engine desde el propio IDE Incluye una aplicación de servidor Web que emula todos los servicios de App Engine desde el equipo local

Desarrollo: Google App Engine

Desarrollo: Microsoft Azure SDK para Visual Studio de Windows Azure proporciona un entorno simulado para el desarrollo y prueba de servicios en el equipo local Development storage Development fabric Azure provee soporte para diferentes lenguajes de la familia .NET Se decidió utilizar el lenguaje C# dada su similitud con Java

Desarrollo: Microsoft Azure

Desarrollo: Amazon EC2 AWS Toolkit incluye un plugin de código abierto para Eclipse que facilita el desarrollo, la depuración e implementación de aplicaciones Java utilizando Amazon Web Services Se decidió utilizar una Java Web Starter AMI (“Amazon Machine Image”) provista por AWS Fedora Core 8 de 32 bits, Java JDK 7, Tomcat 5.5, Apache 2.2.9 y MySQL 5.0.

Desarrollo: Amazon EC2

Ejecución: Google App Engine Resultados de los benchmarks ejecutados en Google App Engine: Whetstone Ejecuciones 100 Tiempo Total 30329 msegs Tiempo Promedio 303,29 msegs Tiempo Máximo 369 msegs Dhrystone Ejecuciones 100 Tiempo Total 13557 msegs Tiempo Promedio 135,57 msegs Tiempo Máximo 170 msegs Linpack Ejecuciones 100 Tiempo Total 19249 msegs Tiempo Promedio 192,49 msegs Tiempo Máximo 246 msegs

Ejecución: Microsoft Azure Resultados de los benchmarks ejecutados en Microsoft Azure: Whetstone Ejecuciones 100 Tiempo Total 88602 msegs Tiempo Promedio 886,02 msegs Tiempo Máximo 999 msegs Dhrystone Ejecuciones 100 Tiempo Total 80412 msegs Tiempo Promedio 804,12 msegs Tiempo Máximo 890 msegs Linpack Ejecuciones 100 Tiempo Total 17328 msegs Tiempo Promedio 173,28 msegs Tiempo Máximo 296 msegs

Ejecución: Amazon EC2 Resultados de los benchmarks ejecutados en Amazon EC2: Whetstone Ejecuciones 100 Tiempo Total 60590 msegs Tiempo Promedio 605,9 msegs Tiempo Máximo 713 msegs Dhrystone Ejecuciones 100 Tiempo Total 30143 msegs Tiempo Promedio 301,43 msegs Tiempo Máximo 349 msegs Linpack Ejecuciones 100 Tiempo Total 41280 msegs Tiempo Promedio 412,8 msegs Tiempo Máximo 682 msegs

Evaluación de las pruebas Whetstone (t) Google App Engine Microsoft Azure Amazon EC2 Promedio 303,29 886,02 605,9 Máximo 369 999 713 Dhrystone (t) Google App Engine Microsoft Azure Amazon EC2 Promedio 135,57 804,12 301,43 Máximo 170 890 349 Linpack (t) Google App Engine Microsoft Azure Amazon EC2 Promedio 192,49 173,28 412,8 Máximo 246 296 682

Análisis de resultados (I)

Análisis de resultados (II)

Análisis de resultados (III)

Evaluación de resultados Google App Engine fue claramente superior a las otras dos alternativas (Amazon EC2 y Microsoft Azure) en Whetstone y Dhrystone En el benchmark Linpack Google App Engine fue mínimamente superado en ocasiones por Microsoft Azure Google App Engine es la mejor alternativa de cómputo en la nube mínimos tiempos de ejecución mejores tiempos máximos mejores tiempos promedios

Conclusión Se definió un conjunto de tres pruebas ampliamente difundidas (Whetstone, Dhrystone y Linpack) Se desarrolló un Framework de pruebas que simplificara el desarrollo de las pruebas de software planteadas El Framework se puede aplicar a cualquier solución de Cloud Computing que permita la ejecución de un “Web Service” Útil como puntapié inicial para la evaluación y comparación del poder computacional en soluciones de Cloud Computing

Conclusión Se realizó la evaluación de los resultados obtenidos y se pudo comprobar las diferencias de rendimiento computacional de cada una de las “nubes” La solución más costosa en el ámbito monetario no asegura la mejor performance a nivel de procesamiento para una aplicación en particular No debe aplicarse para la selección de un proveedor si el núcleo de la aplicación que se ejecutará en la Nube no tiene un componente crítico de procesamiento computacional

Futuras Líneas de Investigación Extensión del Framework para soportar benchmarks y pruebas relacionadas con el almacenamiento de datos en la nube Optimización e incorporación de otros benchmarks reconocidos para obtener resultados mas detallados Desarrollo de pruebas inéditas que utilicen llamadas a funciones específicas de las APIs disponibles para cada nube computacional Implementación del Framework en otros lenguajes de programación, permitiendo comparar el rendimiento del conjunto de pruebas en una misma nube, pero en un lenguaje e intérprete diferente

Gracias Thank You Obrigado Merci Grazie Danke Árabe Japonés Español Francés Ruso Alemán Italiano Inglés Portugués Árabe Chino Tradicional Chino Simplificado Hindú Tamil Tailandés Coreano

Preguntas ? ¿