architecture, services and programming model ilian iliev telerik corp
TRANSCRIPT
![Page 1: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/1.jpg)
Windows AzureArchitecture, Services and Programming Model
Ilian IlievTelerik
Corp.www.telerik.com
![Page 2: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/2.jpg)
What is Windows Azure?
Platform Overview and Architecture
![Page 3: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/3.jpg)
The Microsoft Cloud~100 Globally Distributed Data Centers
Quincy, WA Chicago, IL San Antonio, TX Dublin, Ireland Generation 4 DCs
3
![Page 4: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/4.jpg)
The Microsoft CloudHighly available, scalable, and consistent application
fabric environment
4
![Page 5: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/5.jpg)
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
Server acquisition
Patching
Installing OS
Network
Storage
Memory
RoutersHard drive failure
Load balancingUpdating
5
![Page 6: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/6.jpg)
How Windows Azure solves your problems?
Windows Azure runs your application code Inside virtual machines
Managed by the fabric controller
6
![Page 7: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/7.jpg)
Platform Services
Software Services
Application Services
Infrastructure Services
The Microsoft Cloud Categories of Services
7
![Page 8: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/8.jpg)
Storage Unstructured Data
BlobsMessage Queues
Distributed File System
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
Windows Azure Platform
Compute C / C++Win32 VHD
8
![Page 9: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/9.jpg)
Compute
Storage
Data SQL Azure Data Sync
Connectivity
Project “Sydney”
Security “Geneva”
Application Services
Frameworks
“Dublin” “Velocity”
Windows Azure Platform
Service Bus
Access Control
Table Storage
Blob Storage
Queue DriveContent Delivery Network
9
![Page 10: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/10.jpg)
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
Windows Azure Compute
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
![Page 11: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/11.jpg)
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
Windows Azure Compute(2)
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
![Page 12: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/12.jpg)
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
Windows Azure Diagnostics
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
![Page 13: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/13.jpg)
Compute
Data SQL Azure Data Sync
Connectivity
Project “Sydney”
Security “Geneva”
Application Services
Frameworks
“Dublin” “Velocity”
Service Bus
Access Control
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.
Storage
13
![Page 14: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/14.jpg)
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
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
14
![Page 15: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/15.jpg)
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
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
15
![Page 16: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/16.jpg)
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
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
> Message operations
• Add Message
• Get Message(s)
• Peek Message(s)
• Delete Message
16
![Page 17: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/17.jpg)
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
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
17
![Page 18: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/18.jpg)
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
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
18
![Page 19: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/19.jpg)
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
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
access19
![Page 20: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/20.jpg)
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
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)
20
![Page 21: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/21.jpg)
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
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
21
![Page 22: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/22.jpg)
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
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
22
![Page 23: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/23.jpg)
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
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”
23
![Page 24: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/24.jpg)
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
“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
24
![Page 25: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/25.jpg)
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
“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
25
![Page 26: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/26.jpg)
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
“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
26
![Page 27: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/27.jpg)
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
“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.
27
![Page 28: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/28.jpg)
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
“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
28
![Page 29: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/29.jpg)
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
“Dublin” Customizable tracking
profiles with dedicated, queryable storage for tracked data
Customizable monitoring of hosted services
29
![Page 30: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/30.jpg)
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
“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 Azure30
![Page 31: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/31.jpg)
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)31
Pricing(as of April 2012)
![Page 32: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/32.jpg)
AppFabric Service Bus
32
![Page 33: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/33.jpg)
AppFabric Access Control
33
![Page 34: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/34.jpg)
Table Storage Concepts
EntitiesTablesAccounts
moviesonline
Email = …Name = …
Email = …Name = …
Genre = …Title = …
Genre = …Title = …
Users
Movies
34
![Page 35: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/35.jpg)
Queue Storage Concepts
Messages
QueuesAccounts
sally
128 x 128 http://...
256 x 256 http://...
http://...
http://...
thumbnailjobs
traverselinks
35
![Page 36: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/36.jpg)
Blob Storage Concepts
BlobContainerAccounts
sally
PIC01.JPG
PIC02.JPG
MOV1.AVI
images
movies
36
![Page 37: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/37.jpg)
Blob Storage ConceptsAdding Blocks and Pages
BlobContainer
Accounts
sally
PIC01.JPG
PIC02.JPG
images
movies
Blocks
MOV1.AVI
Block or Page 1
Block or Page 1
Block or Page 1
37
![Page 38: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/38.jpg)
Windows Azure
Questions? ??
? ? ??
?? ?
http://clouddevcourse.telerik.com
![Page 39: Architecture, Services and Programming Model Ilian Iliev Telerik Corp](https://reader036.vdocument.in/reader036/viewer/2022062407/56649de75503460f94ae0729/html5/thumbnails/39.jpg)
Homework
1. Install Windows Azure SDK for your favorite programming language 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