cloud computing: windows azure

Post on 13-May-2015

10.078 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Cloud Computing: Windows Azure 2de Junio de 2011, 18:00-21:00

Dr. Diego Lz. de Ipiña Glz. de Artazadipina@deusto.es

http://paginaspersonales.deusto.es/dipina http://www.slideshare.net/dipina

http://www.morelab.deusto.es

2

Agenda• Windows Azure

– Introducción – Windows Azure Computing– Windows Azure Store– SQL Azure– Ejemplos

3

Microsoft Windows Azure• Windows Azure y SQL Azure permiten construir, alojar y

escalar aplicaciones en los centros de datos de Microsfot. – Como toda solución para Cloud Computing sólo pagas por los recursos

que usas– Es un sistema operativo en la nube– Centros de datos distribuidos por el planeta

4

Microsoft’s Windows Azure Platform

• Windows Azure es un servicio utilizado para ejecutar aplicaciones y guardar datos en máquinas de Microsoft accesibles vía Internet

• Proporciona tres componentes:– El servicio Compute ejecuta aplicaciones con web role y worker role– El servicio Storage permite guarda datos como blobs, tables y queues– El Windows Azure Fabric proporciona una API para gestionar y

monitorizar aplicaciones que usan la plataforma Azure

• Más información en: http://www.microsoft.com/windowsazure

5

Microsoft’s Windows Azure Platform

6

Componentes de Windows Azure

7

Windows Azure Platform

Platform Services

Software Services

Application Services

Infrastructure Services

8

Soporte de Windows Azure

9

¿Dónde usar Cloud Computing?

10

Windows Azure por Dentro

Storage Unstructured Data

BlobsMessage Queues

Distributed Filesystem

Content Distribution

Data Transact-SQL

Data Synchronizati

on

Relational Database

ADO.NET, ODBC, PHP

Connectivity

Composite Application

s

On-Premise Bridging

Service Bus

SecurityClaims-Based

Identity

Federated Identities

Secure Token

Service

Declarative Policies

Application Services

ApplicationMarketplac

e

Information Marketplac

e

Personal Data

Repository

Frameworks

Workflow Hosting

Distributed Cache

Services Hosting

Compute C / C++Win32 VHD

11

Windows Azure por Dentro

Compute

Storage

Data SQL Azure Data Sync

Connectivity

Project “Sydney”

Security “Geneva”

Application Services

Frameworks

“Dublin” “Velocity”

Service Bus

Access Control

Table Storage

Blob Storage

Queue DriveContent Delivery Network

12

Windows Azure Cloud Fabric

• Multiple virtual instances• Easy provision of applications• Detect failures• Spin up new instances to replace the failed ones• How many instances and what role they will play• Load balances and DNS• Elasticity of the service… scaling up/down number of

instance

13

Windows Azure Compute• Development, service hosting, & management environment

– .NET, Java PHP, Python, Ruby, native code (C/C++, Win32, etc.)– ASP.NET providers, FastCGI, memcached, MySQL, Tomcat– Full-trust – supports standard languages and APIs– Secure certificate store– Management API’s, and logging and diagnostics systems

• Multiple roles – Web, Worker, Virtual Machine (VHD)• Multiple VM sizes

– 1.6 GHz CPU x64, 1.75GB RAM, 100Mbps network, 250GB volatile storage– Small (1X), Medium (2X), Large (4X), X-Large (8X)

• In-place rolling upgrades, organized by upgrade domains– Walk each upgrade domain one at a time

14

Windows Azure Roles

15

Windows Azure Storage

• Rich data abstractions – tables, blobs, queues, drives, CDN– Capacity (100TB), throughput (100MB/sec), transactions (1K req/sec)

• High accessibility– Supports geo-location– Language & platform agnostic REST APIs– URL: http://<account>.<store>.core.windows.net– Client libraries for .NET, Java, PHP, etc.

• High durability – data is replicated 3 times within a cluster, and (Feb 2010) across datacenters

• High scalability – data is automatically partitioned and load balanced across servers

16

Almacenamiento

• Blobs – Large Data Store• Queues – Background work

processing• Tables – Very Fast / Scalable

Storage• Drives – NTFS Formatted Page

Blobs • SQL Azure – Relational SQL in

the Cloud

17

Windows Azure Roles

• Web Role– for web application programming in ASP.NET or PHP– single HTTP endpoint and a single HTTPS endpoint for external clients

• Worker Role– for performing work on behalf of the web role– may be written in .NET, Ruby, Java– to improve scalability by increasing parallelism and asynchronicity– used for background work– internal endpoints for HTTP, TCP – may receive work from Windows Azure Storage Queues

18

Interacción con el Resto de Azure

• Web and Worker Roles• can make outbound HTTP/S or .NET Framework class

library socket connections to Internet accessible resources• can access Windows Azure Storage services via REST APIs

or the Windows Azure Storage Client Library

19

Windows Azure Data Storage – Tables

• provides scalable, available, and durable structured (or semi-structured) storage in the form of tables.

• contain entities, and the entities contain properties.• are scalable to billions of entities and terabytes of data, and

may be partitioned across thousands of servers.• support ACID transactions over single entities and rich queries

over the entire table.• Simple and familiar .NET and REST programming interfaces

are provided via ADO.NET Data Services. • http://go.microsoft.com/fwlink/?LinkId=153401

20

Windows Azure Data Storage – Tables: Conceptos

• Table – contains a set of entities. • Entity (Row) – Entities are the basic data items stored in a table. • Property (Column) – This represents a single value in an entity. • PartitionKey – The first key property of every table. The system uses this

key to automatically distribute the table’s entities over many storage nodes.

• RowKey – A second key property for the table. This is the unique ID of the entity within the partition it belongs to.

• Timestamp – Every entity has a version maintained by the system.• Partition – A set of entities in a table with the same partition key value.• Sort Order – There is a single index provided for the CTP, where all entities

in a table are sorted by PartitionKey and then RowKey

21

Table Storage ConceptsEntitiesTablesAccounts

moviesonline

Users

Movies

Email =…Name = …

Email =…Name = …

Genre =…Title = …

Genre =…Title = …

22

Queue Storage ConceptsMessagesQueuesAccounts

sally

thumbnailjobs

traverselinks

128 x 128 http://...

256 x 256 http://...

http://...

http://...

23

Blob Storage Concepts

Blocks or PagesBlobContainerAccount

sally

images

PIC01.JPG

PIC02.JPG

movies MOV1.AVI

Block or Page 1

Block or Page 2

Block or Page 3

24

SQL Azure

• Highly available, scalable, and consistent distributed relational database; geo-replication and geo-location of data

• Relational database, provided as a service– Highly symmetrical development and tooling experience

(use TDS protocol and T-SQL)– Highly scaled out, on commodity hardware– Built on the SQL Server technology foundation

• Editions: Web (1GB), Business (10GB)

25

SQL Azure vs. Windows Azure Tables

• SQL Azure Tables:– Fully structured– Strongly typed– Relational (RDMS)– Highly scalable

• Windows Azure Tables:– Semi-structured– Loosely typed– Non-Relational (Not RDMS)– Massively scalable

26

Probando Windows Azure• Free trial en: http://www.microsoft.com/windowsazure/free-trial/

– El proceso de logeo requiere introducir número de tarjeta de crédito– Se requiere un login de Windows Live válido

27

Windows Azure Dev Fabric

• Local Developer Simulation of AppFabric • Simulated “Cloud Experience” for Development

– Routes cloud requests to local machine– Simulates data storage with local SQL server database– Azure SQL simulated with local SQL Server database

Compute Storage Management ManagementRelational data Connectivity Access control

28

Herramientas para Desarrollo

• Leverage Existing Skills in .NET, SQL Server, WCF• Use Familiar tools – Visual Studio, SSMS• RESTful HTTP cloud services, supports PHP, Python• Cloud apps can be developed locally / offline• SDK Cloud Simulator – Dev Fabric, Dev Storage• Descargarse Windows Azure SDK

– http://www.microsoft.com/downloads/en/details.aspx?familyid=7a1089b6-4050-4307-86c4-9dadaa5ed018

29

Windows Azure SDK

• Se descarga de: http://www.microsoft.com/windowsazure/sdk/

• Dos opciones:– All-In-One installation

• Se integra con Visual Studio

– Standalone Windows Azure SDK• Mejor porque no requiere Windows Visual Studio

• Existen SDKs para otros lenguajes como Java, PHP o Ruby

30

Características del SDK

• C# and VB Visual Studio project templates– Windows Azure Cloud Service solution with multiple roles.

• Tools to manage and configure roles• Local Development Fabric• Local Development Storage services• Local Cloud Service debugging support• Cloud Service package and deployment builder

31

Tutorial de Cómo Usar Windows Azure

• Documentación en: http://msdn.microsoft.com/en-us/WAZPlatformTrainingCourse_IntroToWindowsAzureLabVS2010– Explores the basic elements of a Windows Azure service by creating a

simple GuestBook application that demonstrates many features of the Windows Azure platform, including web and worker roles, blob storage, table storage, and queues

• Windows Azure Management Portal– https://windows.azure.com/

• Cloud Samples:– http://www.microsoft.com/downloads/en/details.aspx?FamilyID=285

3c3dc-0586-49c7-9b7f-83d3083252c8&displaylang=en

32

Comparativa AWS, GAE y Azure• AWS es IaaS pero cada vez con más características de PaaS• GAE y Azure son PaaS que permiten la creación de aplicaciones (GAE sólo

web) en la infraestructura Cloud de Google y Microsoft, respectivamente• AWS te permite usar tus herramientas favoritas, aunque recomienda su

uso de servicios escalables de almacenamiento, bases de datos o mensajes a través de interfaces REST

• GAE es muy sencillo pero exige el uso de las APIs exclusivas provistas por Google, aunque están basadas en estándares de facto de la industria

• Azure no limita el uso de .NET para las aplicaciones desplegadas aunque lo promociona

• Comparativa detallada en: http://blog.kitetail.com/wp-content/uploads/2010/03/Comparison-CloudOffering.pdf

33

Patrones de Diseño en Cloud Computing

• Fuente: http://architects.dzone.com/news/cloud-computing-patterns

1. Usar la nube para el escalado– Usar en cada momento sólo los recursos necesarios– Dos mecanismos:

• Passive listener model• Active worker model

2. Compartir la nube entre varios usuarios

34

Patrones de Diseño en Cloud Computing

3. Usar la nube para batch processing

4. Usar la nube para almacenamiento5. Usar la nube para comunicación

35

Ventajas de Cloud Computing

• Ahorros de costes en IT empresariales– Ordenadores de bajo coste para los usuarios– Costes más bajos en infraestructura IT– Costes de software más bajos

• Mejora del rendimiento global– Elasticidad para conseguir una escalabilidad superior

• Menos problemas en mantenimiento• Actualizaciones inmediatas de software• Capacidad de almacenamiento ilimitada• Incremento de la seguridad de los datos (safety)

36

Desventajas de Cloud Computing

• Requiere una conexión a Internet continua y rápida• Puede ofrecer bastante latencia• Características disponibles todavía limitadas• Falta de confianza

– Los datos guardados pueden ser accedidos por otros – Nuestros datos ya no están en la empresa– Problemas legales (LODP): Safe Harbor

• Dependencia tecnológica en otras compañías ajenas– Si la nube pierde los datos, ¡estás perdido!

37

Conclusiones• Cloud Computing nos ofrece un nuevo paradigma para alojar nuestros sistemas de

información, aplicaciones y datos en la nube de Internet– Son muchas las ventajas potenciales de este enfoque

• Ahorro de costes, pago por uso• Escalabilidad exponencial

– PERO también muchos los riesgos para su implantación global inmediata• Falta de control sobre nuestros datos y sistemas• Relativa baja madurez de los productos que hacen posible Cloud Computing

• Ahora están surgiendo las herramientas y plataformas, pero tenemos que trabajar en patrones de diseño para asegurarnos buenas prácticas en Cloud Computing

• El futuro inmediato de los sistemas de información empresarial combinará los enfoques tradicionales, donde los sistemas y datos se ejecutan en infraestructura propia, con un paulatino e incremental despliegue de datos y aplicaciones a la nube.

38

Referencias• Windows Azure Platform

– http://www.microsoft.com/windowsazure/

• Windows Azure SDK– http://www.microsoft.com/windowsazure/getstarted/#wa

• Windows Azure Introduction– http://www.slideshare.net/lynnlangit/windows-azure-introduction-3337040– http://www.slideshare.net/lynnlangit/windows-azure-platform-2626957

• Introducing the Azure Platform– http://davidchappellopinari.blogspot.com/2008/10/introducing-azure-services-platform.

html

39

Cloud Computing: Microsoft Windows Azure 2de Junio de 2011, 18:00-21:00

Dr. Diego Lz. de Ipiña Glz. de Artazadipina@deusto.es

http://paginaspersonales.deusto.es/dipina http://www.slideshare.net/dipina

http://www.morelab.deusto.es

top related