Azure for ug


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Azure for ug

  1. 1. Windows AZURE services<br />VadymFedorov, July 2010<br />
  2. 2. Agenda<br />Cloud Computing - Some terms<br />Why cloud computing?<br />Windows Azure<br />What is Azure Programmatically?<br />Desktop And Related Azure Concepts<br />Services Provided and APIs<br />Tools<br />Reference<br />
  3. 3. Cloud Computing - Some terms<br />Term cloud is used as a metaphor for internet<br />A model of computation and data storage based on “pay as you go” access to “unlimited” remote data center capabilities<br />A cloud infrastructure provides a framework to manage scalable, reliable, on-demand access to applications<br />Concept generally incorporates combinations of the following<br />Infrastructure as a service (IaaS)<br />Platform as a service (PaaS)<br />Software as a service(SaaS)<br />Not to be confused with<br />Grid Computing – a form of distributed computing<br />Cluster of loosely coupled, networked computers acting in concert to perform very large tasks<br />
  4. 4. Details and Examples of Cloud<br />
  5. 5. Why cloud computing?<br />Data centers are notoriously underutilized, often idle 85% of the time<br />Over provisioning<br />Insufficient capacity planning and sizing<br />Improper understanding of scalability requirements etc<br />Offers startups and SMB’s quick setup, scalability, flexibility and automated management. Pay as you go model helps startups to start small and go big<br />Cost effective solutions to key business demands<br />Move workloads to improve efficiency<br />
  6. 6. Windows Azure<br />The Windows Azure provides core technologies for building rich services on top of unreliable but scalable hardware (i.e., a cloud operating system)<br />Supports building applications that scale<br />Programming tools and interfaces are designed to be familiar to traditional desktop programmer<br />Introduce new concepts that are similar to existing ones at a different abstraction level<br />
  7. 7. What is Azure Programmatically?<br />Web Role (Web UI).<br />Worker Role (similar to a windows service).<br />Storage.<br />Blobs.<br />Data.<br />Queues. – key to scalability.<br />Browser<br />p1 p2 p3<br />N L B<br />Web Role<br />Worker Role<br />N L B<br />Browser<br />AzureStorage<br />Web Role<br />Browser<br />Worker Role<br />Browser<br />Web Role<br />Worker Role<br />Browser<br />
  8. 8. Desktop And Related Azure Concepts<br />Desktop<br />Windows Azure<br />EXE<br />Application Configuration<br />Manifest<br />DLL<br />Windows forms library<br />Windows service<br />Local data stores<br />Service package<br />Service configuration<br />Service definition<br />Service role<br />Web role<br />Worker role<br />Internet data stores<br />
  9. 9. “Typical” Azure Application<br />Your Data<br />Windows Azure Platform<br />Web Site<br />(ASPX, ASMX, WCF)<br />Web Site<br />(ASPX, ASMX, WCF)<br />Web Role<br />(ASPX, WCF, PhP)<br />Your Application<br />Queues<br />Worker Service<br />Worker Role<br />LB<br />Blobs<br />Internet<br />LB<br />Tables<br />Triggers<br />SPs<br />Views<br />Tables<br />Your Relational Data<br />
  10. 10. Services Provided and APIs<br />Services<br />Web Applications (Web Role, Worker Role).<br />Storage – File, Blobs, and Tables.<br />Queues.<br />Timed Processing.<br />APIs<br />REST based.<br />High level library.<br />ASP.NET Providers.<br />
  11. 11. Service Concepts<br />Service definition<br />Defines aspects of a service that cannot be changed without redeployment<br />Types of roles and static role configuration<br />Set of configuration settings for a role<br />Contract with the environment code runs<br />Service configurations<br />Defines values for properties that can be dynamically updated for a running deployment<br />Values of a configuration parameter<br />Number of running instances <br />
  12. 12. Web Role<br />Web farm that handles request from the internet<br />IIS7 hosted web core<br />Hosts ASP.NET<br />XML based configuration of IIS7 <br />Integrated managed pipeline<br />Supports SSL<br />Public Internet<br />Web Role<br />Load<br /> Balancer<br />Storage Services<br />
  13. 13. Worker Role<br />No inbound network connections<br />Can read requests from queue in storage <br />Public Internet<br />Worker Role<br />Storage Service<br />
  14. 14. Windows Azure Storage Abstractions<br />Blobs – provide a simple interface for storing named files along with metadata for the file<br />Tables – provide structured storage. A table is a set of entities, which contain a set of properties<br />Queues – provide reliable storage and delivery of messages for an application<br />
  15. 15. Blobs stored in Containers<br />1 or more Containers per account<br />Scoping is at container level<br />…/Container/blobpath<br />Blobs<br />Capacity 50GB in CTP<br />Metadata, accessed independently <br />name/value pairs (8kb total)<br />Private or Public container access<br />Use Blobs for file system<br />Blobs<br />
  16. 16. Block<br />Blob<br />Container<br />Account<br /> Blob Storage Concepts <br />IMG001.JPG<br />Pictures<br />IMG002.JPG<br />Account<br />Block AAAA<br />Movies<br />MOV1.AVI<br />Block AAAB<br />Block AAAC<br />
  17. 17. Simple asynchronous dispatch queue<br />Create and delete queues<br />Message:<br />Retrieved at least once<br />Max size 8kb<br />Operations:<br />Enqueue<br />Dequeue<br />RemoveMessage<br />Queues<br />
  18. 18. Queue Storage Concepts<br />Message<br />Queue<br />Account<br />128x128, http://…<br />Thumbnail Jobs<br />256x256, http://…<br />Account<br />http://…<br />Indexing Jobs<br />http://…<br />
  19. 19. Entities and properties (rows & columns)<br />Tables scoped by account<br />Designed for billions+<br />Scale-out using partitions<br />Partition key & row key<br />Operations performed on partitions<br />Efficient queries<br />No limit on number of partitions<br />Use ADO.NET Data Services<br />Tables<br />
  20. 20. Table Storage Concepts<br />Entity<br />Table<br />Account<br />Name=…hash=…<br />Users<br />Name=…hash=…<br />Account<br />Tag=…id=…<br />PhotoIndex<br />Tag=…,id=…<br />
  21. 21. SQL Azure<br />SQL 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. <br />Familiar SQL Server relational model<br />Uses existing APIs & tools<br />Friction free provisioning and reduced management<br />Built for the Cloud with availability and scale<br />Accessible to all from PHP, Ruby, and Java<br />
  22. 22. Constants<br />Constraints<br />Cursors<br />Index management and rebuilding indexes<br />Local temporary tables<br />Reserved keywords<br />Stored procedures<br />Statistics management<br />Transactions<br />Triggers<br />Tables, joins, and table variables<br />Transact-SQL language elements<br />User-defined functions<br />Views<br />SQL Azure. Supported<br />
  23. 23. Common Language Runtime (CLR)<br />Database file placement<br />Database mirroring<br />Distributed queries<br />Distributed transactions<br />Filegroup management<br />Full Text Search<br />Global temporary tables<br />Spatial data and indexes<br />SQL Server configuration options<br />SQL Server Service Broker<br />System tables<br />Trace Flags<br />SQL Azure. Not supported<br />
  24. 24. Only SQL Authentication.<br />No exposing of the physical administrative functions.<br />2 types of accounts:<br />1GB databases.<br />10GB databases.<br />SQL Azure. Deeper look.<br />
  25. 25. Windows Azure and SQL Azure <br />
  26. 26. Developing – languages and tools<br />Code<br />Software Development Kit<br />Portal<br />Data<br />Relational<br />Data<br />Api<br />Develop<br />Deploy<br />Run<br />
  27. 27. Software Development Kit<br />Local Machine<br />Windows Azure Simulation Environment <br />Development Storage<br />SQL Server Express<br />Development Fabric<br />
  28. 28. Tools<br />Develop locally.<br />Visual Studio 2008/2010 Project Plugin.<br />Development Storage.<br />Development Fabric.<br />Sql Server Express running locally.<br />
  29. 29. Write Applications for Windows Azure<br />Windows Azure Platform<br />End Users<br />Microsoft Visual Studio<br />Development Environment<br />Developers<br />
  30. 30. Summary<br />PaaS for Rapid Cloud Development, Deployment and Maintenance<br />For .NET and… for not .NET <br />A new programming model<br />Web role <br />Worker role<br />Blobs, Tables and queues<br />
  31. 31. Official Microsoft Azure Site:<br /><br />Windows Azure Training Kit:<br /><br />Windows Azure Application. Riviera:<br /><br />Windows Azure Application examples:<br /><br />References<br />