La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Computación en la nube Microsoft Azure https://www.windowsazure.com.

Presentaciones similares


Presentación del tema: "Computación en la nube Microsoft Azure https://www.windowsazure.com."— Transcripción de la presentación:

1 Computación en la nube Microsoft Azure https://www.windowsazure.com

2 Computación en la nube Roles SQL Azure AppFabric Máquinas virtuales Almacenamiento Blobs Drives Tablas Colas CDN Servicio de caché Red virtual Bus de servicio Inteligencia empresarial Access Control Marketplace

3 Computación en la nube Plataforma de Windows Azure

4 Computación en la nube Windows Azure Roles IIS 7 HTTP/HTTPS ASP.NET Fast CGI + PHP Inicialization automatica Soporte de protocolos TCP HTTP/HTTPS Web Role Worker Role Windows Server 2008 x64.NET Framework – 3.5 SP1 and 4.0 Soporte de “Full Trust” sin permisos de administración Native Code en modo de usuario Control automático del ciclo de vida Virtual Machine Role Windows Server 2008 R2

5 Computación en la nube Tamaños de instancias flexibles para satisfacer las necesidades de las aplicaciones

6 Computación en la nube SQL Azure SQL Azure Database Base de datos relacional tradicional APIs & herramientas compatibles con SQL Server Reimplementación optimizada para la nube Tolerancia de fallos y Aprovisionamiento automático Data Sync Service Sincronización de datos entre bases de datos Database … … Sync Service

7 Computación en la nube SQL Azure SQL Azure es un servidor lógico de SQL Server –Emula un servidor SQL Server desde el punto de vista del cliente. –Miles de nodos en cluster en el backend. Soporte de optimizaciones lógicas –Indexes, Query plans etc.. Soporte de optimizaciones físicas no soportadas –File Groups, Partitions etc… Almacenamiento físico automático

8 Computación en la nube Precios y contadores de la base de datos de SQL Azure

9 Computación en la nube Windows Azure AppFabric Service Bus Access Control … … Composición de servicios Utilización de protocolos abiertos Accesibilidad universal Service Bus Control de Acceso

10 Computación en la nube Rol de máquina virtual de Windows Azure Windows Azure Virtual Machine Role Permite implementar una imagen de Windows Server 2008 R2 (Enterprise o Standard) personalizada en Windows Azure. Se pueden configurar y mantener el sistema operativo, y usar Servicios de Windows, tareas programadas, etc.,

11 Computación en la nube Windows Azure Storage Almacenamiento de alta accesibilidad, escalabilidad y disponibilidad. Se paga por espacio usado y transferencias Abstracciones: –Blobs – Ficheros con metadatos. –Drives – Unidades NTFS volumes para aplicaciones en Windows Azure –Tablas – Almacenamiento estructurado –Colas – Almacenamiento de mensajes de alta fiabilidad Herramienta para gestión: http://azurestorageexplorer.codeplex.com/http://azurestorageexplorer.codeplex.com/

12 Computación en la nube Windows Azure Blobs Contenedores de blobs –Múltiples contenedores por cuenta –Múltiples blobs por contenedor http://.blob.core.windows.net/ / Blob Contai ner Accou nt cohowin ery images PIC01.JP G PIC02.JP G videos VID01.WM V

13 Computación en la nube Windows Azure Blobs REST APIs –Upload, Download, –Set/Get Metadata: Up to 8K of metadata –Posibilidad de compartir datos Contenedores ACLs Firmas de acceso compartido (Shared Access Signatures) –Windows Azure CDN (content delivery network) –Backup/version con snapshots –Lease on blobs (Arrendamieto)

14 Computación en la nube Windows Azure Blobs Types Block blobs –Diseñados principalmente para streamming –Cada blok consiste en una secuencia de blobs. 2 Phase commit: Upload y commit son dos operaciones separadas Soporte de continuación y reintento. Orden de blobs se decide durante el commit. Permite uploads en paralelo. Lecturas de rango de datos en un blob –Tamaño máximo por blob de 200GB

15 Computación en la nube Windows Azure Blobs Types Page Blobs –Orientado a escenarios de escritura aleatoria –Array de paginas –Máximo tamaño de 1TB Page –Tamaño de pagina de 512 bytes –Tiene que ser 512bytes –Range reads –Paginas sin datos contienen ceros

16 Computación en la nube WINDOWS AZURE DRIVE Unidades NTFS disponible en aplicaciones Windows Azure Utiliza el mismo API que una unidad local Facilita la migración de aplicaciones a la nube Los datos no desaparecen cuando hay fallos o el servicio es desconectado. Windows Azure Drive es un Page Blob Hasta un 1 TB Monta un Page Blob como una unidad NTFS Montado por una VM en el momento de read/write No buffers hacen las escrituras durables Hasta 16 unidades por role

17 Computación en la nube UNIDADES WINDOWS AZURE VM Windows Azure Blob Service DemoB lob Local Cache OS Applicati on Es un page blob formateado usando NTFS Locking basado en arrendamiento Discos duros locales utilizados como storage No buffering de escrituras Lecturas usan el cache local Lease Drive X:

18 Computación en la nube Windows Azure Tables Proporciona Almacenamiento estructurado. –Tablas de alta escalabilidad Billiones de entidades (rows) y TBs of data Utiliza mas servidores según la utilizacion –Alta disponibilidad y durabilidad API fácil de usar –WCF Data Services.NET clases y LINQ REST (OData Protocol)

19 Computación en la nube Modelo de Datos de Tablas Tabla –Una cuenta puede tener varias tablas –Los nombres de las tablas tienen que ser unicos por cuenta –Cojunto de entidades Entidades –Propiedades (columnas) –Required properties PartitionKey RowKey Timestamp http://.table.core.windows.net/ (PartitionKey=“...”,RowKey=“...”) Entidades Tablas Cuenta cohowinery customer Name=Joe Address =… Name=Joe Address =… Name=Tracy Address =… Name=Tracy Address =… order Name=Joe Total=300.00 Name=Joe Total=300.00

20 Computación en la nube Modelo de Datos de Tablas Operaciones –Insert –Update – Merge/Replace –Query –Delete –Entity Group Transaction

21 Computación en la nube Windows Azure Colas Colas de alto rendimiento y alta disponibilidad –Simple, envió asíncrono. –Las semánticas de programación aseguran que los mensajes son procesados al menos una vez.. El API es REST

22 Computación en la nube Colas, Mensajes y cuentas Una cuenta puede crear muchas colas. –El nombre de la cola es único dentro de la cuenta. Una cola contiene un numero de mensajes –El numero de mensajes es ilimitado –Con tiempo de caducidad. http://.queue.core.windows.net/ Mensaje ColasCuenta cohowinery thumbnailjob s 128*128;http:// … 256*256;http:// … PartitionKey=x … orderprocess

23 Computación en la nube Colas, Mensajes y Cuentas Mensajes –El mensaje tiene que ser menor de 8 KB –Para mensajes mas largos. Guardar los datos en un blob/entidad El blob y entidad es el nombre del mensaje API Simple –Put Message –Get Message(s) Tiempo de invisibilidad para facilitar que los mensajes sean procesados al menos una vez Batch de hasta 32 mensajes –Delete message

24 Computación en la nube Storage Partitioning Entender las tecnicas de particionamiento para optimizar el rendimiento Diferente por cada tipo de almacenamiento (colas, entidades y blob) Cada objeto tiene una clave de partición Una partición puedes ser servida por una máquina. El sistema hace balanceo de carga automaticamente basado en el tráfico Partition key es la unidad de escalabilidad El balanceo de carga puede tardar algunos minutos. Una partición puede tardar varios segundos para que esté disponible en otro servidor. Balanceo de carga Utilizar espera exponencial en “Server Busy” El sistema hace load balancing para cumplir con las demandas de trafico Los limites de una sola partición han sido alcanzados. Server Busy

25 Computación en la nube Claves de partición en blobs Cada blob y snapshots están en una solo partición Blobs – Container name + Blob name

26 Computación en la nube Claves de partición en Entidades Entidades con la misma clave de partición son servidas desde la misma partición Entities – TableName + PartitionKey

27 Computación en la nube Claves de partición en Colas Todos los mensajes de una cola son servidos desde la misma partición. Messages – Queue Name

28 Computación en la nube Objectivos de escalabilidad Storage Account Acuerdos de Nivel de Servicio (SLA) – 99.9% Disponibilidad Capacidad – Hasta 100 TBs Transaciones – Hasta 5000 peticiones por segundo Ancho de banda – cientos de MB per segundo Single Queue/Table Partition 500 transactions por segundo Single Blob Partition Hasta 60 MB/s Para superar estos limites Crear varias cuentas de storage Cuando los limites son superados se obtiene un 503

29 Computación en la nube Particiones y rangos de particiones PartitionKey (Category) RowKey (Title) TimestampReleaseDat e Action Fast & Furious…2009 Action The Bourne Ultimatum…2007 … ……… Animation Open Season 2…2009 Animation The Ant Bully…2006 PartitionKey (Category) RowKey (Title) TimestampReleaseDat e Comedy Office Space…1999 … ……… SciFi X-Men Origins: Wolverine …2009 … ……… War Defiance…2008 PartitionKey (Category) RowKey (Title) TimestampReleaseDat e ActionFast & Furious…2009 ActionThe Bourne Ultimatum…2007 ………… AnimationOpen Season 2…2009 AnimationThe Ant Bully…2006 ………… ComedyOffice Space…1999 ………… SciFi X-Men Origins: Wolverine …2009 ………… WarDefiance…2008 Server B Table = Movies [Comedy - Max] Server B Table = Movies [Comedy - Max] Server A Table = Movies [Min - Comedy) Server A Table = Movies [Min - Comedy) Server A Table = Movies [Min - Max] Server A Table = Movies [Min - Max]

30 Computación en la nube Patrones de uso recomendados (Blobs) Evitar nombres secuenciales Nombres ordenados alfabeticamente. Example: logs/2010_08_24T00_59.log, logs/2010_08_24T01_00.log Es recomendado anadir un prefijo para aumentar la distribucion de los datos a traves de varios servidores Utilizar ParallelOperationThreadCount Uploads bloques en paralelo Solo para blobs >= 32MB

31 Computación en la nube Patrones recomendados Cuidado con Timeout en BlobClient o BlobRequestOptions 90 segundos por defecto Cuidado con blobs grandes Shared Access Signature Utilizar seguridad a nivel de container para poder revocar permisos Usar HTTPS!

32 Computación en la nube Key Selection: Consideraciones a tener en cuenta El sistema hace balanceo de carga en particiones muy utilizadas La estrategia de partición es critica Escalabilidad Evitar query scans Hacer queries en paralelo Queries de una sola entidas son muy eficientes Velocidad de Query Por particion y tabla Reduce round trips Entity Group Transactions

33 Computación en la nube Evitar el praton “Append” Crear una entrada de log en cada transaction en un tabla de diagnostico Escritura intesiva Lectura por rangos de tiempo CASO DE ESTUDIO

34 Computación en la nube Solución 1 Utilizar Timestamp como clave de Particion − La solución mas obvia − Es única − Secuencial! − Acumulación de particiones − Distribución de carga no ayuda PartitionKey (Timestamp) Properties 2009-11-15 02:00:01 … 2009-11-15 02:00:11 … 100000 more rows… 2009-11-17 05:40:01 … … 80000 more rows… 2009-11-17 12:30:00 … 2009-11-17 12:30:01 … Applications Client Request Server A Request 2009-11-17 12:30:01 … Request 2009-11-17 12:30:02 … Reques t 2009-11-17 12:30:03 … Server B

35 Computación en la nube Solución 2 Server A Server B PartitionKey (ID_Timestamp) Properties 01_2009-10-12 05:10:00… …… 100000 more rows… 09_2009-11-15 12:31:00… …… 20000000 more rows… 10_2009-10-05 05:10:10… 5000000 more rows… …… 900000 more rows… 19_2009-11-17 12:20:02… ApplicationsApplications Client Request Anadir prefijo para distribuir la carga − ID del nodo emisor Escrituras distribuidas Mejor rendimiento Consultas en paralelo 15_2009-11-17 12:30:01… 09_2009-11-17 12:30:22… 19_2009-11-17 12:30:10… 01_2009-11-17 12:30:01…

36 Computación en la nube Particiones Individuales (SP) Vs Múltiples (MP)

37 Computación en la nube Velocidad de las consultas Rapidas –Una sola PartitionKey y RowKey con igualdad (Point Query) PartitionKey == “SciFi” and RowKey == “Sphere” Medianas –Una sola partition con RowKey poco variadas PartitionKey == “SciFi” and “Sphere” ≤ RowKey ≤ “Star Wars” –Rowkeys tienen indices Lentas –Range scans “Action” ≤ PartitionKey ≤ “War” PartitionKey == “Action”

38 Computación en la nube Velocidad de las consultas Muy lentas –Table Scans No Filter i.e. Select * from table –“OR” en claves => no hay optimización => scan PartitionKey == “Action” || PartitionKey == “Thriller” Cuidado con continuation points

39 Computación en la nube Como aumentar la velocidad de las queries Evitar Scans Dividir rangos de claves y paralelizar queries Crear vistas de datos manualmente “Or” Ejectuar queries en paralelo en vez de usar OR Otras tecnicas Cache los resultados (memcached)

40 Computación en la nube Esperar Token de Continuación Maximo 1000 resultados por query Cambios de particion Maximo 5 segundos para ejecutar la query Expect Continuation Tokens – Seriously!

41 Computación en la nube Colas Patrones y practicas de uso

42 Computación en la nube Eliminar mensajes envenedados 2121 2121 1111 1111 C1C1 C1C1 C2C2 C2C2 1111 1111 2121 2121 3 3 4040 4040 Producers Consumers P2P2 P2P2 P1P1 P1P1 3030 3030 2. GetMessage(Q, 30 s)  msg 2 1. GetMessage(Q, 30 s)  msg 1 1111 1111 2121 2121 1010 1010 2020 2020

43 Computación en la nube Eliminar mensajes envenenados C1C1 C 1 C2C2 C2C2 3 4040 4040 Producers Consumers P2P2 P2P2 P1P1 P1P1 1111 1111 2121 2121 2. GetMessage(Q, 30 s)  msg 2 3. C2 consumed msg 2 4. DeleteMessage(Q, msg 2) 7. GetMessage(Q, 30 s)  msg 1 1. GetMessage(Q, 30 s)  msg 1 5. C 1 crashed 1111 1111 2121 2121 6. msg1 visible 30 s después de quitar de la cola 3030 3030 1212 1212 1111 1111 1212 1212

44 Computación en la nube Eliminar mensajes envenenados C1C1 C1C1 C2C2 C2C2 3 4040 4040 Producers Consumers P2P2 P2P2 P1P1 P1P1 1212 1212 2. Dequeue(Q, 30 sec)  msg 2 3. C2 consumed msg 2 4. Delete(Q, msg 2) 7. Dequeue(Q, 30 sec)  msg 1 8. C2 crashed 1. Dequeue(Q, 30 sec)  msg 1 5. C 1 crashed 10. C1 restarted 11. Dequeue(Q, 30 sec)  msg 1 12. DequeueCount > 2 - Store in Table 13. Delete (Q, msg1) 1212 1212 6. msg1 visible 30s after Dequeue 9. msg1 visible 30s after Dequeue 3030 3030 1313 1313 1212 1212 1313 1313 1212 1212

45 Computación en la nube Red de entrega de contenido (CDN) de Windows Azure La red de entrega de contenido (CDN) de Windows Azure mejora el rendimiento y la confiabilidad de los usuarios colocando copias de los datos cerca de donde estos se encuentran. Mediante el almacenamiento en caché de los objetos estáticos de las aplicaciones en lugares situados estratégicamente. La CDN de Windows Azure CDN se amplía según sea necesario, por lo que los desarrolladores no tienen que dedicar tiempo a configurar servidores, no necesitan preocuparse de la capacidad ni tienen que hacerse cargo de los picos en la demanda.

46 Computación en la nube Servicio de caché El servicio de caché proporciona un servicio distribuido de caché para las aplicaciones de Windows Azure y SQL Azure. Proporciona a las aplicaciones acceso a alta velocidad y capacidad de ampliación de los datos de la aplicación. Esta funcionalidad se proporciona completamente como un servicio (sin instalación ni administración de instancias, y con aumento o reducción dinámicos del tamaño de la memoria caché de acuerdo con las necesidades). Ofrece: Proveedores ASP.NET precompilados para el almacenamiento en caché de estados de sesión y resultados de página, que permiten acelerar las aplicaciones web sin tener que modificar el código de la aplicación. Almacenamiento en caché de cualquier objeto administrado, sin límites de tamaño de objetos ni costos de serialización para el almacenamiento en caché local. Modelo de desarrollo coherente entre Windows Azure AppFabric y Windows Server AppFabric. Acceso y autorización seguros proporcionados por el servicio Access Control.

47 Computación en la nube Servicio de caché Puesto que se proporciona como un verdadero servicio, el servicio de caché tiene un modelo de aprovisionamiento muy simple: no hay que instalar, configurar ni administrar infraestructuras complejas. Estas operaciones las realiza automáticamente el propio servicio. Solo es necesario configurar los datos que desee almacenar y el tamaño de la memoria caché que necesite. A medida que las necesidades de la aplicación aumenten o disminuyan, podrá cambiar dinámicamente el tamaño de la memoria caché con arreglo a estas necesidades. La funcionalidad del servicio de caché también está disponible directamente usando una API simple Tamaño/contadorCargos mensuales Caché de 128 MB31,914 € Caché de 256 MB39,006 € Caché de 512 MB53,19 € Caché de 1 GB78,012 € Caché de 2 GB127,656 € Caché de 4 GB230,49 € Precios

48 Computación en la nube Red virtual de Windows Azure - Windows Azure Connect Windows Azure Connect proporciona un mecanismo simple y fácil de administrar para configurar la conectividad de red basada en IP entre recursos locales y de Windows Azure. Esta funcionalidad permite a las organizaciones migrar fácilmente sus aplicaciones existentes a la nube, gracias a la conexión de red directa basada en IP con la infraestructura local existente. Los desarrolladores pueden configurar la conexión directa con sus máquinas virtuales hospedadas en la nube para realizar las tareas remotas de administración y solución de problemas con las mismas herramientas que utilizan para las aplicaciones locales.

49 Computación en la nube Red virtual de Windows Azure - Windows Azure Connect Windows Azure Traffic Manager es una nueva característica que permite a los clientes equilibrar la carga del tráfico en varios servicios hospedados. Los desarrolladores pueden elegir entre tres métodos de equilibrio de carga: Rendimiento, Conmutación por error y Round Robin. El administrador de tráfico supervisará cada operación de recolección del servicio hospedado en cualquier puerto HTTP o HTTPS. Si detecta que el servicio está desconectado, enviará el tráfico al siguiente servicio apto disponible.

50 Computación en la nube Bus de servicio El servicio Bus de servicio proporciona funciones de mensajería y conectividad seguras que permiten crear aplicaciones distribuidas y de asociación laxa en la nube, así como aplicaciones híbridas que se ejecuten localmente y en la nube. Permite usar distintos protocolos y patrones de comunicación y mensajería, y elimina la necesidad de preocuparse de garantizar la entrega. Compatibilidad con el acceso HTTP y REST desde plataformas distintas de.NET. Exponga aplicaciones y servicios a través de firewalls, puertas de enlace NAT y otros límites de red problemáticos. Tamaño/contadorCargos mensuales Pago por uso (1 conexión) 2,8297 € por conexión 5 conexiones7,0566 € 25 conexiones35,2827 € 100 conexiones141,1308 € 500 conexiones705,654 € Precios

51 Computación en la nube Inteligencia empresarial - Microsoft SQL Azure Reporting Permite usar las familiares herramientas locales con la que se siente cómodo para desarrollar e implementar informes operativos en la nube. No necesita administrar ni mantener una infraestructura de informes independiente

52 Computación en la nube Comparación entre SQL Azure Reporting basado en la nube y SQL Server Reporting Services local

53 Computación en la nube Access Control Access Control ofrece una forma sencilla de proporcionar control de identidad y acceso a las aplicaciones y servicios Web al integrar proveedores de identidad basados en los estándares, incluidos directorios empresariales como Active Directory e identidades web Tamaño/contadorCargos mensuales 100.000 transacciones1,4113 € Precios

54 Computación en la nube Windows Azure Marketplace Es un mercado en línea global para que los clientes y partners compartan, compren y vendan aplicaciones SaaS completas y conjuntos de datos. Sección de Datos. Sección de Aplicaciones.

55 Computación en la nube Resumen Roles SQL Azure AppFabric Máquinas virtuales Almacenamiento CDN Servicio de caché Red virtual Bus de servicio Inteligencia empresarial Access Control Marketplace Servicios

56 Computación en la nube Resumen Elimina logica de fallos Utilizar operaciones idempotentes Hace imposible tener mas de 1 nodo Politica de maximo numero de reintentos Utilizar Dequeue count para eliminar mensajes envenenados Mensajes > 8KB Leer en batches Usar blobs para guardar datos associados Crear workers dinamicamente Utilizar el contador de mensajes para crear workers No depender en el orden de los mensajes


Descargar ppt "Computación en la nube Microsoft Azure https://www.windowsazure.com."

Presentaciones similares


Anuncios Google