1 / 39

Windows Azure

Windows Azure. Architecture, Services and Programming Model. Ilian Iliev. Telerik Corp. www.telerik.com. What is Windows Azure?. Platform Overview and Architecture. The Microsoft Cloud. ~100 Globally Distributed Data Centers. Quincy, WA. Chicago, IL. San Antonio, TX. Dublin, Ireland.

briana
Download Presentation

Windows Azure

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Windows Azure Architecture, Services and Programming Model Ilian Iliev Telerik Corp. www.telerik.com

  2. What is Windows Azure? Platform Overview and Architecture

  3. The Microsoft Cloud ~100 Globally Distributed Data Centers Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Generation 4 DCs

  4. The Microsoft Cloud Highly available, scalable, and consistent application fabric environment

  5. How Your Ideas are Shipped without the Cloud? Lets say you have an idea? What do you need to manage to ship your idea to potential customers? Managing environment Network Hard drive failure Routers Installing OS Load balancing Updating Storage Patching Memory Server acquisition

  6. How Windows Azure solves your problems? • Windows Azure runs your application code • Inside virtual machines • Managed by the fabric controller

  7. The Microsoft Cloud • Categories of Services Application Services Software Services Platform Services Infrastructure Services

  8. Windows Azure Platform Personal Data Repository Application Marketplace Information Marketplace Application Services Services Hosting Workflow Hosting Distributed Cache Frameworks Secure Token Service Declarative Policies Claims-Based Identity Federated Identities Security Service Bus Composite Applications On-Premise Bridging Connectivity Relational Database ADO.NET, ODBC, PHP Transact-SQL Data Synchronization Data C / C++ Compute Win32 VHD Unstructured Data Blobs Message Queues Distributed File System Content Distribution Storage

  9. Windows Azure Platform Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  10. 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 Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  11. Windows Azure Compute(2) • 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 Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  12. Windows Azure Diagnostics • Configurable trace, performance counter, Windows event log, IIS log & file buffering • Local data buffering quota management • Query & modify from the cloud and from the desktop per role instance • Transfer to storage scheduled & on-demand • Filter by data type, verbosity & time range Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  13. 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. Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Storage

  14. Windows Azure Table Storage • Designed for structured data, not relational data • Data definition is part of the application • A Table is a set of Entities (records) • An Entity is a set of Properties (fields) • No fixed schema • Each property is stored as a <name, typed value> pair • Two entities within the same table can have different properties • No schema is enforced Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute TableStorage Blob Storage Queue Drive Content Delivery Network Storage

  15. Windows Azure Blob Storage • Storage for large, named files plus their metadata • Block Blob • Targeted at streaming workloads • Each blob consists of a sequence of blocks • Each block is identified by a Block ID • Size limit 200GB per blob • Page Blob • Targeted at random read/write workloads • Each blob consists of an array of pages • Each page is identified by its offset from the start of the blob • Size limit 1TB per blob Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  16. Windows Azure Queue • Performance efficient, highly available and provide reliable message delivery • Asynchronous work dispatch • Inter-role communication • Polling based model; best-effort FIFO data structure • Queue operations • Create Queue • Delete Queue • List Queues • Get/Set Queue Metadata Application Services • Message operations • Add Message • Get Message(s) • Peek Message(s) • Delete Message “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  17. Windows Azure Drive • Provides a durable NTFS volume for Windows Azure applications to use • Use existing NTFS APIs to access a durable drive • Durability and survival of data on application failover • Enables migrating existing NTFS applications to the cloud • Drives can be up to 1TB; a VM can dynamically mount up to 8 drives Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  18. Windows Azure Drive(2) • A Windows Azure Drive is a Page Blob • Example, mount Page Blob as X:\ • http://<account>.blob.core.windows.net/<container>/<blob> • All writes to drive are made durable to the Page Blob • Drive made durable through standard Page Blob replication Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  19. Windows Azure Content Delivery Network • Provides high-bandwidth global blob content delivery • 18 locations globally (US, Europe, Asia, Australia and South America), and growing • Blob service URL vs. CDN URL • Blob URL: http://<account>.blob.core.windows.net/ • CDN URL: http://<guid>.vo.msecnd.net/ • Support for custom domain names • Access details • Blobs are cached in CDN until the TTL passes • Use per-blob HTTP Cache-Control policy for TTL (new) • CDN provides only anonymous HTTP access Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  20. 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) Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  21. SQL Azure Data Sync • Tools for data synchronization with SQL Azure • Connect on-premises apps with the cloud • Create cached-mode clients • Built on Microsoft Sync Framework and ADO.NET Sync Services Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  22. AppFabric Service Bus • Securely connect applications • Over the internet • Across any network topology • Across organizational boundaries • Primary application patterns • Eventing– notify applications and/or devices • Service Remoting– securely project on-premises services out to the cloud • Tunneling– app-to-app communication with NAT/Firewall traversal Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  23. AppFabric Access Control • Provides outsourcing of claims-based access control for REST web services • Key capabilities: • Usable from any platform • Low friction way to onboard new clients • Integrates with ADFS v2 • Supports OAuth WRAP / SWT • Enables simple delegation • Used today by Service Bus and “Dallas” Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  24. “Geneva” • Next generation identity and access management platform • Claims-based access and single sign-on for on-premise and cloud-based applications in the enterprise, across organizations, and on the Web • “Geneva Framework“ (Windows Identity Foundation) • Provides .NET development tools, which includes pre-built, user-access logic that externalizes authentication from applications. It helps developers build claims-aware .NET applications, plus build custom security token services (STS) • “Geneva Server“ • An STS for IT that issues and transforms claims and other tokens, manages user access and enables federation and access management for simplified single sign-on Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  25. “Geneva” “CardSpace Geneva” helping users navigate between multiple logons for simplified single sign-on providing complete user control and transparency for how personal information is shared Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  26. “Velocity” • Distributed in-memory cache platform for developing scalable, available, and highly-performance applications • Caches any serializable CLR object and provides access through simple cache APIs • Supports enterprise scale: tens to hundreds of computers • Configurable to run as a service accessed over the network • Supports dynamic scaling and automatic load balancing Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  27. “Velocity” • Supports continuous availability of cached data by storing copies on separate cache hosts • Integration with administration and monitoring tools such as Event Tracing for Windows (ETW) and System Center. Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  28. “Dublin” • Evolution of WAS/IIS and Windows App Server role to run and manage WF and WCF services • Enhances the hosting of Windows Communication Foundation (WCF) and Windows Workflow (WF) in the Windows Process Activation Service (WAS) • Simplified deployment and management of WCF and WF services hosted in WAS • Configuration of persistence for durable workflows Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  29. “Dublin” • Customizable tracking profiles with dedicated, queryable storage for tracked data • Customizable monitoring of hosted services Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  30. “Dallas” • Information-as-a-service • Discover, acquire, and consume structured, blob, and real-time data to power any application – on any platform and any screen size • Brokerage Business – partner driven ecosystem and global reach to deliver data and functionality to developers and information workers • Analytics and Reporting – single click analysis to augment private data with public data • Built on Windows Azure and SQL Azure Application Services “Dublin” “Velocity” Frameworks “Geneva” Security Access Control Project “Sydney” Connectivity Service Bus SQL Azure Data Sync Data Compute Table Storage Blob Storage Queue Drive Content Delivery Network Storage

  31. Azure Pricing • Computing Nodes • Shared CPU, 768 MB RAM • $0.02 / hour ($15 / month) • 1 Core, 1.75 GB RAM • $0.12 / hour ($90 / month) • Storage • $0.125 / GB + $0.01 / 10000 operations • SQL Azure Database • 100 MB – $0.0067 / hour ($5 / month) • 1 GB – $0.0133 / hour($10 / month) (as of April 2012) Pricing

  32. AppFabric Service Bus

  33. AppFabric Access Control

  34. Table Storage Concepts Accounts Tables Entities Email = … Name = … Users Email = … Name = … moviesonline Genre = … Title = … Movies Genre = … Title = …

  35. Queue Storage Concepts Accounts Queues Messages 128 x 128 http://... thumbnailjobs 256 x 256 http://... sally http://... traverselinks http://...

  36. Blob Storage Concepts Accounts Container Blob PIC01.JPG images PIC02.JPG sally movies MOV1.AVI

  37. Blob Storage ConceptsAdding Blocks and Pages Blob Blocks Accounts Container PIC01.JPG images PIC02.JPG sally Block or Page 1 Block or Page 1 movies MOV1.AVI Block or Page 1

  38. Windows Azure ? Questions? ? ? ? ? ? ? ? ? ? http://clouddevcourse.telerik.com

  39. Homework • Install Windows Azure SDK for your favorite programming language • E.g. C#, Java, PHP or JavaScript • Create a "Hello World" Azure application • Run it in the Azure Compute emulator • Create an application for uploading, listing and downloading files from Azure Blobs • Run it in the Azure Storage emulator • As a result of your homework submit the source code of your Azure applications.

More Related