Download presentation
Presentation is loading. Please wait.
Published byAshley Charles Modified over 9 years ago
1
Architecture, Services and Programming Model Ilian Iliev Telerik Corp. www.telerik.com
2
Platform Overview and Architecture
3
~100 Globally Distributed Data Centers Quincy, WAChicago, ILSan Antonio, TXDublin, IrelandGeneration 4 DCs 3
4
Highly available, scalable, and consistent application fabric environment 4
5
Lets say you have an idea? What do you need to manage to ship your idea to potential customers? Managing environment Server acquisition Patching Installing OS Network Storage Memory Routers Hard drive failure Load balancing Updating 5
6
Windows Azure runs your application code Inside virtual machines Managed by the fabric controller 6
7
Platform Services Software Services Application Services Infrastructure Services Categories of Services 7
8
Storage Unstructured Data Blobs Message Queues Distributed File System Content Distribution Data Transact-SQL Data Synchronization Relational Database ADO.NET, ODBC, PHP Connectivity Composite Applications On-Premise Bridging Service Bus Security Claims-Based Identity Federated Identities Secure Token Service Declarative Policies Application Services Application Marketplace Information Marketplace Personal Data Repository Frameworks Workflow Hosting Distributed Cache Services Hosting Compute C / C++ Win32 VHD 8
9
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network 9
10
Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network 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 10
11
Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network Compute 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 11
12
Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network Compute 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 12
13
Compute Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control 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://..core.windows.net Client libraries for.NET, Java, PHP, etc. Storage 13
14
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table Storage Blob StorageQueueDrive Content Delivery Network 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 pair Two entities within the same table can have different properties No schema is enforced 14
15
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 QueueDrive Content Delivery Network 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 15
16
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob Storage Queue Drive Content Delivery Network 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 >Message operations Add Message Get Message(s) Peek Message(s) Delete Message 16
17
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueue Drive Content Delivery Network 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 17
18
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueue Drive Content Delivery Network A Windows Azure Drive is a Page Blob Example, mount Page Blob as X:\ http://.blob.core.windows.net/ / http://.blob.core.windows.net/ / All writes to drive are made durable to the Page Blob Drive made durable through standard Page Blob replication 18
19
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive 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://.blob.core.windows.net/ CDN URL: http://.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 19
20
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network 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) 20
21
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network 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 21
22
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network 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 22
23
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network 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” 23
24
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network > 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 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) 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 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 24
25
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network “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 25
26
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin” “Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network 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 26
27
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin” “Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network 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. 27
28
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin” “Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network 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 28
29
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin” “Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network Customizable tracking profiles with dedicated, queryable storage for tracked data Customizable monitoring of hosted services 29
30
Compute Storage Data SQL Azure Data Sync Connectivity Project “Sydney” Security “Geneva” Application Services Frameworks “Dublin”“Velocity” Service Bus Access Control Table StorageBlob StorageQueueDrive Content Delivery Network 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 30
31
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) 31 (as of April 2012)
32
32
33
33
34
EntitiesTablesAccounts moviesonline Email = … Name = … Email = … Name = … Genre = … Title = … Genre = … Title = … Users Movies 34
35
MessagesQueuesAccounts sally 128 x 128 http://... 256 x 256 http://... http://... http://... thumbnailjobs traverselinks 35
36
BlobContainerAccounts sally PIC01.JPG PIC02.JPG MOV1.AVI images movies 36
37
BlobContainerAccounts sally PIC01.JPG PIC02.JPG images movies Blocks MOV1.AVI Block or Page 1 37
38
Questions? http://clouddevcourse.telerik.com
39
1. Install Windows Azure SDK for your favorite programming language Windows Azure SDKWindows Azure SDK E.g. C#, Java, PHP or JavaScript 2. Create a "Hello World" Azure application Run it in the Azure Compute emulator 3. 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. 39
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.