Introduction to windows azure


Published on

Introduction to Windows Azure - Delivered at Richmond Code Camp 2011.2

Published in: Technology
  • 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
  • Book definition is … think about cloud as a set of connected servers on which developers can install and run services; store and retrieve data.Very simple definition; another place to run your code!
  • Let’s talk about an Internet application that you have developed.Estimated demandLoad varies – wastage results when demand is lower than capacity; on the other hand, you would have unhappy customers if the capacity is lower than the demand!What to do?
  • How to keep the capacity in sync with the demand? The capacity should go up as soon as the demand goes up and the capacity should fall with the fall in demand. It would also be great to just pay for what I am using. How could this be accomplished in traditional scenarios?Very hard to do; may I say not possible to achieve with traditional approaches to computing. It takes time to buy, configure, install and bring online new servers; similarly you can’t cut a server in half and return that half to Dell or HP.
  • It is a non-trivial problem! You don’t get to realize economies-of-scale and your resources aren’t utilized in a cost effective way. This problem is similar to Electrification phenomenon in early 20th century. Back then companies used to own their own electric generation plants or devices; it was very costly for them to generate their own electricity mainly because:Generating electricity was not the core competency of those companiesThe companies were not realizing economies-of-scale because of the extent of their operations.Generating electricity was getting difficult because of changing technology and changing regulationsGradually utilities companies took over the power generation business because that is what they did best. They were able to generate cheaperelectricity for their customers because they were able to realize economies-of-scale and by reducing waste from the system. The following graphshows how the supply of privately generated electricity dropped with time.Cloud computing is similar; let the experts do what they do best and we should focus on our core competencies which is running our business.
  • IaaS - the unit you are gaining is a computer/server. Therefore IaaS is essentially a "physical server box".  An example of this would be going to RackSpace or SoftLayer and leasing a physical box from them.  The vendor manages the networking, hard drives (if they fail), hardware of the box, virtualization O/S (if the box is virtualized).  You can remote desktop to the box and you manage everything else (shown in the screenshot above). Windows Azure provides IaaS in the form the VM Role (you upload a Windows Server 2008 R2 image and manage the server yourself).PaaS - the unit you are gaining is an application/framework.  Therefore PaaS is a "hosted application/framework/tools that you can leverage to build something on.  That application is configured on IIS/SQL Server etc and runs on a hardware/virtual system that the vendor manages. An example of PaaS would be Windows Azure (excluding the VM Role) services like web role, worker role, Reporting Services etc.SaaS - the unit you are gaining is business functionality.  For example, Gmail is a type of a SaaS mail provider because you don't have to manage any service yourself and its all done by the vendor (Google in this example).
  • Just like you need an operating system on your laptop or home computer or work computer in order to run applications, you need an operating system for the cloud; the OS that could provide not only the services offered by typical on-premise operating systems but also more advanced cloud related services such as load-balancing, elasticity, fault tolerance, dynamic scalability, etc. Windows Azure is Microsoft’s OS for the cloud.Did you notice that Windows Azure is not running on your computers rather it is running in Microsoft’s data centers?
  • Regardless what the applications designed for Azure do, Azure provides the same fundamental components.
  • If you don’t need continuous processing (unlike an Internet website which you will most probably want to run 24×7) and there is idle time between your processing-runs then you might want to consider cloud computing. Think about scientific applications that run algorithms and process huge amounts of data; there are time when this processing could take couple of days. Companies that have such processing need could allocate hundreds of computing instance for processing the calculations so that (1) they don’t have to purchase hardware just to use it for couple of days every month (2) they could use the cloud’s capacity for performing calculations faster than they would normally perform using their own infrastructure.Pay roll processing companies could also benefit from cloud. Those companies process salaries one or may be two times in a month; for the rest of the month their processing servers will remain idle. It would probably be more cost effective for them to not maintain their own servers rather lease cloud processing cycles only during the days of processing.
  • This is a typical Internet success story scenario where a service (e.g. Facebook) becomes so popular so quickly that the underlying infrastructure is unable to scale to handle the load of the users. The startups normally don’t have cash laying around for them to add more servers quickly; even if they had cash, it takes time to buy, configure and hookup servers to your infrastructure.
  • This is another scenario where cloud computing could be helpful. For example online florists generate most of their yearly revenue in or around Valentine’s Day and Christmas; they know that the demand will go up therefore they could configure their cloud to increase capacity during those days. Once the season is over they could reduce the capacity. Orders for Pizza on the Super Bowl night is another example of seasonal trend that could be handled by using cloud computing.
  • How do you handle unexpected load increases? Most of the companies cannot unless they have excess computing capacity. Again, excess capacity which is not being used most of the time hurts ROI whereas not having enough capacity in case of unpredictable bursting could hurt your business. Cloud can help in these cases where the additional capacity could be requested to quickly fulfill the needs of the moment.
  • Introduction to windows azure

    2. 2. Agenda  What is the cloud?  What is Windows Azure?  Windows Azure Usage Scenarios  Windows Azure Components  How should I get started?  Conclusion  Acknowledgment  Q&A
    3. 3. What is the Cloud?
    4. 4. Book definition
    5. 5. IT Capacity – Less than ideal situation
    6. 6. IT Capacity – Ideal situation
    7. 7. Costs of owning IT operations  Buying or leasing space  Purchasing servers  Utilities  Hiring network, server and security administrators  Overall maintenance of hardware, software and human resources
    8. 8. Electrification Phenomenon
    9. 9. Benefits  No need to buy, configure, and maintain:  Hardware and the OS  Network infrastructure  Routers, switches and load-balancers  Data centers, power and Internet connection  Failover  Pay for use  Share perishable computing  Improve time to market  Scale up or down as needed (tax-time, payroll processing, etc.)
    10. 10. Types of Cloud
    11. 11. What is Windows Azure?
    12. 12. Operating System for the Cloud
    13. 13. Windows Azure Components
    14. 14. Windows Azure Components
    15. 15. Windows Azure
    16. 16. Windows Azure Compute
    17. 17. Windows Azure Storage
    18. 18. Fabric Controller
    19. 19. Content Distribution Network (CDN)
    20. 20. Azure Connect
    21. 21. SQL Azure
    22. 22. SQL Azure Data Sync
    23. 23. Windows Azure App Fabric
    24. 24. Windows Azure Marketplace
    25. 25. Windows Azure Usage Scenarios
    26. 26. On and Off
    27. 27. Growing Fast
    28. 28. Predictable Bursting
    29. 29. Unpredictable Bursting
    30. 30. Developing for Windows Azure
    31. 31. How should I get started?
    32. 32. How should I get started?  Azure SDK & Windows Azure Tools for Visual Studio  8  Windows Azure Platform Training Kit   Developing Applications for Windows Azure   Introducing the Windows Azure Platform, David Chappell   Windows Azure Blobs: Programming Blob Storage   Windows Azure Tables: Programming Table Storage   Windows Azure Queues: Programming Queue Storage 
    33. 33. Conclusion
    34. 34. Cloud computing is the future; so get on the cloud bandwagon now!
    35. 35. Acknowledgment / References  This is where I got most of the content from  David Chappell   MSDN – Windows Azure Platform   Windows Azure Jump Start 
    36. 36. Questions?