Introduction To Cloud Computing


Published on

Published in: Technology
1 Like
  • Be the first to comment

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

No notes for slide
  • Whether an application runs in the cloud, uses services provided by the cloud, or both, some kind of application platform is required. Viewed broadly, an application platform can be thought of as anything that provides developer-accessible services for creating applications. In the local, on-premises Windows world, for example, this includes technologies such as the .NET Framework, SQL Server, and more. To let applications exploit the cloud, cloud application platforms must also exist. And because there are a variety of ways for applications to use cloud services, different kinds of cloud platforms are useful in different situations. Microsoft’s Windows Azure platform is a group of cloud technologies, each providing a specific set of services to application developers. The Windows Azure platform can be used both by applications running in the cloud and by applications running on local systems. The components of the Windows Azure 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 Azure: Provides data services in the cloud based on SQL Server. Each component of the Windows Azure platform has its own role to play. This overview describes all four, first at a high level, then in a bit more detail. While none of them are yet final—details and more might change before their initial release—it’s not too early to start understanding this new set of platform technologies.
  • ACE = Authority, Container and Entity
  • Introduction To Cloud Computing

    1. 1. Introduction toAzure Services Platform<br />Rinat Shagisultanov<br />Principal Consultant<br />NEUDESIC<br /><br />
    2. 2. What’s It All About?<br />Reasons for Cloud Computing<br />Azure: Microsoft’s Cloud Services Platform<br />Capabilities: From HelloCloud To Grid Computing<br />
    3. 3. Clearing up Cloud Terminology<br />I n t e r – r e l a t e d<br />
    4. 4. Application Services<br />Software Services<br />Platform Services<br />Microsoft Cloud Services<br />Infrastructure Services<br />
    5. 5. Platform Extending into the Cloud<br />
    6. 6. Extend<br />Migrate<br />Compose<br />Cloud SpaceIn Data Center<br />App<br />Software + Services<br />App<br />App<br />Front End<br />Services<br />Service<br />Back End<br />Storage<br />Storage<br />Enterprise Space On-Premise<br />Front End<br />Front End<br />Back End<br />Back End<br />Storage<br />Storage<br />
    7. 7. Private<br />(On-Premise)<br />Infrastructure<br />(as a Service)<br />Platform<br />(as a Service)<br />IT as a Service<br />You manage<br />Applications<br />Applications<br />Applications<br />You manage<br />Runtimes<br />Runtimes<br />Runtimes<br />Security & Integration<br />Security & Integration<br />Security & Integration<br />Managed by vendor<br />Databases<br />Databases<br />Databases<br />You manage<br />Servers<br />Servers<br />Servers<br />Managed by vendor<br />Virtualization<br />Virtualization<br />Virtualization<br />Server HW<br />Server HW<br />Server HW<br />Storage<br />Storage<br />Storage<br />Networking<br />Networking<br />Networking<br />
    8. 8. Consistency<br />Share & Reuse<br />Security & Privacy<br />Customizability<br />Control<br />High<br />Public Cloud<br />Economy of Scale<br />Private Cloud<br />(on-premise)<br />High<br />Ease of Provisioning<br />Global Reach<br />Partitioning & Redundancy<br />Scalability & Availability<br />A Hybrid World<br />
    9. 9. AzureMicrosoft’s Cloud Services Platform<br />
    10. 10. Web and Clouds<br />Developer Experience<br />Third party Cloud<br />Web applications<br />Use existing skills and tools.<br />Compute<br />Storage<br />Management<br />Management<br />Relational data<br />Connectivity<br />Access control<br />On-premises<br />Composite applications<br />LOB Applications<br />Windows Azure Platform<br />
    11. 11. Windows Azure Platform<br /><ul><li>Internet-scale, highly available cloud fabric
    12. 12. Globally distributed Microsoft data centers
    13. 13. Consumption and usage-based pricing; enterprise-class SLA commitment
    14. 14. Compute – auto-provisioning 64-bit application containers in Windows Server VMs; supports a wide range of application models
    15. 15. Storage – highly available distributed table, blob, queue, & cache storage services
    16. 16. Languages – .NET 3.5 (C#, VB.NET, etc.), IronRuby, IronPython, PHP, Java, native Win32 code
    17. 17. Data – massively scalable & highly consistent distributed relational database; geo-replication and geo-location of data
    18. 18. Processing – relational queries, search, reporting, analytics on structured, semi-structured, and unstructured data
    19. 19. Integration – synchronization and replication with on-premise databases, other data sources
    20. 20. Service Bus – connectivity to on-premises applications; secure, federated fire-wall friendly Web services messaging intermediary; durable & discoverable queues
    21. 21. Access Control – rules-driven federated identity; AD federation; claims-based authorization
    22. 22. Workflows – declarative service orchestrations via REST-based activities</li></li></ul><li>“Services”Applicationsin the Cloud<br />Software + Services<br />“Software”ApplicationsOn-Premises<br />LB<br />LB<br />Web + Services FarmASP.NET / WCF On-Demand Scaling<br />Web + Services FarmASP.NET / WCF Load-Balanced Servers<br />Database<br />SQL ServerServer Cluster<br />ACE<br />SQL Azure<br />On-Demand Scaling<br />
    23. 23. Windows Azure Fabric Controller<br />VM<br />Control VM<br />VM<br />VM<br />WS08 Hypervisor<br />Service Roles<br />Control <br />Agent<br />Out-of-band communication – hardware control<br />WS08<br />In-band communication – software control<br />Load-balancers<br />Node can be a VM or a physical machine<br />Switches<br />Highly-available<br />Fabric Controller<br />
    24. 24. Roles<br />Web Role<br />Worker Role<br />Windows Server 2008 x64<br />.NET Start<br />Native Code<br />User Mode<br />Windows Server 2008 x64<br />IIS 7<br />ASP.NET 3.5 SP1<br />FastCGI – PHP<br />Native Code<br />Full Trust<br />User Mode<br />
    25. 25. Service Models & Roles<br />Bid Now Service<br />Worker X<br />Web A<br />(port 80)<br />Main Web<br />100 instances<br />Image Resize<br />2 instances<br />Worker Y<br />Auction Processing<br />25 instances<br />Web B <br />(port 8081)<br />Admin<br />2 instances<br />Worker Z<br />Notifications<br />10 instances<br />
    26. 26. Developer experience<br />
    27. 27. Azure Portal<br />One-stop cloud service management<br />Get the SDK<br />Set up / administer a cloud service account<br />Upload applications<br />Configure application security<br />Change runtime parameters<br />Monitor applications<br />Post software updates<br />Swap between staging and production<br />
    28. 28. portal<br />
    29. 29. Deploying a New Application<br />Resource allocation<br />Machines must be chosen to host roles of the service<br />Fault domains, update domains, resource utilization, hosting environment, etc.<br />Procure additional hardware if necessary<br />IP addresses must be acquired<br />Provisioning<br />Machines must be setup<br />Virtual machines created<br />Applications configured<br />DNS setup<br />Load balancers must be programmed<br />Upgrades<br />Locate appropriate machines<br />Update the software/settings as necessary<br />Only bring down a subset of the service at a time<br />Maintaining service health<br />Software faults must be handled<br />Hardware failures will occur<br />Logging infrastructure is provided to diagnose issues<br />
    30. 30. Developer ExperienceConsistent, Familiar Development<br />Visual Studio<br />Templates<br />Debugging<br />.NET platform<br />.NET, IIS7, WCF<br />“The cloud on your desktop”<br />Complete offline cloud simulation<br />Like Cassini (web development server)<br />
    31. 31. Hello, cloud!<br />demo<br />
    32. 32. So What?<br />Default.aspx<br />
    33. 33. We Got Scalability For Free!<br />LB<br />Default.aspx<br />Scalability<br />Availability<br />Zero-downtime upgrades<br />All with existing tools and skills<br />
    34. 34. Horizontal Scaling<br />What about state?<br />(e.g., shopping cart)<br />
    35. 35. Separating State<br />Durable Store<br />
    36. 36. Durable Storage<br />Durable, scalable, available store<br />Simple abstractions<br />Simple interface<br />REST<br />ADO.NET Data Services<br />Blobs<br />Tables<br />Queues<br />…<br />
    37. 37. Fundamental Data 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 />
    38. 38. Storage<br />Table (ACE)<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 />REST Interface w/ .NET client in SDK<br />Blob<br /><ul><li>Blob Storage
    39. 39. Partitioned by container
    40. 40. Unlimited containers
    41. 41. CDM (from Microsoft)
    42. 42. Up to 50 GB (CTP)
    43. 43. Metadata, accessed independently </li></ul>name/value pairs (8kb total)<br /><ul><li>Private or Public container access
    44. 44. Use Blobs for file system, messaging, logging</li></ul>Queue<br /><ul><li>Simple Queue
    45. 45. Read at least once
    46. 46. Partitioned by Queue Name
    47. 47. Retrieved at least once
    48. 48. Max size 8kb
    49. 49. Operations:</li></ul>- Enqueue<br />- Dequeue<br />- RemoveMessage<br />
    50. 50. Pricing<br />Compute<br />$0.12 / CPU hour (or part thereof)<br />~ 1.7 GHz, 2GB Ram, Single Core<br />$2.88 / Day<br />$86.4 / 30 days (billing period)<br />2 instances = $172.80 / month<br />Storage<br />$0.15 / GB/Month<br />Bandwidth<br />$0.10 /GB inbound<br />$0.15 /GB outbound<br />
    51. 51. SQL Azure<br />Reference Data<br />Business Intelligence<br />Reporting<br />Data Sync<br />Database<br />Initial Services<br />Database – Core SQL Server database capabilities <br />Future Services<br />Data Sync – Enables the sync framework<br />Additional SQL Server capabilities available as a service: Business Intelligence and Reporting<br />New services: Reference Data and Secure Data Hub<br />
    52. 52. Database Replicas<br />Single Database<br />Multiple Replicas<br />Replica 1<br />Single Primary<br />Replica 2<br />DB<br />Replica 3<br />
    53. 53. Pricing<br />WEB Edition<br />1 GB Database<br />$9.99 / month<br />Bandwidth<br />$0.10 /GB inbound<br />$0.15 /GB outbound<br />Business Edition<br />10GB Database<br />$99.99 / month<br />Bandwidth<br />$0.10 /GB inbound<br />$0.15 /GB outbound<br />Type specified by MAXSIZE on CREATE DATABASE command or portal (post-CTP1)<br />Cannot switch between Web and Business Editions<br />Monthly billing period<br />
    54. 54. Windows Azure Platform Benefits<br />Windows Azure<br />SQL Azure<br />High Level of Abstraction<br />Hardware<br />Server OS<br />Network Infrastructure<br />Web Server<br />Availability<br />Automated Service Management<br />Scalability<br />Instance & Partitions<br />Developer Experience<br />Familiar Developer Tools<br />Higher Level of Abstraction<br />Hardware<br />Server OS<br />Network Infrastructure<br />Database Server<br />Availability<br />Automated Database Management & Replication<br />Scalability<br />Databases Partitioning<br />Developer Experience<br />Familiar SQL Environment<br />
    55. 55. .NET Services<br />Extending .NET to the cloud with Internet Scale Utility Services<br />ServiceBus<br />AccessControl<br />Service Bus: General purpose application bus<br />Access Control: Rules-driven, claims-based access control<br />
    56. 56. Service Bus - Overview<br />Service Bus makes it easy to connect applications together over the Internet<br />Why it exists – to solve these challenges:<br />Want to make it easy and secure for partners to communicate with your application<br />Don’t always know the characteristics or scale of the integration<br />Partners / customers / users have devices and services running behind firewalls, NATs<br />Microsoft’s Approach <br />Provide a high-scale, highly-available “Service Bus” that supports open Internet protocols<br />
    57. 57. Service Bus - Application Pattern<br />
    58. 58. Pricing & SLA<br />$0.15 / 100k “transactions”<br />Transaction:<br />ACS Tokens<br />Messages on Service bus<br />Bandwidth<br />$0.10 /GB inbound<br />$0.15 /GB outbound<br />
    59. 59. Service Bus - Connectivity<br />Relay <br />Ensure applications connect<br />Available to all via the service registry<br />Direct connect <br />Uses the relay to establish communication <br />Then shortcuts for efficiency<br />Publish-Subscribe<br />Builds on the relay and direct connect connectivity capabilities<br />Available via HTTP / REST / ATOM<br />Available in .NET via WCF Bindings<br />
    60. 60. Access Control Service - Overview<br />Helps you avoid the complicated programming normally required to secure applications that extend beyond organizational boundaries. <br />
    61. 61. Access Control Service - Overview<br />Why it Exists – To solve these challenges:<br />Many identity providers, many vendors, many protocols, complex semantics – tricky to get right<br />Applications strewn with one-off access logic<br />Hard to get right, not agile, not compliant, many dead ends<br />Approach<br />Automate federation for a wide-range of identity providers and technologies<br />Factor the access control logic from the application into manageable collection of rules<br />Easy-to-use framework that ensures correct token processing<br />
    62. 62. Access Control – Interaction<br />3. Map input claims <br />to output claims based on <br />access control rules<br />1. Define access control rules for a customer<br />Your Access Control Project<br />(a hosted STS)<br />4. Send Token<br />(output claims from 3)<br />0. Certificate exchange; periodically refreshed<br />6.Claims checked in Relying Party<br />2. Send Claims<br />Requestor<br />(Your Customer)<br />Relying Party<br />(Your App)<br />5. Send Message w/token<br />
    63. 63. DEMO: Grid computing framework<br />
    64. 64. Grid Computing Application<br />Worker Roles <br />Front end – web roles, load-balanced<br />Back end – worker roles<br />Front end and back endcommunicate through storage<br />Front end queues work items<br />Back end executes work items<br />Front end / back end separatelyconfigurable instance counts<br />GRID LOADER<br />ON-PREMINPUT DATA<br />TASKQUEUE<br />WORKERROLE<br />WORKERROLE<br />RESULTSQUEUE<br />GRID AGGREGATOR<br />ON-PREMRESULT DATA<br />
    65. 65. Azure Grid Application<br />
    66. 66. 6 Reasons To Consider Cloud<br />Cost - Azure may reduce your costs significantly. The migration project we&apos;re currently working on is going to reduce our client&apos;s costs by a whopping 90%. You can use our calculator at to compute cloud costs and predict your ROI on migrating to the cloud.<br />Headache - You can eliminate much of your I.T. headache by outsourcing the problems of scalability and high availability to the cloud. Let&apos;s face it, not all organizations do I.T. well. <br />Expenditures - Using the cloud converts capital expenditures into operating expenditures, as you aren&apos;t buying hardware up front. This makes for a healthier balance sheet and enables pay-as-you-go business initiatives.<br />
    67. 67. 6 Reasons To Consider Cloud (cont)<br />Dynamic scale - Dynamically adjust your deployment any time you wish. Scale up or down on a whim. You&apos;ll only pay for capacity you are using. If your business is seasonal or your growth patterns are uncertain, this is especially appealing.<br />Anticipate - You don&apos;t have to anticipate your load in advance. In the enterprise, you have to try to predict your peak load, buy a bunch of servers, and hope you got it right. In the cloud you don&apos;t have to make these predictions because you can simply adjust the size of your deployment as needed.<br />Risk - Using the cloud reduces risk. You don&apos;t have a long-term commitment, you only pay for what you use, there&apos;s no up-front hardware purchases to make. You can walk away any time with no residual financial or contractual obligations.<br />
    68. 68. Questions?<br />
    69. 69. The Backend – Virtual<br />8+ cores per server<br />1,2,4 cores per VM<br />1 SB Node per VM<br />“Lights out” model<br />VM reimaged on failure<br />Server retired on failure<br />Quick deployment<br />100 VMs in ~20 minutes<br />“Go” to “System Up”<br />Management & Deployment Fabric<br />
    70. 70. The Backend – Messaging Overlay<br />SB<br />SB<br />SB<br />SB<br />SB<br />SB<br />SB<br />SB<br />SB<br />Unicast: Point to point<br />SB<br />SB<br />Multicast: Routed along ring<br />SB<br />Distributed Hash TableNames hash to nodes<br />SB<br />SB<br />SB<br />SB<br />Replication Neighborhood<br />SB<br />SB<br />Volatile Storage<br />Distributed Naming <br />Uni-/Multicast Routing<br />SB<br />SB<br />SB<br />
    71. 71. Access Control Service – Key Points<br />Stop tying your apps to a specific security model<br />Instead, check claims within the application<br />Enable security scheme external to application<br />Multiple security schemes can be enabled<br />Rules used to map claims to what app expects<br />Integrate with standards-based identity providers, including enterprise directories and web identity systems such as Windows Live ID<br />.NET Developers use the Geneva Framework<br />
    72. 72. Service Bus – Key Points<br />Services that register on the Bus can easily be discovered and accessed, across any network topology<br />The Service Bus provides the familiar Enterprise Service Bus application pattern<br />Helps to solve some of the hard issues that arise when implementing this pattern across network, security, and organizational boundaries<br />Internet-scale<br />