Azure Software As Service


Published on

Microsoft Azure Technologies and Software as a Service

Published in: Technology, Business
  • 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 Software As Service

    1. 1. Software as Service and Microsoft Azure Leveraging Microsoft’s Infrastructure to Provide Scalability
    2. 2. What is Software as Service <ul><li>Software as a service is really Computing as a utility </li></ul><ul><li>Quick History of Electricity </li></ul>
    3. 3. Water was First Power Source <ul><li>Limited location of manufacturing </li></ul><ul><li>Dependent upon Weather </li></ul>
    4. 4. Steam Replaced Water <ul><li>Less Location dependent </li></ul><ul><li>Expensive to install and maintain </li></ul>
    5. 5. Steam Power had Dangers <ul><li>Complex belts to transfer power </li></ul>
    6. 6. Electricity pre-1890s <ul><li>Factories required their own power plants because it wasn’t practical to transmit electricity large distances </li></ul><ul><li>Expensive </li></ul><ul><li>Growth was a large capital investment </li></ul>
    7. 7. Electricity 1890s On <ul><li>Nikola Tesla and Alternating Current caught on and suddenly energy could be delivered from far away </li></ul><ul><li>It’s a utility that we don’t think about much, apart from business continuity </li></ul><ul><li>Only pay for what we use </li></ul>
    8. 8. The Web Based Electricity Analogy <ul><li>In the early 1980s through mid-1990s, our computers were stand-alone or, at best, connected within our businesses, much the way early mills were located along streams. </li></ul>
    9. 9. Along Came the Internet <ul><li>With the Internet, we were able to open a path to other businesses to interact with us. </li></ul><ul><li>Start with a couple of servers that could grow to a large data center. </li></ul><ul><li>Data center must be large enough to handle peak loads </li></ul>
    10. 10. Along Came the Internet (cont) <ul><li>Peak load may require machines and licenses that are idle large amounts of time </li></ul><ul><li>Need personnel to manage </li></ul><ul><li>Clustering leads to more complexity and higher development costs </li></ul>
    11. 11. Software as Services / Utility <ul><li>Let someone else worry about the data center/ hardware </li></ul><ul><li>Our programs are like lamps, we run as many of them as we need and pay for the resources they use </li></ul>
    12. 12. Microsoft Azure <ul><li>Azure Hosted Services </li></ul><ul><ul><li>Run your software in the cloud </li></ul></ul><ul><li>Azure Storage </li></ul><ul><ul><li>Store files (Blob Storage) </li></ul></ul><ul><ul><li>Handle Transactions (Queue Storage) </li></ul></ul><ul><ul><li>Scalably store data (Table Storage) </li></ul></ul>
    13. 13. Azure Hosted Services <ul><li>Currently has two parts </li></ul><ul><ul><li>Web Roles (ASPX Web Sites in the Cloud) </li></ul></ul><ul><ul><li>Worker Roles (Services in the Cloud) </li></ul></ul><ul><li>Run multiple instances as needed </li></ul>
    14. 14. Web Roles <ul><li>ASPX Web Sites </li></ul><ul><ul><li>Subset of ASP.NET and Windows Communication Foundation (WCF) technologies. </li></ul></ul><ul><li>Can include Azure Specific Code but doesn’t need to </li></ul>
    15. 15. Web Role Demo 1 <ul><li>Creating and deploying a site </li></ul>
    16. 16. Configuring the Cloud <ul><li>Multiple web roles may be different machines </li></ul><ul><li>Can change the Service Configuration for worker and web roles </li></ul>
    17. 17. Worker Roles <ul><li>Like Windows Services </li></ul><ul><li>Difficult to Debug </li></ul><ul><li>Best to use as lightweight wrapper to Class Library </li></ul>
    18. 18. Worker Role Demo
    19. 19. Azure Storage <ul><li>Blob Storage </li></ul><ul><li>Queue Storage </li></ul><ul><li>Table Storage </li></ul>
    20. 20. Azure Storage <ul><li>Uses a REST-ful API for access </li></ul><ul><li>Uses an Account plus a key </li></ul><ul><li>http://{account}.{storagetype} </li></ul>
    21. 21. Blob Storage <ul><li>Containers are URIs that contains Blobs </li></ul><ul><ul><li>Can be public or private </li></ul></ul><ul><li>Can’t nest Containers but a Blob’s name can be path like to fake directories </li></ul>
    22. 22. Blob Storage Demo
    23. 23. Queue Storage <ul><li>Queues are URIs that contain messages </li></ul><ul><li>Messages are 8KB text blocks </li></ul><ul><li>If you need more than 8KB for the Queuing, store pointer to Blob Storage </li></ul>
    24. 24. Queue Storage Demo
    25. 25. Table Storage <ul><li>Schemaless Data </li></ul><ul><li>Atom/XML </li></ul>
    26. 26. Structures <ul><li>Tables are collections of </li></ul><ul><li>Entities that have a Primary Key and a collection of </li></ul><ul><li>Properties </li></ul>
    27. 27. Tables <ul><li>Tables Names </li></ul><ul><ul><li>must be unique </li></ul></ul><ul><ul><li>alphanumeric and not begin with a number </li></ul></ul><ul><ul><li>case sensitive and must be 3-63 characters </li></ul></ul><ul><li>Tables have no schema and can contain entities with different properties </li></ul><ul><li>Are really URIs </li></ul>
    28. 28. Entities <ul><li>Have three required properties </li></ul><ul><ul><li>Partition key </li></ul></ul><ul><ul><li>Row key </li></ul></ul><ul><ul><li>Timestamp (read only, created by server) </li></ul></ul><ul><li>Key fields are alphanumeric but cannot contain /, , # or ? </li></ul><ul><li>Can have 252 other properties </li></ul><ul><li>Maximum entity size 1MB </li></ul>
    29. 29. Keys <ul><li>ATS uses partitioning for load balancing </li></ul><ul><li>Partition keys uniquely define the partition the data lives on </li></ul><ul><ul><li>Hint as to how to group data </li></ul></ul><ul><li>Partition key + Row key = Primary Key </li></ul><ul><li>Performance can be affected by Keys </li></ul><ul><li>The combination of keys define both scalability and uniqueness </li></ul>
    30. 30. Comparing ATS and SQL Server <ul><li>Scaling SQL Server </li></ul><ul><ul><li>Scale up (more powerful hardware) </li></ul></ul><ul><ul><li>Scale out (more pieces of hardware) </li></ul></ul><ul><li>Scaling ATS </li></ul><ul><ul><li>Simplify to do more with same hardware </li></ul></ul>
    31. 31. What SQL Server Offers <ul><li>SQL Server does a lot of maintenance work for us </li></ul><ul><ul><li>JOINS </li></ul></ul><ul><ul><li>Foreign keys </li></ul></ul><ul><ul><li>Views </li></ul></ul><ul><ul><li>Indices </li></ul></ul><ul><ul><li>Management comes with cost of faster hardware to compensate for the work needing to be done </li></ul></ul>
    32. 32. What ATS Offers <ul><li>Simpler structure </li></ul><ul><li>Less management features </li></ul><ul><li>Delivering a static page takes fewer resources than dynamically created one making it more scalable </li></ul>
    33. 33. ATS Advantages <ul><li>ATS uses simplicity to achieve scalability </li></ul><ul><li>Requires rethinking how we perceive data </li></ul><ul><li>Schemaless tables (similar to Google’s BigTable) </li></ul><ul><ul><li>Entity </li></ul></ul><ul><ul><li>Attribute </li></ul></ul><ul><ul><li>Value </li></ul></ul>
    34. 34. Quick Quiz Simple Easy Complex Hard
    35. 35. Rethinking required for: <ul><li>JOINs </li></ul><ul><li>Transactions </li></ul>
    36. 36. What Data Should I Put in the Cloud? <ul><li>Anything you don’t mind losing control over </li></ul><ul><li>Items that require geographic dispersion </li></ul>
    37. 37. Cost <ul><li>Not defined yet </li></ul><ul><li>Probably close to other providers </li></ul><ul><ul><li>Amazon’s SimpleDB </li></ul></ul>
    38. 38. Availability <ul><li>Sign up now </li></ul><ul><li> default.mspx </li></ul>
    39. 39. Questions?
    40. 40. Links <ul><li>Microsoft Azure default.mspx </li></ul><ul><li>Forum </li></ul><ul><li>Azure Command Project http:// / </li></ul><ul><li>Contact me: Twitter: @carpdeus </li></ul>