Windows AZURE servicesVadymFedorov, July 2010
AgendaCloud Computing - Some termsWhy cloud computing?Windows AzureWhat is Azure Programmatically?Desktop And Related Azure ConceptsServices Provided and APIsToolsReference
Cloud Computing - Some termsTerm cloud is used as a metaphor for internetA model of computation and data storage based on “pay as you go” access to “unlimited” remote data center capabilitiesA cloud infrastructure provides a framework to manage scalable, reliable, on-demand access to applicationsConcept generally incorporates combinations of the followingInfrastructure as a service (IaaS)Platform as a service (PaaS)Software as a service(SaaS)Not to be confused withGrid Computing – a form of distributed computingCluster of loosely coupled, networked computers acting in concert to perform very large tasks
Details and Examples of Cloud
Why cloud computing?Data centers are notoriously underutilized, often idle 85% of the timeOver provisioningInsufficient capacity planning and sizingImproper understanding of scalability requirements etcOffers startups and SMB’s quick setup, scalability, flexibility and automated management. Pay as you go model helps startups to start small and go bigCost effective solutions to key business demandsMove workloads to improve efficiency
Windows AzureThe Windows Azure provides core technologies for building rich services on top of unreliable but scalable hardware (i.e., a cloud operating system)Supports building applications that scaleProgramming tools and interfaces are designed to be familiar to traditional desktop programmerIntroduce new concepts that are similar to existing ones at a different abstraction level
What is Azure Programmatically?Web Role (Web UI).Worker Role (similar to a windows service).Storage.Blobs.Data.Queues. – key to scalability.Browserp1 p2 p3N L BWeb RoleWorker RoleN L BBrowserAzureStorageWeb RoleBrowserWorker RoleBrowserWeb RoleWorker RoleBrowser
Desktop And Related Azure ConceptsDesktopWindows AzureEXEApplication ConfigurationManifestDLLWindows forms libraryWindows serviceLocal data storesService packageService configurationService definitionService roleWeb roleWorker roleInternet data stores
“Typical” Azure ApplicationYour DataWindows Azure PlatformWeb Site(ASPX, ASMX, WCF)Web Site(ASPX, ASMX, WCF)Web Role(ASPX, WCF, PhP)Your ApplicationQueuesWorker ServiceWorker RoleLBBlobsInternetLBTablesTriggersSPsViewsTablesYour Relational Data
Services Provided and APIsServicesWeb Applications (Web Role, Worker Role).Storage – File, Blobs, and Tables.Queues.Timed Processing.APIsREST based.High level library.ASP.NET Providers.
Service ConceptsService definitionDefines aspects of a service that cannot be changed without redeploymentTypes of roles and static role configurationSet of configuration settings for a roleContract with the environment code runsService configurationsDefines values for properties that can be dynamically updated for a running deploymentValues of a configuration parameterNumber of running instances
Web RoleWeb farm that handles request from the internetIIS7 hosted web coreHosts ASP.NETXML based configuration of IIS7 Integrated managed pipelineSupports SSLPublic InternetWeb RoleLoad BalancerStorage Services
Worker RoleNo inbound network connectionsCan read requests from queue in storage Public InternetWorker RoleStorage Service
Windows Azure Storage AbstractionsBlobs – provide a simple interface for storing named files along with metadata for the fileTables – provide structured storage.  A table is a set of entities, which contain a set of propertiesQueues – provide reliable storage and delivery of messages for an application
Blobs stored in Containers1 or more Containers per accountScoping is at container level…/Container/blobpathBlobsCapacity 50GB in CTPMetadata, accessed independently name/value pairs (8kb total)Private or Public container accessUse Blobs for file systemBlobs
BlockBlobContainerAccount Blob Storage Concepts IMG001.JPGPicturesIMG002.JPGAccountBlock AAAAMoviesMOV1.AVIBlock AAABBlock AAAC
Simple asynchronous dispatch queueCreate and delete queuesMessage:Retrieved at least onceMax size 8kbOperations:EnqueueDequeueRemoveMessageQueues
Queue Storage ConceptsMessageQueueAccount128x128, http://…Thumbnail Jobs256x256, http://…Accounthttp://…Indexing Jobshttp://…
Entities and properties (rows & columns)Tables scoped by accountDesigned for billions+Scale-out using partitionsPartition key & row keyOperations performed on partitionsEfficient queriesNo limit on number of partitionsUse ADO.NET Data ServicesTables
Table Storage ConceptsEntityTableAccountName=…hash=…UsersName=…hash=…AccountTag=…id=…PhotoIndexTag=…,id=…
SQL AzureSQL Azure is an umbrella name for a group of cloud-based technologies for working with relational and other types of data. The first members of this family to appear are SQL Azure Database and “Huron” Data Sync. Familiar SQL Server relational modelUses existing APIs & toolsFriction free provisioning and reduced managementBuilt for the Cloud with availability and scaleAccessible to all from PHP, Ruby, and Java
ConstantsConstraintsCursorsIndex management and rebuilding indexesLocal temporary tablesReserved keywordsStored proceduresStatistics managementTransactionsTriggersTables, joins, and table variablesTransact-SQL language elementsUser-defined functionsViewsSQL Azure. Supported
Common Language Runtime (CLR)Database file placementDatabase mirroringDistributed queriesDistributed transactionsFilegroup managementFull Text SearchGlobal temporary tablesSpatial data and indexesSQL Server configuration optionsSQL Server Service BrokerSystem tablesTrace FlagsSQL Azure. Not supported
Only SQL Authentication.No exposing of the physical administrative functions.2 types of accounts:1GB databases.10GB databases.SQL Azure. Deeper look.
Windows Azure and SQL Azure
Developing – languages and toolsCodeSoftware Development KitPortalDataRelationalDataApiDevelopDeployRun
Software Development KitLocal MachineWindows Azure Simulation Environment Development StorageSQL Server ExpressDevelopment Fabric
ToolsDevelop locally.Visual Studio 2008/2010 Project Plugin.Development Storage.Development Fabric.Sql Server Express running locally.
Write Applications for Windows AzureWindows Azure PlatformEnd UsersMicrosoft Visual StudioDevelopment EnvironmentDevelopers
SummaryPaaS for Rapid Cloud Development, Deployment and MaintenanceFor .NET and… for not .NET A new programming modelWeb role Worker roleBlobs, Tables and queues
Official Microsoft Azure Site:http://www.microsoft.com/windowsazure/Windows Azure Training Kit:http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=enWindows Azure Application. Riviera:http://code.msdn.microsoft.com/rivieraWindows Azure Application examples:http://blogs.msdn.com/goto100/archive/2009/12/23/multi-tenanted-applications-on-windows-azure-and-sql-azure-added-to-my-todo-list-for-2010.aspxReferences

Azure for ug

  • 1.
  • 2.
    AgendaCloud Computing -Some termsWhy cloud computing?Windows AzureWhat is Azure Programmatically?Desktop And Related Azure ConceptsServices Provided and APIsToolsReference
  • 3.
    Cloud Computing -Some termsTerm cloud is used as a metaphor for internetA model of computation and data storage based on “pay as you go” access to “unlimited” remote data center capabilitiesA cloud infrastructure provides a framework to manage scalable, reliable, on-demand access to applicationsConcept generally incorporates combinations of the followingInfrastructure as a service (IaaS)Platform as a service (PaaS)Software as a service(SaaS)Not to be confused withGrid Computing – a form of distributed computingCluster of loosely coupled, networked computers acting in concert to perform very large tasks
  • 4.
  • 5.
    Why cloud computing?Datacenters are notoriously underutilized, often idle 85% of the timeOver provisioningInsufficient capacity planning and sizingImproper understanding of scalability requirements etcOffers startups and SMB’s quick setup, scalability, flexibility and automated management. Pay as you go model helps startups to start small and go bigCost effective solutions to key business demandsMove workloads to improve efficiency
  • 6.
    Windows AzureThe WindowsAzure provides core technologies for building rich services on top of unreliable but scalable hardware (i.e., a cloud operating system)Supports building applications that scaleProgramming tools and interfaces are designed to be familiar to traditional desktop programmerIntroduce new concepts that are similar to existing ones at a different abstraction level
  • 7.
    What is AzureProgrammatically?Web Role (Web UI).Worker Role (similar to a windows service).Storage.Blobs.Data.Queues. – key to scalability.Browserp1 p2 p3N L BWeb RoleWorker RoleN L BBrowserAzureStorageWeb RoleBrowserWorker RoleBrowserWeb RoleWorker RoleBrowser
  • 8.
    Desktop And RelatedAzure ConceptsDesktopWindows AzureEXEApplication ConfigurationManifestDLLWindows forms libraryWindows serviceLocal data storesService packageService configurationService definitionService roleWeb roleWorker roleInternet data stores
  • 9.
    “Typical” Azure ApplicationYourDataWindows Azure PlatformWeb Site(ASPX, ASMX, WCF)Web Site(ASPX, ASMX, WCF)Web Role(ASPX, WCF, PhP)Your ApplicationQueuesWorker ServiceWorker RoleLBBlobsInternetLBTablesTriggersSPsViewsTablesYour Relational Data
  • 10.
    Services Provided andAPIsServicesWeb Applications (Web Role, Worker Role).Storage – File, Blobs, and Tables.Queues.Timed Processing.APIsREST based.High level library.ASP.NET Providers.
  • 11.
    Service ConceptsService definitionDefinesaspects of a service that cannot be changed without redeploymentTypes of roles and static role configurationSet of configuration settings for a roleContract with the environment code runsService configurationsDefines values for properties that can be dynamically updated for a running deploymentValues of a configuration parameterNumber of running instances
  • 12.
    Web RoleWeb farmthat handles request from the internetIIS7 hosted web coreHosts ASP.NETXML based configuration of IIS7 Integrated managed pipelineSupports SSLPublic InternetWeb RoleLoad BalancerStorage Services
  • 13.
    Worker RoleNo inboundnetwork connectionsCan read requests from queue in storage Public InternetWorker RoleStorage Service
  • 14.
    Windows Azure StorageAbstractionsBlobs – provide a simple interface for storing named files along with metadata for the fileTables – provide structured storage. A table is a set of entities, which contain a set of propertiesQueues – provide reliable storage and delivery of messages for an application
  • 15.
    Blobs stored inContainers1 or more Containers per accountScoping is at container level…/Container/blobpathBlobsCapacity 50GB in CTPMetadata, accessed independently name/value pairs (8kb total)Private or Public container accessUse Blobs for file systemBlobs
  • 16.
    BlockBlobContainerAccount Blob StorageConcepts IMG001.JPGPicturesIMG002.JPGAccountBlock AAAAMoviesMOV1.AVIBlock AAABBlock AAAC
  • 17.
    Simple asynchronous dispatchqueueCreate and delete queuesMessage:Retrieved at least onceMax size 8kbOperations:EnqueueDequeueRemoveMessageQueues
  • 18.
    Queue Storage ConceptsMessageQueueAccount128x128,http://…Thumbnail Jobs256x256, http://…Accounthttp://…Indexing Jobshttp://…
  • 19.
    Entities and properties(rows & columns)Tables scoped by accountDesigned for billions+Scale-out using partitionsPartition key & row keyOperations performed on partitionsEfficient queriesNo limit on number of partitionsUse ADO.NET Data ServicesTables
  • 20.
  • 21.
    SQL AzureSQL Azureis an umbrella name for a group of cloud-based technologies for working with relational and other types of data. The first members of this family to appear are SQL Azure Database and “Huron” Data Sync. Familiar SQL Server relational modelUses existing APIs & toolsFriction free provisioning and reduced managementBuilt for the Cloud with availability and scaleAccessible to all from PHP, Ruby, and Java
  • 22.
    ConstantsConstraintsCursorsIndex management andrebuilding indexesLocal temporary tablesReserved keywordsStored proceduresStatistics managementTransactionsTriggersTables, joins, and table variablesTransact-SQL language elementsUser-defined functionsViewsSQL Azure. Supported
  • 23.
    Common Language Runtime(CLR)Database file placementDatabase mirroringDistributed queriesDistributed transactionsFilegroup managementFull Text SearchGlobal temporary tablesSpatial data and indexesSQL Server configuration optionsSQL Server Service BrokerSystem tablesTrace FlagsSQL Azure. Not supported
  • 24.
    Only SQL Authentication.Noexposing of the physical administrative functions.2 types of accounts:1GB databases.10GB databases.SQL Azure. Deeper look.
  • 25.
  • 26.
    Developing – languagesand toolsCodeSoftware Development KitPortalDataRelationalDataApiDevelopDeployRun
  • 27.
    Software Development KitLocalMachineWindows Azure Simulation Environment Development StorageSQL Server ExpressDevelopment Fabric
  • 28.
    ToolsDevelop locally.Visual Studio2008/2010 Project Plugin.Development Storage.Development Fabric.Sql Server Express running locally.
  • 29.
    Write Applications forWindows AzureWindows Azure PlatformEnd UsersMicrosoft Visual StudioDevelopment EnvironmentDevelopers
  • 30.
    SummaryPaaS for RapidCloud Development, Deployment and MaintenanceFor .NET and… for not .NET A new programming modelWeb role Worker roleBlobs, Tables and queues
  • 31.
    Official Microsoft AzureSite:http://www.microsoft.com/windowsazure/Windows Azure Training Kit:http://www.microsoft.com/downloads/details.aspx?FamilyID=413E88F8-5966-4A83-B309-53B7B77EDF78&displaylang=enWindows Azure Application. Riviera:http://code.msdn.microsoft.com/rivieraWindows Azure Application examples:http://blogs.msdn.com/goto100/archive/2009/12/23/multi-tenanted-applications-on-windows-azure-and-sql-azure-added-to-my-todo-list-for-2010.aspxReferences