• Save
Cloud Computing y la nueva plataforma Windows Azure
Upcoming SlideShare
Loading in...5
×
 

Cloud Computing y la nueva plataforma Windows Azure

on

  • 3,254 views

Intorduccion a la nueva plataforma Windows Azure, implementacion de Microosft para Cloud Computing. Target developes y arquitectos de software

Intorduccion a la nueva plataforma Windows Azure, implementacion de Microosft para Cloud Computing. Target developes y arquitectos de software

Statistics

Views

Total Views
3,254
Views on SlideShare
3,119
Embed Views
135

Actions

Likes
2
Downloads
0
Comments
0

4 Embeds 135

http://jpgarcia.cl 112
http://jpgarcia69.wordpress.com 19
http://www.linkedin.com 3
http://translate.googleusercontent.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Slide objectives: Explain what the cloud is in relationship to on-premises servers and hosted severs. Speaking Points: To put the cloud in perspective, let’s first think about the available options for deploying and running your application today. Today, there are a few established approaches for deploying and running applications.ServerOn one side you have on-premises servers or a self-hosted model. With on-premises servers, you bring your own machines, connectivity, software, and in some cases software licenses.You have complete control of the environment, the software stack, the hardware, etc.However, you also have complete responsibility. Your organization must have the skills and expertise to operate and manage the environment and software. You must take on the responsibility of patching the environment, replacing hardware, etc.These days, very few people want to be in this business. However, on-premises servers are not going away anytime soon. In some cases organizations have to maintain solutions running in an on-premises environment due to regulatory, data, or privacy requirements.Hosted ServersAn established alternative to the on-premises model is with a hosted environment.With hosted servers, you are effectively renting capacity – including machines, connectivity, and in some cases software.With this model, you have less control then when you’re managing your own servers. For instance, you can’t walk up to a machine, and plug in an external drive to load data. Or easily make hardware or software adjustments to optimize for performance. However, you also have fewer responsibilities when it comes to operating, updating, patching, and managing the environment. What is generally much more attractive about a hosted model is the cost model.The upfront capital costs can be much lower then building out your own infrastructure. However, one of the downsides is that you generally pay for the fixed capacity on a monthly basis – even if your application is idle. CloudWhat we are starting to see in the industry is the emergency of the cloud as a platform for building and running applications. So what is the cloud and how does it relate to these established options for running your apps?A cloud platform is designed as a shared, multi-tenant infrastructure.Cloud platforms utilize virtualization to: share hardware resources, provide isolation of applications or tenants, and also to provide a more dynamic infrastructure.Ability to scale out your application over multiple server instances.Because it is a shared infrastructure, there is even less control compared to a hosted environment. As this is an emerging space, there is a wide range of different types of cloud solutions. Some of the solutions focus purely on providing virtualized infrastructure. Servers you can remote into. However, many cloud platforms are starting to focus on raising the level of abstraction – so you can focus on building and deploying applications rather than remoting into machines and maintaining or patching servers. Old:Level of abstraction varies greatly today with the solutions in the marketWithin the cloud, there are things that are delivered as an infrastructureServices – services provided by the infrastructure and services you would consume programmaticallyFinally, one of the primary reasons why organizations ranging from startups, independent software vendors, and large enterprises are starting to investigate the cloud is the pricing model. With a cloud platform, you can expect a pay as you go pricing model – where you pay for what you use. [build arrow] I believe it’s important to understand that the cloud is part of a continuum. It is one ofpotential approaches that you can begin to use to deploy and run your applications. However, it’s important to understand that the cloud is not the silver bullet. It is not the perfect solution for every application. Notes:We view cloud as scale out, automated service management, high availability and multi-tenantBut cloud has other considerations: location, infrastructure, business model, ownership and management
  • In this next section, we’ll dig a little deeper on storage.Recall there are 3 types of storage.Recall the design point is for the cloud, there are 3 replicas of data, and we implement guaranteed consistency. In the future there will be some transaction support and this is why we use guaranteed consistency.Access is via a storage account – you can have multiple storage accounts per project.Although the API is REST, there is a supported .net storage client in the SDK that you can use within your project. This makes working with storage much easier.
  • Tables are simply collections of Entities.Entites must have a PartitionKey and RowKey – can also contain up to 256 other properties.Entities within a table need not be the same shape! E.g.:Entity 1: PartitionKey, RowKey, firstnameEntity 2: PartitionKey, RowKey, firstname, lastnameEntity 3: PartitionKey, Rowkey, orderId, orderData, zipCodePartitions are used to spread data across multiple servers. This happens automatically based on the partition key you provide. Table “heat” is also monitored and data may be moved to different storage endpoints based upon usage.Queries should be targeted at a partition, since there are no indexes to speed up performance. Indexes may be added at a later date.Its important to convey that whilst you could copy tables in from a local data source (e.g. sql) it would not perform well in the cloud, data access needs to be re-thought at this level. Those wanting a more traditional SQL like experience should investigate SDS.
  • BlobsBlobs are stored in containers. There are 0 or more blobs per container and 0 or more containers per account. (since you can have 0 containers, but then you would not have any blobs either)Typically url in the cloud is http://accountname.blob.core.windows.net/container/blobpathBlob paths can contain the / character, so you can give the illusion of multiple folders, but there is only 1 level of containers.Blob capacity at CTP is 50gb.There is an 8k dictionary that can be associated with blobs for metadata.Blobs can be private or public:Private requires a key to read and writePublic requires a key to write, but NO KEY to read.Use blobs where you would use the file system in the past.
  • Queues are simple:Messages are placed in queues. Max size is 8k (and it’s a string)Message can be read from the queue, at which point it is hidden.Once whatever read the message from the queue is finished processing the message, it should then remove the message from the queue. If not the message is returned to the queue after a specific user defined time limit. This can be used to handle code failures etc.
  • Slide objectives: Define and enumerate the Windows Azure Platform Appfabric (aka .NET Services.)Speaking points: Much in the same way that SQL Services is about extending SQL Server to the cloud, we are also extending key .NET capabilities to the cloud as services.We call these .NET Services. Some of you maybe familiar with previous codenames such as BizTalk Services.These services are really key components you would need for building distributed, connected applications. When we talk about connecting to your existing on-premises applications and enabling the composition of hybrid (Cloud + on-premises) applications – that is where .NET Services really comes in.There are currently two .NET Services: the Service Bus & the Access Control ServiceService Bus:The Service Bus is designed to provide a general purpose application bus, available on the internet at internet scale. You can really thin of the Service Bus as being similar to an Enterprise Service Bus that many enterprise organizations have today. However, we believe that when providing a Service Bus as a programmable service on the internet, there are a wider range of scenarios for many more types of organizations.Fundamentally, the .NET Service Bus is about connecting applications across network and application boundaries and making key message exchange patterns such as publish and subscribe messaging very simple.Access Control:The Access Control service is designed to provide rules-driven, claims-based access control for applications. Essentially, this allows you to define authorization rules for your applications using the claims-based approach that we are adopting within many Microsoft products and technologies and that is becoming adopted in the industry.Notes: Windows Azure has the .NET Framework built into it so thatyou can use those services within your application.But just like your application must be designed to scale out, the services that we have built into Windows over time in .NET also need to be designed and built in a way that can scale out naturally. We want to create services for you, and that's the purpose of .NET services, creating a pool of resources available to you to take advantage of and do things within your application very simply. So we're including a built-in, scale-out implementation of a service bus. The service bus lets you connect your on-premises systems securely into the cloud, into the Azure environment, while allowing your data and your information to traverse firewalls, solving a problem that is a bane of many application developments.

Cloud Computing y la nueva plataforma Windows Azure Cloud Computing y la nueva plataforma Windows Azure Presentation Transcript

  • Cloud Computing y la nueva plataforma Windows Azure
    Juan Pablo Garcia Gonzalez
    jpgarcia69@hotmail.coml
    http://liarjo.spaces.live.com/
  • Agenda
    Cloud Computing
    Windows Azure
    Desarrollo con VS2010 y Windows Azure
  • Continuidad de la Plataforma
    On-Premises
    Servers
    Hosted Servers
    Cloud Platform
    • Arriendo de maquinas, conectividad, software
    • Menor control
    • Menos responsabilidades
    • Menores costos de capital
    • Mayor flexibilidad
    • Pagos fijos, incluso si no lo usa
    • Infraestructura compartida, multi arrendatario
    • Dinámica y virtualizada
    • Escalable y disponible
    • Abstraído de la arquitectura
    • Para escenarios exigentes
    • Pago por uso
    • Tiene su propias maquinas, conectividad, software, etc…
    • Control Total
    • Responsabilidad completa
    • Capacidad Estática
    • Costos de capital inicial para la infraestructura
  • ¿Qué es Cloud Computing?
    Cloud Computing consiste en utilizar un centro de datos a distancia para la gestión escalable, confiable, acceso On-Demand a aplicaciones y datos
    Escalable se entiende por
    • Posiblemente millones de usuarios simultáneos para la aplicación
    • Uso de paralelismo masivo en las aplicaciones
    • Fiable, elástico y bajo demanda
    • 5 “nueves” disponibles en este momento
    Aplicaciones clásicas en la nube
    • Búsqueda Web, social media, Almacenamiento “cloud”, e-mail
    Aplicaciones de segunda generación en la nube
    • Aplicaciones de análisis de datos de gran escala y colaboración científica
  • Terminología Cloud
    Inter relacionadas
  • Objetivos de Azure
    Una platforma se servicios flexible a escala Internet
    • Escenarios simples son fáciles, los complejos son posibles
    • Servicios alojados en los Datacenter de Microsoft
    • Diseñado para una alta disponibilidad y escalabilidad
    Basado en estándares de Internet
    • Soporte de múltiples protocolos como HTTP, REST, SOAP, AtomPub
    • Importante inversión en abrir los servicios de Azure a la comunidad
    Fácil adopción
    • Herramientas y lenguajes conocidos, frameworks .NET y Visual Studio
    • Posibilidad de construir soluciones para sus instalaciones, la nube o hibrida
    • Integrable con las inversiones existentes, como AD y aplicaciones locales
  • Plataforma Windows Azure
  • Windows Azure Platform
    Computo: Capacidad de computo virtualizada basada en Windows Server
    Almacenamiento: almacenamiento persistente, escalable y disponible
    Gestión: automática, model-drivenmanagement de servicios
    Database:procesamiento relacional para datos estructurados y desestructurados
    Service Bus: Bus de aplicaciones de proposito general
    Access Control: control de acceso Rules-driven, claims-based
    AppFabric
  • Windows Azure
    Your
    Service
    DNS
    LB
    Web Portal
    (API)
    LB
    Fabric
    Controller
  • Service
    Service
    Service
    Model
    Your
    Service
    DNS
    LB
    Web Portal
    (API)
    DNS
    config
    LB
    Implementación de Servicios
    Fabric
    Controller
  • Your
    Service
    Service
    Service
    DNS
    Service
    Service
    Service
    Service
    Service
    LB
    Service
    Web Portal
    (API)
    LB
    Model
    Escalamiento de Servicios
    Fabric
    Controller
  • Your
    Service
    Service
    DNS
    Service
    Service
    Service
    LB
    Web Portal
    (API)
    !
    LB
    Model
    Monitoreo y recuperación
    Fabric
    Controller
  • La arquitectura de una aplicación Azure
    Roles son en su mayoría procesamiento sin estado en el core
    • Web Roles proveen acceso Web a los usuarios de las aplicaciones. Web roles crean tareas para los worker Roles
    • Worker Roles hace el trabajo pesado y administra la data en las tablas y Blobs
    • Comunicación utilizando queues
    • El numero de instancias del role es dinámico y varia con la carga
  • Web Role
    Granja de servidoresWeb que manejan las peticiones de Internet
    Web Core alojado en IIS7
    • Hosts ASP.NET
    • Configuración de II7 basada en XML
    • Integratedmanaged pipeline
    • Soporta SSL
    • Políticas de seguridad de acceso al código administrado de Windows Azure
  • Worker Role
    • No recibe conexiones de entrada desde la red
    • Puede leer los requerimientos desde lasqueue en el Storage
  • Demo
    Creación de proyectos Web Role y Worker Role con VS2010
  • Azure Data Storage
    Blobs, Tables, Queues
    Diseñado para la nube
    3 replicas
    Consistencia garantizada
    Acceso directo desde Internet vía REST API
    Soporta el cliente .NET Clientlibrary
    No requiere implementar lógica
    LA cuenta de Storage da una única URL, ejemplo:
    https://<youraccount>.blob.core.windows.net
  • Tablas
    Entidades y propiedades (filas & columnas)
    Ámbito de las tablas por cuenta
    Diseñadas para «billions»
    Escalamiento usando particiones
    Partitionkey & rowkey
    Operaciones realizadas en las particiones
    Consultas eficaces
    No hay limite en el numero de particiones
    Usa ADO.NET Data Services
  • Windows Azure Table Storage
    Entity
    Table
    Account
    Name=…hash=…
    Users
    Name=…hash=…
    Account
    Tag=…id=…
    PhotoIndex
    Tag=…,id=…
  • Particiones y Partition Key
    Todas las tablas tienen un partitionkey
    • Es la primera propiedad (columna) de tu tabla
    • Todas las entidades en la tabla con el mismo valor de partitionkey se guardan en la misma partición (local para el storage y acceso eficiente)
    • Azure balanceara la carga de las particiones automáticamente
  • Demo
    Uso del TableStore de Azure
  • Blobs
    Blobs son almacenados en contenedores
    1 o mas contenedores por cuenta
    El alcance es a nivel de contenedores
    …/Container/blobname
    $root es un nombre especial para el contenedor raiz
    Blobs
    Dos tipos, Page and Block
    Page es aleatorio R/W, Block tiene estructura semántica
    Metadata, se accesa independiente
    Par nombre/Valor (8kb total)
    Acceso privado o publico al contenedor
  • Windows Azure Blob Storage
    IMG001.JPG
    pictures
    IMG002.JPG
    sally
    movies
    MOV1.AVI
    REST API para operaciones Blob. Blob URL:
    http://<Account>.blob.core.windows.net/<Container>/<BlobName>
    e.g. http://sally.blob.core.windows.net/pictures/img001.jpg
    Blob
    Container
    Account
  • Colas
    Simple cola de envió asíncrono
    Creación y eliminación de colas
    Mensajes:
    Consultados al menos una vez
    Tamaño máximo 8kb
    operaciones:
    Enqueue
    Dequeue
    RemoveMessage
  • Windows Azure Queues
    Message
    Queue
    Account
    128x128, http://…
    Thumbnail Jobs
    256x256, http://…
    Account
    http://…
    Indexing Jobs
    http://…
  • Demo
    Uso de QUEUEs para comunicar Web Role con Worker Role
  • SQL Azure
    Business Intelligence
    Reporting
    Data Sync
    Database
    Servicios iniciales
    Database – capacidades Core SQL Server
    Servicios futros
    Data Sync – Permitir el syncframework
    Capacidades adicionales de SQL Server como: Business Intelligence y Reporting
  • SQL Azure Database
    Base de datos relacional altamente escalable como servicio
    Servicios de base de datos relacional
    • SQL Server technologyfoundation
    • Alta simetría
    • Alta escalabilidad
    • Alta seguridad
    Base de datos “as a Service” – mas allá del hosting
    Browser
    Database
    SOAP/REST
    HTTP/S
    ADO.NET/REST - EDM
    HTTP/S
    MS
    Datacenter
    Windows Azure
    Compute
    App Code
    (ASP.NET)
    Propuesta de Valor al cliente
    • Auto aprovisionamiento y capacidad bajo demanda
    • Sinetria con la plataforma de base de datos en sis instalaciones
    • Alta disponibilidad inmediata y tolerancia a fallas
    • Mantención automatizada de la infraestructura (DB)
    • Simple, flexible, y pago por uso.
    SQL Server Report Server
    (on-premises)
    T-SQL (TDS)
    T-SQL (TDS)
    SQL Azure
    Database
    - AD Federation (LiveId /AppFabric AC)
  • Modelo de aprovisionamiento de Servicio
    Cada account tiene cero o mas servers
    Un portal común para aprovisionamiento de Azure completo
    Herramientas de facturación
    Cada server tiene una o mas bases de datos
    Contienen metdata sobre la base de datos y u uso
    Unidad de autentificación
    Unidad de Geo-localizacion
    Nombre de DNS generado
    Cada databasetiene objetos estándares de SQL
    Unidad de conssitencia
    Unidad de multi arrendamiento
    Contiene usuarios, tablas, vistas, índices, etc.
    Unidad de facturación mas granular
    Account
    Server
    Database
  • AppFabric
    Estendiendo .NET a la nube con servicios escalables a nivel internet
    ServiceBus
    AccessControl
    Service Bus: Bus de servicios de propósito genealr
    Access Control: Control de acceods con Rules-driven y claims-based
  • Recursos - Contacto
    Windows Azure Platform
    http://www.microsoft.com/windowsazure/
    Windows Azure Tools for Microsoft Visual Studio 1.1
    http://www.microsoft.com/downloads/details.aspx?FamilyID=5664019e-6860-4c33-9843-4eb40b297ab6&displaylang=en
    What is Windows Azure?
    http://channel9.msdn.com/posts/dunnry/What-is-Windows-Azure/
    Windows Azure Storage Overview
    http://channel9.msdn.com/posts/dunnry/Windows-Azure-Storage-Overview/
    Juan Pablo Garcia Gonzalez: jpgarcia69@hotmail.coml
  • Muchas gracias