Understanding the Windows Azure PlatformDavid GristwoodApplication Architect, Microsoft blogs.msdn.com/david_gristwood
Platform as a Service
CLOUD COMPUTINGINFRASTRUCTUREPLATFORMSOFTWAREAS A SERVICEAS A SERVICEAS A SERVICEIT as a Service
CLOUD COMPUTINGINFRASTRUCTUREPLATFORMSOFTWAREAS A SERVICEAS A SERVICEAS A SERVICEIT as a Service
Platform as a ServicePlatform TodayServer, VM, Network, Storage, AppAppPatch, Service Release, New VersionMaintained for YouAssembly RequiredReady-Made ServicesCustom, InconsistentStandardizedPlan for Peak LoadOn-Demand ScaleBuilt to Avoid & Recover from FailureBuilt to Expect & Withstand Failure
The OS for PaaS is:
Compute    ▪    Storage    ▪    Networking    ▪    Identity & SecurityFOUNDATIONWeb    ▪    HPC    ▪    Caching    ▪    Messaging    ▪    Workflow    ▪    Content DeliverySERVICESRelational Database    ▪    Reporting & Analytics  ▪    Data SyncINFORMATIONOnline Portal    ▪    Marketplace    ▪    Development  Tools    ▪    Management ToolsTOOLS
YOU DECIDE:Language, Dev Framework, Dev Tool, Management Tool, Datacenter
Windows Azure 0pportunitiesMove Applications to the CloudStore Data inthe CloudExtend Applications to the CloudCreate New Solutions by Combining Cloud ServicesCreate New Cloud Services
The Windows Azure Philosophy
Windows Azure is about ScaleDesigned from the ground up for true Internet scale
Offers global presence
Platform for next generation cloud aware systems
Ride the “network effect”
LinkedIn: 16 months for first million users, 11 days for most recent million
Facebook:  5 years to hit 250m users, 8 months to double
Scale up and scale downwww.flickr.com/photos/ScroffTheBad
Operational Excellence & Elasticity“Growing Fast” “Predictable Bursting”Need high reliability
LOB, software as a service
Need massive scale
Social networking, web 2.0
Have variable load /  unpredictable lifetime
Ticketing, marketing
Parallel processing
Financial applications
Don’t fit in well with a company’s data center
Avoid IT dept, support joint ventures
Benefit from external storage
Archive “On and Off” “Unpredictable Bursting”Average UsageComputeComputeComputeComputeAverage Usage AverageUsageAverage Usage Time Time Time Time
Helps your Systems ScaleMost architecture is hidden deep inside code
WindowsAzure encourages you to define your application into constituent parts
Windows Azure supports cloud enabled applications
Windows Azure can scale the parts of your application as appropriatewww.flickr.com/photos/39818355@N00/2128626176
Flexible Architecture Systems evolve over time
Cloud is not an “all or nothing” proposition
Hybrid model well supported
Windows Azure makes it easier to extend to the cloudwww.flickr.com/photos/tomkpunkt/3695066577
Opening up the CloudAllow developers to apply their existing skills to the cloud
Support for .NET, Ruby, PHP, Java
Interoperability with any platform, tools or technology www.flickr.com/photos/h19/2306213399/in/set-72157594224557858
Flexible Business ModelNo up front hardware purchase
“Pay as you go” model
Ideal in current economical climate www.flickr.com/photos/cleebster/2508660124
Microsoft Data Centers
Windows Azure Platform Availability Northern EuropeNorth Central USAEastern AsiaWestern Europe South Central USASoutheast Asia
Delivering an Efficient & Sustainable Cloud
Chicago Datacentre – Scalable, Sustainable One of world’s largest datacentres using containers, on-line on July 2009Cost $500 million700k sqft facility (approx 16 football fields)30 MegaWatts today, 60 MW for future useSecurityISO 27001:2005 Accreditation - Security ManagementSAS 70 Type I and II  Attestations - Audit standard for our internal controls systemContainers40 ft containers with 1800-2500 servers 10 x density traditional datacentres Optimizes efficiency,  reduces wastes & carbon footprint Delivers an average PUE of 1.22
Dublin DatacentreFirst Mega Datacentre built outside the US, on-line on July 2009Cost $500 million,  303+sq ft facility and growing
EU Datacenter Best Practice Award Winner
Stand-alone Server Pods
 Environmentally Sustainable
 Free Air-Cooling via Air-Side Economization
 50% less energy use vs. traditional facilities
1 % water use vs. traditional facilities
5.4MegaWatts today, 22.2 MW for future use
ISO 27001:2005 Accreditation
SAS 70 Type I and II  AttestationsWindows Azure Platform ApplianceAzure Service in Your DatacenterIdentical to the hardware in Azure datacentersDelivered by a choice of hardware partnersBenefitsPhysical ControlGeographic ProximityRegulatory ComplianceData Sovereignty Currently in development with several partnersFujitsu, Dell, HP, and eBayMicrosoftService ProviderCustomer
The Windows Azure Platform
The Windows Azure Platform
Window Azure Platform – The Big PictureWindows Azure AppFabricSQL AzureApplicationsWindows AzureApplicationsOthersMobileDesktopServer
Windows Azure Development
Windows Azure Tools for Visual StudioWindows Azure ToolingVisual Studio 2008
Visual Studio 2010
Project Templates
Model & Config Tooling
Package & 1 Click Deploy
Debugging Support
Storage Explorer
Server Explorer
IntelliTrace SupportWindows Azure SDKWindows Server 2008 or Windows 7
SQL Express 2005+
.NET 3.5 SP1+
Development Fabric
Development Storage
.NET APIsVisual Studio 2010
Visual Studio 2010
Visual Studio 2010
Development Fabric and StorageLocal MachineWindows Azure Simulation Environment Development StorageDevelopment Fabric
Windows Azure Platform Management PortalFaster and more user friendly portal for Windows Azure Platform servicesEnables more visibility and control Supports multiple users and rolesEnable Remote Desktop and easily  connect to Windows Azure instancesBuilt on the Windows Azure Service Management APIs
Remote DesktopPortal-integrated Remote Desktop access to instances within your deploymentUse standard Remote Desktop clientDynamic configuration of Remote Desktop settingsCredentialsEnable/DisableExpiration of credentialsAbility to take instances on/off the load balancer for debugging
Windows Azure Building Blocks
Application ComputeStorageFabricConfigAppFabricApplicationsSQL AzureWindows AzureApplicationsMobileDesktopServerOthers
Azure Compute Building BlocksWindows Server 2008 x64 Virtual Machine.NET Framework – 3.5 SP1 and 4.0Supports Full Trust but no Admin rightsNative Code in User ModeFabric manages role lifecycleWeb RoleWorker RoleHosted IIS 7HTTP/HTTPSASP.NETFast CGI + PHPManaged Code StartInbound on Any TCP PortHTTP/HTTPS
VM Size in Windows AzureWindows AzureSupports Various VM SizesSize set on Role in Service DefinitionService can have multiple rolesBalance of Performance per node vs. High Availability from multiple nodesSet in Service Model definitionAll instances of role will be of equal size
Role Programming ModelInherits RoleEntryPointOnStart() MethodCalled by Fabric on startup, allows you to perform initialization tasks.Reports Busy status to load balancer until you return true.Run() MethodMain logic is here – can do anything, typically infinite loop. Should never exit.OnStop() MethodCalled when role is to be shutdown, graceful exit.30 Seconds to tidy upYou call into RoleEnvironment to enumerate roles, endpoints, etc
Windows Azure Storage Building BlocksStorageQueueBlobs &DrivesAccountTablesEach storage account can hold up to 100 TB
Windows Azure BlobsProvide simple interface for storing named files along with metadata for the fileBlobsContainersPhoto1.pngPhoto2.pngPicturesPhoto3.png
Windows Azure BlobfeaturesREST based APImyaccount.blob.core.windows.net/mycontainer/myblob.jpgBlob Service APIPutBlob,  GetBlob, DeleteBlob,  CopyBlob,  SnapshotBlob,  LeaseBlob,  etcBlock Blob for streamingMaximum size 200GbPage Blobfor random read/write operations Maximum size 1Tb
Windows Azure DrivesPage Blob formatted as a NTFS single volume Virtual Hard Drive (VHD)NTFS APIs providing durable file storage on Page BlobsDrives can be up to 1TB, up to 16 can be mountedCan upload  VHD via Page Blob then mountEase migration of existing Windows applications to AzureDurability and survival of data on application failover or hardware failure
Windows Azure TablesStructured storage via entities, containing sets of propertiesEntitiesTablesGenre = …Title    = …MoviesGenre = …Title    = …ActorsName  = …DOB    = …
Windows Azure TablesProvides Massively Scalable Structured StorageBillions of entities (rows) and TBs of dataCan utilise thousands of servers as it scales upTriple replicated for durability Familiar and easy to use REST based APIEach entity can have up to 255 propertiesPartitionKey & RowKey as key and indexTimestamp for optimistic concurrencyNo fixed schema for all other propertiesProperty is stored as a <name, typed value> pairMyTable1Entity: Sports CarEntity: CarEntity: Customer
Table Partitions and Rows
Windows Azure QueuesProvide reliable storage and delivery of messagesMessagesQueues“Body1”“Body2”ThumbnailJobs“Body3”
Windows Azure QueuesProvide reliable storage and delivery of messagesMax size of message 8 KbStore URI to blog / table for larger dataMessages must explicitly be deletedSet message expiration timeoutMessage de-queue count for poison messages Input Queue (Work Items)QueueWorker RoleWeb RoleWorker RoleWeb RoleWorker RoleWeb RoleWorker Role
Notes on QueuesSleep when queue is emptyEnsure message processing is idempotentIf Worker role crashes, message becomes visible for another Worker to processf(x) = f(f(x))Ensure message processing is commutativeMessages will get handled out of orderJudicious use of Try/CatchCheck for poison messagesFor extreme throughput (>500 tps) Use multiple queues Read messages in batches or multiple work items per message

Understanding the Windows Azure Platform - Dec 2010

  • 1.
    Understanding the WindowsAzure PlatformDavid GristwoodApplication Architect, Microsoft blogs.msdn.com/david_gristwood
  • 2.
  • 3.
    CLOUD COMPUTINGINFRASTRUCTUREPLATFORMSOFTWAREAS ASERVICEAS A SERVICEAS A SERVICEIT as a Service
  • 4.
    CLOUD COMPUTINGINFRASTRUCTUREPLATFORMSOFTWAREAS ASERVICEAS A SERVICEAS A SERVICEIT as a Service
  • 5.
    Platform as aServicePlatform TodayServer, VM, Network, Storage, AppAppPatch, Service Release, New VersionMaintained for YouAssembly RequiredReady-Made ServicesCustom, InconsistentStandardizedPlan for Peak LoadOn-Demand ScaleBuilt to Avoid & Recover from FailureBuilt to Expect & Withstand Failure
  • 6.
    The OS forPaaS is:
  • 7.
    Compute ▪ Storage ▪ Networking ▪ Identity & SecurityFOUNDATIONWeb ▪ HPC ▪ Caching ▪ Messaging ▪ Workflow ▪ Content DeliverySERVICESRelational Database ▪ Reporting & Analytics ▪ Data SyncINFORMATIONOnline Portal ▪ Marketplace ▪ Development Tools ▪ Management ToolsTOOLS
  • 8.
    YOU DECIDE:Language, DevFramework, Dev Tool, Management Tool, Datacenter
  • 9.
    Windows Azure 0pportunitiesMoveApplications to the CloudStore Data inthe CloudExtend Applications to the CloudCreate New Solutions by Combining Cloud ServicesCreate New Cloud Services
  • 10.
  • 11.
    Windows Azure isabout ScaleDesigned from the ground up for true Internet scale
  • 12.
  • 13.
    Platform for nextgeneration cloud aware systems
  • 14.
  • 15.
    LinkedIn: 16 monthsfor first million users, 11 days for most recent million
  • 16.
    Facebook: 5years to hit 250m users, 8 months to double
  • 17.
    Scale up andscale downwww.flickr.com/photos/ScroffTheBad
  • 18.
    Operational Excellence &Elasticity“Growing Fast” “Predictable Bursting”Need high reliability
  • 19.
  • 20.
  • 21.
  • 22.
    Have variable load/ unpredictable lifetime
  • 23.
  • 24.
  • 25.
  • 26.
    Don’t fit inwell with a company’s data center
  • 27.
    Avoid IT dept,support joint ventures
  • 28.
  • 29.
    Archive “On andOff” “Unpredictable Bursting”Average UsageComputeComputeComputeComputeAverage Usage AverageUsageAverage Usage Time Time Time Time
  • 30.
    Helps your SystemsScaleMost architecture is hidden deep inside code
  • 31.
    WindowsAzure encourages youto define your application into constituent parts
  • 32.
    Windows Azure supportscloud enabled applications
  • 33.
    Windows Azure canscale the parts of your application as appropriatewww.flickr.com/photos/39818355@N00/2128626176
  • 34.
  • 35.
    Cloud is notan “all or nothing” proposition
  • 36.
  • 37.
    Windows Azure makesit easier to extend to the cloudwww.flickr.com/photos/tomkpunkt/3695066577
  • 38.
    Opening up theCloudAllow developers to apply their existing skills to the cloud
  • 39.
    Support for .NET,Ruby, PHP, Java
  • 40.
    Interoperability with anyplatform, tools or technology www.flickr.com/photos/h19/2306213399/in/set-72157594224557858
  • 41.
    Flexible Business ModelNoup front hardware purchase
  • 42.
    “Pay as yougo” model
  • 43.
    Ideal in currenteconomical climate www.flickr.com/photos/cleebster/2508660124
  • 44.
  • 45.
    Windows Azure PlatformAvailability Northern EuropeNorth Central USAEastern AsiaWestern Europe South Central USASoutheast Asia
  • 46.
    Delivering an Efficient& Sustainable Cloud
  • 47.
    Chicago Datacentre –Scalable, Sustainable One of world’s largest datacentres using containers, on-line on July 2009Cost $500 million700k sqft facility (approx 16 football fields)30 MegaWatts today, 60 MW for future useSecurityISO 27001:2005 Accreditation - Security ManagementSAS 70 Type I and II Attestations - Audit standard for our internal controls systemContainers40 ft containers with 1800-2500 servers 10 x density traditional datacentres Optimizes efficiency, reduces wastes & carbon footprint Delivers an average PUE of 1.22
  • 48.
    Dublin DatacentreFirst MegaDatacentre built outside the US, on-line on July 2009Cost $500 million, 303+sq ft facility and growing
  • 49.
    EU Datacenter BestPractice Award Winner
  • 50.
  • 51.
  • 52.
    Free Air-Coolingvia Air-Side Economization
  • 53.
    50% lessenergy use vs. traditional facilities
  • 54.
    1 % wateruse vs. traditional facilities
  • 55.
    5.4MegaWatts today, 22.2MW for future use
  • 56.
  • 57.
    SAS 70 TypeI and II AttestationsWindows Azure Platform ApplianceAzure Service in Your DatacenterIdentical to the hardware in Azure datacentersDelivered by a choice of hardware partnersBenefitsPhysical ControlGeographic ProximityRegulatory ComplianceData Sovereignty Currently in development with several partnersFujitsu, Dell, HP, and eBayMicrosoftService ProviderCustomer
  • 58.
  • 59.
  • 60.
    Window Azure Platform– The Big PictureWindows Azure AppFabricSQL AzureApplicationsWindows AzureApplicationsOthersMobileDesktopServer
  • 61.
  • 62.
    Windows Azure Toolsfor Visual StudioWindows Azure ToolingVisual Studio 2008
  • 63.
  • 64.
  • 65.
  • 66.
    Package & 1Click Deploy
  • 67.
  • 68.
  • 69.
  • 70.
    IntelliTrace SupportWindows AzureSDKWindows Server 2008 or Windows 7
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
    Development Fabric andStorageLocal MachineWindows Azure Simulation Environment Development StorageDevelopment Fabric
  • 79.
    Windows Azure PlatformManagement PortalFaster and more user friendly portal for Windows Azure Platform servicesEnables more visibility and control Supports multiple users and rolesEnable Remote Desktop and easily connect to Windows Azure instancesBuilt on the Windows Azure Service Management APIs
  • 80.
    Remote DesktopPortal-integrated RemoteDesktop access to instances within your deploymentUse standard Remote Desktop clientDynamic configuration of Remote Desktop settingsCredentialsEnable/DisableExpiration of credentialsAbility to take instances on/off the load balancer for debugging
  • 81.
  • 82.
  • 83.
    Azure Compute BuildingBlocksWindows Server 2008 x64 Virtual Machine.NET Framework – 3.5 SP1 and 4.0Supports Full Trust but no Admin rightsNative Code in User ModeFabric manages role lifecycleWeb RoleWorker RoleHosted IIS 7HTTP/HTTPSASP.NETFast CGI + PHPManaged Code StartInbound on Any TCP PortHTTP/HTTPS
  • 84.
    VM Size inWindows AzureWindows AzureSupports Various VM SizesSize set on Role in Service DefinitionService can have multiple rolesBalance of Performance per node vs. High Availability from multiple nodesSet in Service Model definitionAll instances of role will be of equal size
  • 85.
    Role Programming ModelInheritsRoleEntryPointOnStart() MethodCalled by Fabric on startup, allows you to perform initialization tasks.Reports Busy status to load balancer until you return true.Run() MethodMain logic is here – can do anything, typically infinite loop. Should never exit.OnStop() MethodCalled when role is to be shutdown, graceful exit.30 Seconds to tidy upYou call into RoleEnvironment to enumerate roles, endpoints, etc
  • 86.
    Windows Azure StorageBuilding BlocksStorageQueueBlobs &DrivesAccountTablesEach storage account can hold up to 100 TB
  • 87.
    Windows Azure BlobsProvidesimple interface for storing named files along with metadata for the fileBlobsContainersPhoto1.pngPhoto2.pngPicturesPhoto3.png
  • 88.
    Windows Azure BlobfeaturesRESTbased APImyaccount.blob.core.windows.net/mycontainer/myblob.jpgBlob Service APIPutBlob, GetBlob, DeleteBlob, CopyBlob, SnapshotBlob, LeaseBlob, etcBlock Blob for streamingMaximum size 200GbPage Blobfor random read/write operations Maximum size 1Tb
  • 89.
    Windows Azure DrivesPageBlob formatted as a NTFS single volume Virtual Hard Drive (VHD)NTFS APIs providing durable file storage on Page BlobsDrives can be up to 1TB, up to 16 can be mountedCan upload VHD via Page Blob then mountEase migration of existing Windows applications to AzureDurability and survival of data on application failover or hardware failure
  • 90.
    Windows Azure TablesStructuredstorage via entities, containing sets of propertiesEntitiesTablesGenre = …Title = …MoviesGenre = …Title = …ActorsName = …DOB = …
  • 91.
    Windows Azure TablesProvidesMassively Scalable Structured StorageBillions of entities (rows) and TBs of dataCan utilise thousands of servers as it scales upTriple replicated for durability Familiar and easy to use REST based APIEach entity can have up to 255 propertiesPartitionKey & RowKey as key and indexTimestamp for optimistic concurrencyNo fixed schema for all other propertiesProperty is stored as a <name, typed value> pairMyTable1Entity: Sports CarEntity: CarEntity: Customer
  • 92.
  • 93.
    Windows Azure QueuesProvidereliable storage and delivery of messagesMessagesQueues“Body1”“Body2”ThumbnailJobs“Body3”
  • 94.
    Windows Azure QueuesProvidereliable storage and delivery of messagesMax size of message 8 KbStore URI to blog / table for larger dataMessages must explicitly be deletedSet message expiration timeoutMessage de-queue count for poison messages Input Queue (Work Items)QueueWorker RoleWeb RoleWorker RoleWeb RoleWorker RoleWeb RoleWorker Role
  • 95.
    Notes on QueuesSleepwhen queue is emptyEnsure message processing is idempotentIf Worker role crashes, message becomes visible for another Worker to processf(x) = f(f(x))Ensure message processing is commutativeMessages will get handled out of orderJudicious use of Try/CatchCheck for poison messagesFor extreme throughput (>500 tps) Use multiple queues Read messages in batches or multiple work items per message
  • 96.
    A Common WindowsAzure PatternWorker RoleWeb RoleQueueStorageBlobStorage
  • 97.
  • 98.
    Service Management APIProvideLights-Out Service Management Manage services programmatically via REST-based APIX509 client certificates for authentication Viewing, creating, deleting, swapping, modifying configuration settings, etc on deployments
  • 99.
    Windows Azure DiagnosticsSDKcomponent providing distributed monitoring & data collection for cloud appsSupport Standard Diagnostics APIsTrace, Debug normallyManage multiple role instances centrallyChoose what to collect & when to collect itEvent Logs, Trace/Debug, Performance Counters, IIS Logs, Crash Dumps, Arbitrary log filesEverything is remotely configurableRole InstanceRoleLocal directory storageDiagnostic Monitor
  • 100.
    Service Management CmdLetsPowerShellcmdlets wrapping Azure Service Management and Diagnostics API Simple to script out deployments, upgrades, scalingDeploy new servicesUpgrade servicesManage storage accountsTransfer diagnostics information
  • 101.
    Service Upgrade ModelsRollingupgrade (aka “In-place”)Roles are updated across update domains one at a timeService remains available during upgradeReal-time hot swap (aka “VIP Swap”)Virtual IP swap between staging & productionSwap service endpoints of old/new versionEnables complex architectural changesPlanned downtimeStop and replace service with new version
  • 102.
    Content Delivery NetworkBetterperformance and user experience by caching Azure blobs at strategically placed locations25 locations globally (United States, Europe, Asia, Australia and South America) and growing Content Delivery NetworkEdge LocationEdge Locationpic1.jpgEdge Location Windows Azure Blob Servicepic1.jpg
  • 103.
    Multiple IIS Sitesand Virtual ApplicationsSDK 1.3 uses full IIS and not Hosted Web CoreAdd multiple IIS sites and Virtual applications per Web Role in the service definition file
  • 104.
    Coming Soon!Windows AzureConnectSecure network connectivity between on-premises and cloudSupports standard IP protocolsExample use cases:Enterprise app migrated to Windows Azure that requires access to on-premise SQL ServerWindows Azure app domain-joined to corporate Active Directory RoadmapCTP requires on-premises agent for non-Windows Azure resourcesConnectivity using existing on-premises VPN devicesWindows AzureEnterprise
  • 105.
    Virtual Machine RoleComingSoon!VM Role provides additional control and flexibility on the Windows Azure environment, and makes it easy to run existing Windows applications on Windows Azure.Developers have full control over the OS imageAbility to upload your own customized WS08R2 Enterprise imagesOperators can reboot, reimage and Remote DesktopContinue to benefit from automated service management, including service model enhancements described on subsequent slides
  • 106.
  • 107.
    SQL AzureExtending SQLServer to the Cloud…Sync ServiceDatabaseSQL Azure DatabaseFamiliar SQL Server relational database modelSupport for existing APIs & toolsBuilt for the cloud with high availability & fault toleranceEasily provision and manage databases across multiple datacentersData Sync ServiceProvides two-way sync of SQL Azure Databases across datacentersExample service available in the SQL Azure Labs environment
  • 108.
    SQL Azure DatabaseServiceSQL Azure provides logical SQL ServerGateway server that understands TDS protocolLooks like SQL Server to TDS ClientActual data stored on multiple backend data nodesLogical optimisations supportedIndexes, Query plans etc..Physical optimisations not supportedFile Groups, Partitions etc…Transparently manages physical storage
  • 109.
    Working with SQLAzure DatabasesYour AppSQL AzureTDSChange Connection String
  • 110.
    Behind the Scenesof SQL AzureApps use standard SQL client libraries: ODBC, ADO.Net, PHP, …ApplicationInternetLoad balancer forwards ‘sticky’ sessions to TDS protocol tierTDS (tcp)LBSecurity BoundaryTDS (tcp)GatewayGatewayGatewayGatewayGatewayGatewayGateway: TDS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to backend SQLTDS (tcp)SQLSQLSQLSQLSQLSQLScalability and Availability: Fabric, Failover, Replication, and Load balancing
  • 111.
    Application TopologiesFrom WindowsAzureFrom Outside Microsoft Datacenter From Windows Azure & Outside Microsoft Datacenter SQL ServerApp Code / ToolsApp Code / ToolsApplication / BrowserSQL Azure Data SyncMicrosoft DatacenterMicrosoftDatacenterMicrosoft DatacenterWindows AzureWindows AzureSQL Azure SQL Azure SQL Azure Code NearCode FarHybrid
  • 112.
    Connection ModelSQL Azureexposes native SQL Server TDS protocolUse existing client librariesADO.NET, ODBC, PHPClient libraries pre-installed in Windows Azure rolesSupport for ASP.NET controlsClients connect directly to a databaseCannot hop across DBs (no USE)
  • 113.
    Connecting to SQLAzureSQL Azure connection strings follow normal SQL syntaxApplications connect directly to a database“Initial Catalog = <db>” in connection stringNo support for context switching (no USE <db>)Encryption securitySet Encrypt = True, only SSL connections are supportedTrustServerCertificate = False, avoid Man-In-The-Middle-Attack!Format of username for authentication:ADO.Net:Data Source=server.database.windows.net;User ID=user@server;Password=password;...Setup your firewall rules first!
  • 114.
    SQL Azure CompatibilityCurrentlySupportedNot Currently SupportedTables, indexes and viewsStored ProceduresTriggersConstraintsTable variables, session temp tables (#t)Spatial typesData TypesXML, HierarchyId, Sparse Columns, FilestreamPartitionsFull-text indexesSQL-CLRTables require clustered indexes
  • 115.
    Database EditionsYou specifyWeb or Business EditionWeb: EDITION = webBusiness: EDITION = businessYou specify MAXSIZEWeb: MAXSIZE = 1GB | 5GBBusiness: MAXSIZE = 10GB | 20GB | 30GB | 40GB | 50GBThis is the maximum size we will not let you grow beyondYou will only be charged for the actual peak size in any one day rounded upFor example, a 3.4 GB Web Edition will be charged 5GB rate.CREATE DATABASE foo1 (EDITION='business', MAXSIZE=50GB);CREATE DATABASE foo2 (EDITION='business', MAXSIZE=30GB);ALTER DATABASE foo2 MODIFY (EDITION='web', MAXSIZE=5GB);Business EditionUp to 50 GB10 GB incrementsWeb Edition1 GB or 5 GB
  • 116.
    Database EditionsTwo SQLAzure Database SKUs: Web & BusinessWeb Edition: 1 GB @ £6.055/month 5 GB @ £30.275/monthBusiness Edition: 10 GB @ £60.604 20 GB @ £121.208 30 GB @ £131.812 40 GB @ £242.41650 GB @ £303.20Business EditionUp to 50 GB10 GB incrementsWeb Edition1 GB or 5 GB
  • 117.
    SQL Azure DataSyncPowers movement of dataCloud  cloudOn-premises cloudGetting data where you need itSync SQL Azure instancesSync SQL Server to SQL AzureSync offline apps to SQL AzureEnable geo-replication of dataSQL AzureSync
  • 118.
    SQL Azure DataSync – RoadmapSQL Azure DatabaseNowSyncSyncData Sync Service For SQL AzureRemote OfficesRetail StoresSyncSyncSyncSyncSyncComing SoonOn-Premises (Headquarters)
  • 119.
    SQL Azure ReportingCTP– you can register Based on SQL Server Reporting Services 2008 R2Exactly same report formats (no custom extensions yet)Use BI Development StudioReports run on Windows Azure PlatformReport Viewer control using remote processing modeOnly reports against SQL Azure Database
  • 120.
    SQL Azure SummarySQLAzure DatabaseHassle free fault tolerance with little to learnSQL Azure Data SyncHelping build geographically disperse or hybrid applicationsSQL Azure ReportingReporting Services in the Cloud
  • 121.
    Windows Azure MarketplaceDataMarket(formerly Codename “Dallas”)
  • 122.
    Easily Discover AndExplore Datasets
  • 123.
    DataMarket Data PartnersPublicDomainPremiumLeading Commercial and Public Domain Data; Free and Paid ContentData residing in our cloud, 3rd party clouds, or private data centersAll data – web services, media, relational databases, higher level services
  • 124.
    Discovery, Exploration andAcquisition of InformationFindTryUseBrowse / Search the Marketplace directly and from partner apps
  • 125.
    Discovery from Exceland PowerPivotviews; Word, SharePoint
  • 126.
    ALL data: Webservices, media, relational data
  • 127.
  • 128.
    Any platform andany application
  • 129.
    Explore sample datavisually through apps and previews; content visualizations
  • 130.
    Proxy classes fordevelopers; native Visual Studio integration; REST APIs
  • 131.
  • 132.
    Use in Office,VS, and in ecosystem enabled solutions!
  • 133.
    Unified API, billing,and security model
  • 134.
    Free public domaindata from around the world
  • 135.
  • 136.
    Subscriptions and Transactionsto support broad usage scenariosDataMarket Architecture at a glance…
  • 137.
  • 138.
    Crime from twoperspectiveshttp://apps.facebook.com/crimestatshttp://silverlight.onterrasys.com/CrimeDemo/
  • 139.
  • 140.
    Windows Azure AppFabricExtending.NET to the cloud with Internet Scale Utility ServicesAccess Control…Service BusCollection of building block services Composed to provide foundational pieces for your appsExposed through open protocols Accessible from anywhereService Bus General purpose application bus & connectivity serviceAccess Control Rules-driven, claims-based access control service
  • 141.
  • 142.
    AppFabric Service BusTextXMLGraphicsBinaryDataStreamingReceiveReceiveFirewallSendSendExchange messages between loosely coupled, composite applications.Direct Connection facilitated by Service Bus if that is best connection mechanism.Application #1Application #2
  • 143.
    AppFabric Access ControlServiceSimplify and automate complex authorization schema requests.Provide abstraction for federated claims-based authentication.Easily establish secure trust relationship.Applications or UsersData and Applications
  • 144.
    Windows Azure AppFabricCachingA distributed, in-memory cache for applications running in Windows AzureIn-memory cache located near your Windows Azure applicationsSimple administrationBased off the proven Windows Server AppFabric Caching capabilitiesBenefitsHighly scalable caching solution with low latency and high throughputCan dynamically increase and decrease as neededEnd-user doesn’t have to bother with configuration, deployment, or management of their cacheCommercial launch in the first half of 2011
  • 145.
  • 146.
    Windows Azure PlatformConsumption Prices Pay as you go and grow for only what you use when you use it Elastic, scalable, secure, & highly available automated service platformHighly available, scalable, and self managed distributed database service$9.99/month(scale up to 5 GB) ComputeWeb EditionPer service hourPer database/month $0.12/hour+ Variable Instance Sizes Windows Azure platform AppFabric Service Bus & Access ControlScalable, automated, highly available services for secure connectivityBusiness Edition Storage Access ControlService Bus$99.99/month(scale up to 50 GB)$3.99/connectionPer GB stored & transactionsPer database/month $1.99/100k Message OperationsPer Message OperationPer Connection$0.15 GB/month$0.01/10K transactions Prices shown in USD onlyInternational prices are available
  • 147.
    Windows Azure VirtualMachine InstancesX-Large (XL)Large (L) Medium (M)Small (S)X-Small (XS)$0.96 $0.48 $0.24 $0.12 $0.05 Per service hourPer service hourPer service hourPer service hourPer service hourUnit of Compute Defined [ Equivalent compute capacity of a 1.6GHz 64-bit processor ]X-LargeLarge MediumSmallExtra Small8 x 1.6GHz4 x 1.6GHz 2 x 1.6GHz 1 x 1.6GHz 1 x 1.0GHz (high I/O)(high I/O) (high I/O)(moderate I/O) (low I/O) 14.0 GB memory7.0 GB memory3.5 GB memory 1.75 GB memory 768 MB memory 2000 GB (transient storage) 1000 GB storage(transient storage)500 GB storage(transient storage) 225 GB storage(transient storage) 20 GB storage(transient storage)
  • 148.
    Extra-Small VMInstanceBorn from many requests for a low-cost VM instanceXS lowers the barrier of entry to Windows Azure XS VM offers a hosting environment that is appropriate for:Web roles that have very low traffic or short bursts of processing capabilityWorker roles that require little CPU processing power with low memory consumptionPrototyping of a Windows Azure serviceDemoing how Windows Azure worksRoles that wake up and check status periodicallyXS VM shares resources with other XS VM on the same node
  • 149.
    Windows Azure PlatformData Transfer Priced per GB transferred/month (prices shown in USD) North America Region Asia Pacific RegionEurope Region$0.10 GB Ingress$0.15 GB Egress $0.10 GB Ingress$0.15 GB Egress $0.30 GB Ingress$0.45 GB Egress N. Europe Sub-region N. Central – US Sub-region E. AsiaSub-region W. Europe Sub-region S. Central - US Sub-regionS.E. AsiaSub-region No Charge For Off Peak Ingress Promotion (ends 31/10/10)On-board to Windows Azure platform at no charge Off peak times defined as: 10pm-6am Mon-Fri & from 10pm-Fri to 6am-Mon for weekends in each designated regional time zones below Europe WET = UTCNorth America PST = UTC-8 Asia PacificSST = UTC+8
  • 150.
    Monthly Service LevelAgreement Computeconnectivity Service bus & access control availabilityInstance monitoring & restartDatabase availability Storage availability Service bus and access control endpoints will have external connectivityMessage operation requests processed successfullyStorage service will be available/reachable (connectivity)Your storage requests will be processed successfullyDatabase is connected to the internet gateway All databases will be continuously monitoredAll running roles will be continuously monitoredIf role is not running, we will detect and initiate corrective stateYour service is connected and reachable via web. Internet facing roles will have external connectivity>99.9%>99.9%>99.9%>99.9%>99.95%
  • 152.
    UK Azure Pricing– Standard RatesAppFabricAccess Control £1.2062 per 100,000 transactions* Service Bus £2.4184 per connection on a “pay-as-you-go” basis* Pack of 5 connections £6.0307* Pack of 25 connections £30.1535* Pack of 100 connections £120.6139* Pack of 500 connections £603.0695* Data TransfersNorth America and Europe regions £0.0607 per GB in £0.091 per GB out Asia Pacific Region £0.1819 per GB in £0.2728 per GB outInbound data transfers during off-peak times through June 30, 2010 are at no charge.  Prices revert to our normal inbound data transfer rates after June 30, 2010 Windows AzureCompute Small instance (default): £0.0728 per hour Medium instance: £0.1455 per hour Large instance: £0.291 per hour Extra large instance: £0.5819 per hour Storage £0.091 per GB stored per month £0.0061 per 10,000 storage transactions Content Delivery Network (CDN) £0.09 GB CDN Egress£0.06/100K CDN Storage X-actions SQL AzureWeb Edition – Up to 1 GB relational database £6.055 per database per month Business Edition – Up to 10 GB relational database £60.604 per database per month £100 per month* - Highly Available 2 x Instance Web Application + 0.5TB data£6 per month* - Highly Available 1Gb SQL Server database * Lots of assumptions and caveats
  • 153.
    © 2010 MicrosoftCorporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Editor's Notes

  • #24 The components of the Azure Services Platform can be used by local applications running on a variety of systems, including various flavors of Windows, mobile devices, and others. Those components include:  Windows Azure: Provides a Windows-based environment for running applications and storing data on servers in Microsoft data centers.  Microsoft .NET Services: Offers distributed infrastructure services to cloud-based and local applications.  Microsoft SQL Services: Provides data services in the cloud based on SQL Server.  Live Services: Through the Live Framework, provides access to data from Microsoft’s Live applications and others. The Live Framework also allows synchronizing this data across desktops and devices, finding and downloading applications, and more.
  • #28 Slide ObjectiveIntroduce users to the tooling available to work with Windows AzureSpeaker NotesDeveloper SDK is a Cloud in a box, allowing you to develop and debug locally without requiring a connection to the cloud. You can do this without Visual Studio as there are command line tools for executing the “cloud in a box” and publishing to the cloud.There is also a separate download for the Visual Studio 2008 tools, which provide the VS debugging and templates. This in turn includes the SDKDownload the VS tools if you use VS. Download the raw SDK if you use alternative platforms (PHP etc…)Requirements for Win 7 or Win 2008 are a dependency on IIS7 for the development fabricCan install the bits with the Microsoft Web Platform InstallerNotesWindows Azure Tools for Microsoft Visual Studio includes:C# and VB Project creation support for creating a Windows Azure Cloud Service solution with multiple roles.Tools to add and remove roles from the Cloud Service.Tools to configure each Role.Integrated local development via the Development Fabric and Development Storage services.Running and Debugging a Cloud Service in the Development Fabric.Browsing cloud storage through the Server ExplorerBuilding and packaging of Cloud Service Packages.Deploying to the Windows Azure.Monitoring the state of your services through the Server Explorer.Debugging in the cloud by retrieving IntelliTrace logs through the Server Explorer.
  • #33 Windows Azure runs on a large number of machines, all located in Microsoft data centers and accessible via the Internet. A common Windows Azure fabric knits this plethora of processing power into a unified whole. Windows Azure compute and storage services are built on top of this fabric. The Windows Azure compute service is based, of course, on Windows. For the initial availability of this service, a Community Technology Preview (CTP) made public in the fall of 2008, Microsoft allowed Windows Azure to run only applications built on the .NET Framework. The company has announced plans to support unmanaged code as well, i.e., applications that aren’t built on the .NET Framework, on Windows Azure in 2009. In the CTP version of Windows Azure, developers can create .NET-based software such as ASP.NET applications and Windows Communication Foundation (WCF) services. To do this, they can use C# and other .NET languages, along with traditional development tools such as Visual Studio 2008. And while many developers are likely to use this initial version of Windows Azure to create Web applications, the platform also supports background processes that run independently—it’s not solely a Web platform. Both Windows Azure applications and on-premises applications can access the Windows Azure storage service, and both do it in the same way: using a RESTful approach. The underlying data store is not Microsoft SQL Server, however. In fact, Windows Azure storage isn’t a relational system, and its query language isn’t SQL. Because it’s primarily designed to support applications built on Windows Azure, it provides simpler, more scalable kinds of storage. Accordingly, it allows storing binary large objects (blobs), provides queues for communication between components of Windows Azure applications, and even offers a form of tables with a straightforward query language. Running applications and storing their data in the cloud can have clear benefits. Rather than buying, installing, and operating its own systems, for example, an organization can rely on a cloud provider to do this for them. Also, customers pay just for the computing and storage they use, rather than maintaining a large set of servers only for peak loads. And if they’re written correctly, applications can scale easily, taking advantage of the enormous data centers that cloud providers offer. Yet achieving these benefits requires effective management. In Windows Azure, each application has a configuration file. By changing the information in this file manually or programmatically, an application’s owner can control various aspects of its behavior, such as setting the number of instances that Windows Azure should run. The Windows Azure fabric monitors the application to maintain this desired state. To let its customers create, configure, and monitor applications, Windows Azure provides a browser-accessible portal. A customer provides a Windows Live ID, then chooses whether to create a hosting account for running applications, a storage account for storing data, or both. An application is free to charge its customers in any way it likes: subscriptions, per-use fees, or anything else. Windows Azure is a general platform that can be used in various scenarios.
  • #37 Slide Objectives:Understand Roles in generalUnderstand Web and Worker Roles at a high levelSpeaking Points:Windows Azure currently supports the following two types of roles:Web role: A web role is a role that is customized for web application programming as supported by IIS 7 and ASP.NET.Worker role: A worker role is a role that is useful for generalized development, and may perform background processing for a web role. A service must include at least one role of either type, but may consist of any number of web roles or worker roles. A worker role is started by a call to a well know managed code interface RoleEntryPoint. A worker role must extend this class and override the Start() methodA web role is a worker role with the addition of IIS being installed. i.e. it has all the features of and can do everything a worker role can do as wellNotes:http://msdn.microsoft.com/en-us/library/dd179341.aspx#Subheading1
  • #38 Slide ObjectiveTo understand how and why to change the VM Size for a Windows Azure roleSlide NotesWhen you create your service model, you can specify the size of the virtual machine (VM) to which to deploy instances of your role, depending on its resource requirements.The size of the VM determines the number of CPU coresthe memory capacitythe local file system size allocated to a running instanceEach physical machine in Windows Azure contains 8 processor cores. You need to specify an XL instance to reserve an entire machineNetwork is shared but burstableCan burst beyond your 1/8th allocation when using a small VMMay be limited to just your allocationFor guaranteed high network throughput use an XL VMNothttp://msdn.microsoft.com/en-us/library/ee814754.aspxes
  • #39 Slide ObjectiveUnderstand the role programming model in overviewSpeaker NotesA role is similar to a windows service. It gets started once deployed, and will get stopped when required.It could get stopped because we are re-deploying you to a different serverYou actioned the stop from the web-portalIt’s up to you to keep running and NEVER return from Start() unless you have been told to stop. Note: you do not need to handle the stop – you can simply “fail”Noteshttp://msdn.microsoft.com/en-us/library/ee848065.aspxhttp://blogs.msdn.com/b/jnak/archive/2010/02/11/windows-azure-roleentrypoint-method-call-order.aspxes
  • #53 Slide ObjectiveIntroduce the Windows Azure Diagnostics API Speaking notesNow your service is deployed, how do YOU monitor it?Diagnostics in the Cloud is the same as on premise. Well almost. It is built using the same familiar APIs.With the diagnostics and monitoring API, you can deploy your roles and remotely configure what sources your instance should monitor. This configuration can be by role or by instance. You can configure standard tracing in your application, monitor the event logs or performance counters, collect log files like IIS logs or any log file as well as crash dumps of your application. Since this information can be pushed into your storage account on demand or on a scheduled basis, it is both highly scalable as well as easily manageable from outside of Windows Azure.
  • #61 Slide Objectives:Introduction to SQL AzureExplain SQL Azure DatabaseIndicate that other services are coming in the futureSpeaking Points:SQL Azure provides Microsoft SQL Server in the cloudBroadly compatible with online SQL ServerIn the future other services are plannedDataSync- to sync data between On premise and the cloudNotesCloud-based relational database service built on SQL Server® technologies. It provides a highly available, scalable, multi-tenant database service hosted by Microsoft in the cloud. SQL Azure Database helps to ease provisioning and deployment of multiple databases. Developers do not have to install, setup, patch or manage any software. High availability and fault tolerance is built-in and no physical administration is required.http://www.microsoft.com/windowsazure/sqlazure/ http://go.microsoft.com/?linkid=9686976
  • #62 Slide Objectives:Understand the key differentiators of SQL AzureUnderstand where a user has control and where the cloud runs thingsSpeaking Points:SQL Azure provides highly available SQL Server.Appears to be a SQL Server to the client.In reality is 3 transitionally consistent copies of the database that are fronted by a Gateway that appears to be a SQL serverSimple to provision- create a logical server in the Portal, execute a create DB Command to create a new databaseCan add and remove DBs easily from application to scale up and downCustomers look after logical optimizations like indexesSQL Azure manages the physical databaseNo need to install or patch software or other physical administrationAutomatic high availability and fault toleranceSimple provisioning and deployment of multiple databasesScale databases up or down based on business needsMulti-tenantIntegration with SQL Server and tooling including Visual StudioSupport for T-SQL based familiar relational database modelNoteshttp://www.microsoft.com/windowsazure/sqlazure/http://msdn.microsoft.com/en-us/windowsazure/sqlazure/default.aspx
  • #63 Slide Objectives:Affirm that SQL Azure is just a TDS server. Existing SQL Server consumers can connect to itSpeaking Points:Connecting to SQL Azure is simply a case of changing the connection string.The SQL Azure fabric ensures 3 transitionally consistent replicas of your data You will connect to a SQL Azure TDS gateway, this appears to be a SQL Server but will actually route your requests through to one of the three replicas stored in the DCAvoid injection attacks by using the SqlConnectionStringBuilder class. It is available from the .NET Framework to simplify creating the connection string. For more information, see Connection String Builders (ADO.NET).Carefully protect your connection string. A connection string presents a potential vulnerability if it is not secured. For more information, see Protecting Connection Information (ADO.NET).In order to completely secure your connection, especially when connecting to SQL Azure over the Internet, insure that the ADO.NET Encrypt and TrustServerCertificate connection parameters are set.For general considerations about connecting to databases in SQL Azure, see Guidelines for Connecting to SQL Azure Database.More on security of SQL Azure in Day 3Noteshttp://msdn.microsoft.com/en-us/library/ee336243.aspx
  • #64 Slide ObjectiveExplain the architecture of SQL Azure in a diagrammatic formSpeaker NotesAccess is via a load balancer- load balancer is a sticky (stateful) load balancerGateway nodes appear to TDS client as a SQL Server, but, merely forward requests through to the underlying SQL servers that actually store the dataRequests are routed to a primary replica- more on replicas shortlyShared infrastructure at SQL database and belowEach user database is replicated to one or more servers (configurable based on SLA)Client requests are routed to current “primary server” for read and write operations (based on SQL session)Security, lockdown and isolation enforced in SQL tierHighly scalable and state-of-the-art HA technologyAutomatic failure detection; client request re-routed to new primary on failure High SLA guarantee using logical replication (hot standby replicas)Automatic management, self-healing and load balancing across shared resource poolSDS provides provisioning, metering and billing infrastructureNotesSQL Azure architecture http://msdn.microsoft.com/en-us/library/ee336271.aspx
  • #65 Slide ObjectiveDiscusses various SQL Azure data access topologiesSpeaking notesAccess from within Microsoft Datacenter (Code near scenario)Connect a Windows Azure Compute application to SQL AzureExecuting Asp.NET code, PHP, other managed code, native codeSimple familiar programming modelAccess from on premise applications (Code far)Solve the DB under the desk issue.NET, native or other platform supportMicrosoft access as a front end offers interesting scenarioNeed to be conscious of query frequency and/or payloadAccess from both Cloud and On PremiseE.g. application with browser front and AND a need to sync to mobile devicesCloud provides an always up rendezvous point for data consumersWindows Azure runs the browser based applicationOther applications connect remotely- TDS, Odata, SncNotesMSDN on topology optionshttp://msdn.microsoft.com/en-us/library/ee336239.aspxSQL Azure + MS Accesshttp://blogs.msdn.com/b/access/archive/2010/06/07/access-2010-and-sql-azure.aspx
  • #66 Slide ObjectiveProvides an overview of connectivity to SQL AzureSpeaker NotesSQL Azure uses the TDS (tabular data stream) protocolVery broad support for existing SQL Server toolsSome things like backup tools and low level file manipulation tools will not workSQL Server client libraries available in Windows Azure ComputeVery easy to connect to SQL Azure from Windows AzureSQL Azure is an ideal backing store for a Windows Azure applicationAll of the ASP.NET controls are supportedRAD in Visual Studio is simple with SQL AzureEach SQL Azure server is logical onlyPrevents DB context hoppingNo ability to USA DB_FooNotesUseful article from SQL Azure teamhttp://msdn.microsoft.com/en-us/magazine/ee321567.aspxTooling support for SQL Azure Databasehttp://msdn.microsoft.com/en-us/library/ee621784.aspx
  • #67 Slide ObjectiveProvides detailed information on connecting to SQL AzureSpeaker NotesSQL Azure uses the standard SQL connection string syntaxSeveral important pointsNeed to specify the database to connect- i.e. No USE DB optionSet the initial catalog to do thisMust enable encryptionTraffic transits over the internet.Should not trust server certificate (i.e. override trust chain check0More on security and encryption on Day 3 security sessionSQL Azure has a configurable firewallMust explicitly allow connectivity from address rangesOpen the smallest ranges possibleWill be times when you need to ‘allow all’E.g. Datasync with mobile clients etc…NotesConnecting to SQL Azure step by step http://msdn.microsoft.com/en-us/library/ee336243.aspxSQL Azure Firewall http://msdn.microsoft.com/en-us/library/ee621782.aspx
  • #68 Slide ObjectiveProvides a guide to SQL Azure vs SQL Server compatabilitySpeaker NotesFor more details see this documentSQL Azure vs SQL Server differenceshttp://www.microsoft.com/downloads/details.aspx?FamilyID=86f12b41-1eba-4567-9ac8-02eaa7d12034&amp;displaylang=en
  • #83 Slide Objectives: Define and enumerate the Windows Azure Platform AppfabricSpeaking 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 this the Windows Azure AppFabric. 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 the AppFabric really comes in.There are currently two AppFabric Services: the Service Bus &amp; 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&apos;s the purpose of the AppFabric, creating a pool of resources available to you to take advantage of and do things within your application very simply. So we&apos;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.
  • #85 Slide Objectives: Explain what the AppFabric Service Bus is and how it works using a simple diagramSpeaking Points: Call out the following key pointsConnectivity through service bus relay in the cloudOutbound connectivity makes traversal of NAT/Firewall devices much easierDirect connection mechanism uses NAT probing- similar technology to that found in IM and VOIP clientsVariety of scenarios supportedSimple content and messages all the way through to full TCP/IP port forwarding
  • #86 Slide Objectives:Understand the AppFabric Access Control service and the basics of claims based authSpeaking Points:For this release, AppFabric Access Control focuses on authorization for REST Web services and the AppFabric Service Bus. The following is a summary of AppFabric Access Control features:Cross-platform support. AppFabric Access Control can be accessed from applications that run on almost any operating system or platform that can perform HTTPS operations.Lightweight authentication and authorization using symmetric keys and HMACSHA256 signatures.Configurable rules that enable mapping input claims to output claims.Web Resource Authorization Protocol (WRAP) and Simple Web Token (SWT) support.NotesThe Windows Azure platform AppFabric Access Control (AC) service is a hosted service that provides federated authentication and rules-driven, claims-based authorization for REST Web services. REST Web services can rely on AC for simple username/password scenarios, in addition to enterprise integration scenarios that use Active Directory Federation Services (ADFS) v2.
  • #95 WA - £56 per month for 1 node, which is £637 per yearSA – 20pence per day*Approximate – lots of assumptions, blah blah