Docstoc

5. Windows-Azure.pptx - Telerik

Document Sample
5. Windows-Azure.pptx - Telerik Powered By Docstoc
					                        Windows Azure
        Architecture, Services and Programming Model




Ilian Iliev
Telerik Corp.
www.telerik.com
What is Windows Azure?
 Platform Overview and Architecture
                                 The Microsoft Cloud
~100 Globally Distributed Data Centers



Quincy, WA      Chicago, IL   San Antonio, TX   Dublin, Ireland   Generation 4 DCs




                                                                                     3
                                      The Microsoft Cloud
Highly available, scalable, and consistent application fabric environment




                                                                            4
                 How Your Ideas are Shipped
                        without the Cloud?
Lets say you have an
idea?
                  What do you need to manage to ship
                        your idea to potential customers?

                   Managing environment
                                                 Network
                            Hard drive failure
                 Routers
                                         Installing OS
          Load balancing
                                          Updating
                Storage

                 Memory                  Patching
                           Server acquisition
                                                            5
              How Windows Azure solves
                       your problems?
 Windows Azure runs your application   code
  Inside virtual machines
  Managed by the fabric controller




                                               6
                              The Microsoft Cloud
   Categories of Services
                     Application Services


                      Software Services


                      Platform Services




                    Infrastructure Services
                                                    7
                            Windows Azure Platform
                                           Personal Data   Application      Information
Application Services                        Repository     Marketplace      Marketplace

                                             Services       Workflow         Distributed
Frameworks                                   Hosting        Hosting            Cache

                            Secure Token    Declarative    Claims-Based      Federated
Security                       Service       Policies         Identity       Identities

                                                           Composite         On-Premise
Connectivity                                Service Bus
                                                           Applications       Bridging

                             Relational     ADO.NET,                              Data
Data                                                       Transact-SQL
                             Database       ODBC, PHP                       Synchronization



Compute                                                              C/ C++
                                                                          Win32          VHD

             Unstructured                    Message       Distributed        Content
Storage                        Blobs
                Data                         Queues        File System       Distribution


                                                                                               8
                           Windows Azure Platform

Application Services

Frameworks                                                 “Dublin”   “Velocity”



Security                                  Access Control              “Geneva”


                                                                       Project
Connectivity                              Service Bus                 “Sydney”

                                                                      SQL Azure
Data                                                                  Data Sync


Compute
                                                                       Content
Storage    Table Storage   Blob Storage     Queue           Drive      Delivery
                                                                       Network



                                                                                   9
                            Windows Azure Compute
     Development, service hosting, &
      management environment
Application Services
         .NET, Java PHP, Python, Ruby, native code
Frameworks(C/C++, Win32, etc.)                    “Dublin” “Velocity”
         ASP.NET providers, FastCGI, memcached,
Security MySQL, Tomcat             Access Control          “Geneva”

         Full-trust – supports standard languages and APIs
                                                             Project
Connectivity
         Secure certificate store Service Bus              “Sydney”

         Management API’s, and logging and diagnostics Azure
                                                           SQL
Data      systems                                          Data Sync


Compute
                                                              Content
Storage     Table Storage   Blob Storage   Queue   Drive      Delivery
                                                              Network



                                                                         10
                    Windows Azure Compute(2)
       Multiple roles – Web, Worker, Virtual Machine (VHD)
Application Services
       Multiple VM sizes
       1.6
Frameworks GHz CPU x64, 1.75GB RAM, 100Mbps network,
                                         “Dublin”  “Velocity”
        250GB volatile storage
Security Small (1X), Medium (2X),Access Control X-Large (8X)
                                 Large (4X),              “Geneva”


       In-place rolling upgrades, organized by upgrade
Connectivity                       Service Bus               Project
                                                            “Sydney”
        domains
                                                            SQL Azure
Data Walk each upgrade domain one at a time
   
                                                            Data Sync


Compute
                                                             Content
Storage     Table Storage   Blob Storage   Queue   Drive     Delivery
                                                             Network



                                                                        11
                  Windows Azure Diagnostics
     Configurable trace, performance counter,
      Windows
Application Services event log, IIS log & file buffering

        Local data buffering quota management
Frameworks                              “Dublin”         “Velocity”

         Query & modify from the cloud and from the
                               Access
Security desktop per role instance Control         “Geneva”



       Transfer to storage scheduled & on-demandProject
Connectivity                  Service Bus       “Sydney”


Data    Filter by data type, verbosity & time range SQL Azure
                                                         Data Sync


Compute
                                                         Content
Storage   Table Storage   Blob Storage   Queue   Drive   Delivery
                                                         Network



                                                                      12
                           Windows Azure Storage

Application Services
       Rich data abstractions – tables, blobs, queues, drives,
         CDN
FrameworksCapacity (100TB), throughput (100MB/sec),  “Dublin” “Velocity”
          
            transactions (1K req/sec)
Security High accessibility           Access Control          “Geneva”
      

           Supports geo-location                               Project
                                      Service REST
ConnectivityLanguage & platform agnostic Bus APIs
                                                              “Sydney”
           URL: http://<account>.<store>.core.windows.net
                                                              SQL Azure
Data       Client libraries for .NET, Java, PHP, etc.        Data Sync


Compute

Storage


                                                                           13
               Windows Azure Table Storage

Application Services
        Designed for structured data, not relational data
       Data definition is part of the application
Frameworks                                        “Dublin” “Velocity”
          A Table is a set of Entities (records)
          An Entity is a set of Properties (fields)
Security No fixed schema
      
                                   Access Control          “Geneva”

          Each property is stored as a <name, typed         Project
Connectivityvalue> pair            Service Bus              “Sydney”
          Two entities within the same table can have
                                                           SQL Azure
Data        different properties                           Data Sync
          No schema is enforced
Compute
                                                              Content
Storage     Table Storage   Blob Storage   Queue   Drive      Delivery
                                                              Network



                                                                         14
                  Windows Azure Blob Storage

Application Services
        Storage for large, named files plus their metadata
       Block Blob
          
FrameworksTargeted at streaming workloads             “Dublin”      “Velocity”
           Each blob consists of a sequence of blocks
Security  Each block is identified by a Block ID
                                      Access Control                “Geneva”
           Size limit 200GB per blob
       Page Blob
                                                                      Project
                                      Service Bus
ConnectivityTargeted at random read/write workloads
                                                                    “Sydney”
           Each blob consists of an array of pages
Data       Each page is identified by its offset from the start of SQL Azure
                                                                    Data Sync
            the blob
           Size limit 1TB per blob
Compute
                                                                      Content
Storage      Table Storage   Blob Storage   Queue         Drive       Delivery
                                                                      Network



                                                                                 15
                                   Windows Azure Queue

Application Services efficient, highly available and provide reliable
       Performance
           message delivery
Frameworks
      Asynchronous work dispatch                          “Dublin”   “Velocity”

            Inter-role communication
                                     Access Control
Security  Polling based model; best-effort FIFO data structure       “Geneva”

          Queue operations                  > Message operations
                                                                       Project
ConnectivityCreate Queue
                                            Service Bus Message
                                                • Add                 “Sydney”
            Delete Queue                       • Get Message(s)
                                                                      SQL Azure
Data        List Queues                        • Peek Message(s)     Data Sync
            Get/Set Queue Metadata             • Delete Message
Compute
                                                                        Content
Storage       Table Storage   Blob Storage      Queue       Drive       Delivery
                                                                        Network



                                                                                   16
                                     Windows Azure Drive

Application Services
       Provides a durable NTFS volume for Windows Azure
         applications to use
                                                    “Dublin”
FrameworksUse existing NTFS APIs to access a durable drive “Velocity”
          
           Durability and survival of data on application
Security    failover                 Access Control          “Geneva”
           Enables migrating existing NTFS applications to
Connectivitythe cloud                Service Bus               Project
                                                              “Sydney”
           Drives can be up to 1TB; a VM can dynamically
            mount up to 8 drives                             SQL Azure
Data                                                         Data Sync


Compute
                                                               Content
Storage     Table Storage   Blob Storage   Queue    Drive      Delivery
                                                               Network



                                                                          17
                               Windows Azure Drive(2)

Application Services
          A Windows Azure Drive is a Page Blob
       
FrameworksExample, mount Page Blob as X:\
                                       “Dublin”             “Velocity”


            http://<account>.blob.core.windows.net/<
Security                        Access Control      “Geneva”
             container>/<blob>
ConnectivityAll writes to drive are made durable to theProject
                                 Service Bus          “Sydney”
             Page Blob
                                                            SQL Azure
Data                                                        Data Sync
         Drive made durable through standard
Compute
          Page Blob replication

                                                             Content
Storage      Table Storage   Blob Storage   Queue   Drive    Delivery
                                                             Network



                                                                         18
                              Windows Azure Content
                                   Delivery Network
Application Services
        Provides high-bandwidth global blob content delivery
           18 locations globally (US, Europe, Asia, Australia and
FrameworksSouth America), and growing                “Dublin”    “Velocity”
       Blob service URL vs. CDN URL

Security  Blob URL: http://<account>.blob.core.windows.net/ “Geneva”
                                      Access Control
           CDN URL: http://<guid>.vo.msecnd.net/
           Support for custom domain names                        Project
Connectivity details
       Access                        Service Bus                 “Sydney”
           Blobs are cached in CDN until the TTL passes
Data                                                             SQL
           Use per-blob HTTP Cache-Control policy for TTL (new) Azure
                                                                 Data Sync
           CDN provides only anonymous HTTP access
Compute
                                                                    Content
Storage      Table Storage   Blob Storage   Queue      Drive        Delivery
                                                                    Network



                                                                               19
                                                            SQL Azure
       Highly available, scalable, and consistent distributed
        relational database; geo-replication and geo-location of data
Application Services
     Relational database, provided as a service
          Highly symmetrical development and tooling experience
Frameworks TDS protocol and T-SQL)
            (use                                      “Dublin”   “Velocity”

          Highly scaled out, on commodity hardware
                                       Access Control
Security  Built on the SQL Server technology foundation          “Geneva”
     Editions: Web (1GB), Business (10GB)

                                                                     Project
Connectivity                                Service Bus             “Sydney”

                                                                   SQL Azure
Data                                                               Data Sync


Compute
                                                                    Content
Storage      Table Storage   Blob Storage     Queue       Drive     Delivery
                                                                    Network



                                                                               20
                                      SQL Azure Data Sync

Application Services
                          Tools for data synchronization with SQL
                           Azure
Frameworks                                                           “Velocity”
                             Connect on-premises apps“Dublin”the cloud
                                                         with
                             Create cached-mode clients
Security                                 Access Control
                           Built on Microsoft Sync Framework and “Geneva”
                           ADO.NET Sync Services
                                                                        Project
Connectivity                                Service Bus                “Sydney”

                                                                       SQL Azure
Data                                                                   Data Sync


Compute
                                                                        Content
Storage    Table Storage     Blob Storage     Queue        Drive        Delivery
                                                                        Network



                                                                                   21
                                  AppFabric Service Bus
                                                 Securely connect applications
Application Services                                Over the internet
                                                    Across any network topology
                                                    Across organizational
Frameworks                                                 “Dublin”
                                                     boundaries         “Velocity”
                                               Primary application patterns
                                                    Eventing – notify applications
Security                                  Access Control devices
                                                     and/or             “Geneva”
                                                    Service Remoting – securely
Connectivity                              Service Busproject on-premisesProject
                                                                          services
                                                     out to the cloud “Sydney”
                                                    Tunneling – app-to-app
Data                                                                    SQL
                                                     communication with Azure
                                                                        Data Sync
                                                     NAT/Firewall traversal

Compute
                                                                        Content
Storage    Table Storage   Blob Storage     Queue          Drive        Delivery
                                                                        Network



                                                                                      22
                           AppFabric Access Control
                                                 Provides outsourcing of claims-
Application Services                              based access control for REST
                                                  web services
                                               Key capabilities:
Frameworks                                                “Dublin”    “Velocity”
                                                    Usable from any platform
                                                    Low friction way to onboard
Security                                  Access Control clients
                                                     new              “Geneva”
                                                    Integrates with ADFS v2
                                                    Supports OAuth WRAP /
                                                                        Project
Connectivity                              Service BusSWT               “Sydney”
                                                    Enables simple delegation
                                                                      SQL Azure
Data                                           Used today by Service Bus and
                                                                      Data Sync
                                                  “Dallas”
Compute
                                                                      Content
Storage    Table Storage   Blob Storage     Queue        Drive        Delivery
                                                                      Network



                                                                                    23
                                                         “Geneva”
>   Next generation identity and access management
    platform
    Application Services
     • Claims-based access and single sign-on for on-
       premise
    Frameworksand cloud-based applications in the “Dublin”   “Velocity”
       enterprise, across organizations, and on the Web
>   “Geneva Framework“ (Windows Identity Foundation)
    Security                      Access Control             “Geneva”
    • Provides .NET development tools, which includes
      pre-built,                        externalizes
    Connectivity user-access logic that Service Bus
                                                              Project
                                                             “Sydney”
      authentication from applications. It helps
      developers build claims-aware .NET applications,       SQL Azure
    Data build custom security token services (STS)
      plus                                                   Data Sync

>   “Geneva Server“
    Compute
     • An STS for IT that issues and transforms claims
       and other tokens, manages user access and              Content
    Storage     Table Storage Blob access Queue
       enables federation and Storage management for Drive    Delivery
                                                              Network
       simplified single sign-on
                                                                          24
                                                                “Geneva”
“CardSpace Geneva”
  Application Services
   helping users navigate between multiple
   logons for simplified single sign-on
  Frameworks                                              “Dublin”   “Velocity”
   providing complete user control and
   transparency for how personal information is
  Security                     Access Control                        “Geneva”
   shared
                                                                      Project
  Connectivity                              Service Bus              “Sydney”

                                                                     SQL Azure
  Data                                                               Data Sync


  Compute
                                                                      Content
  Storage    Table Storage   Blob Storage     Queue        Drive      Delivery
                                                                      Network



                                                                                  25
                                                         “Velocity”
   Distributed in-memory cache platform for
     Application Services
    developing scalable, available, and highly-
    performance applications
    Frameworks                                       “Dublin”   “Velocity”


     Caches any serializable CLR object and
    Security                      Access Control                “Geneva”
      provides access through simple cache APIs
     Supports enterprise scale: tens to
    Connectivity                  Service Bus                    Project
                                                                “Sydney”
      hundreds of computers
                                                                SQL Azure
     Configurable to run as a service accessed
    Data                                                        Data Sync
      over the network
    Compute
     Supports dynamic scaling and automatic
      load balancing                                             Content
    Storage   Table Storage   Blob Storage   Queue    Drive      Delivery
                                                                 Network



                                                                             26
                                                              “Velocity”
 Supports continuous availability of cached data
Application Services on separate cache hosts
  by storing copies
 Integration with administration and monitoring
Frameworks                                   “Dublin”              “Velocity”
  tools such as Event Tracing for Windows (ETW)
  and System Center.
Security                                  Access Control           “Geneva”


                                                                    Project
Connectivity                              Service Bus              “Sydney”

                                                                   SQL Azure
Data                                                               Data Sync


Compute
                                                                    Content
Storage    Table Storage   Blob Storage     Queue          Drive    Delivery
                                                                    Network



                                                                                27
                                                                 “Dublin”
   Evolution of WAS/IIS and Windows App
     Application Services
    Server role to run and manage WF and
    WCF services
     Frameworks
     Enhances the hosting of Windows                 “Dublin”     “Velocity”

       Communication Foundation (WCF)
       and Windows Workflow (WF) inAccess Control
     Security                         the                          “Geneva”
       Windows Process Activation Service
                                                                    Project
     Connectivity
       (WAS)                         Service Bus                   “Sydney”
     Simplified deployment and
       management of WCF and WF                                    SQL Azure
     Data                                                          Data Sync
       services hosted in WAS
     Configuration of persistence for
     Compute
       durable workflows
                                                                    Content
    Storage    Table Storage   Blob Storage   Queue    Drive        Delivery
                                                                    Network



                                                                                28
                                                                      “Dublin”
 Customizable tracking profiles with
Application Services
  dedicated, queryable storage for
  tracked data
Frameworks                                                 “Dublin”     “Velocity”
 Customizable monitoring of hosted
  services
Security                                  Access Control                “Geneva”


                                                                         Project
Connectivity                              Service Bus                   “Sydney”

                                                                        SQL Azure
Data                                                                    Data Sync


Compute
                                                                         Content
Storage    Table Storage   Blob Storage     Queue           Drive        Delivery
                                                                         Network



                                                                                     29
                                                               “Dallas”

Application Services

Frameworks                                          “Dublin”      “Velocity”
            Information-as-a-service
            Discover, acquire, and consume structured, blob,
Security                               Access Control
             and real-time data to power any application – on     “Geneva”

             any platform and any screen size
                                                                   Project
                                       Service Bus
Connectivity Brokerage Business – partner driven ecosystem and
                                                                 “Sydney”
             global reach to deliver data and functionality to
                                                                  SQL Azure
Data         developers and information workers                   Data Sync
            Analytics and Reporting – single click analysis to

Compute      augment private data with public data
            Built on Windows Azure and SQL Azure
                                                                   Content
Storage     Table Storage   Blob Storage   Queue     Drive         Delivery
                                                                   Network



                                                                               30
                                       Azure Pricing
   Computing Nodes
     Shared CPU, 768 MB RAM
       $0.02 / hour ($15 / month)
     1 Core, 1.75 GB RAM
       $0.12 / hour ($90 / month)
                                       (as of April 2012)
   Storage
     $0.125 / GB + $0.01 / 10000 operations
   SQL Azure Database
     100 MB – $0.0067 / hour ($5 / month)
     1 GB – $0.0133 / hour ($10 / month)
                                                            31
AppFabric Service Bus




                        32
AppFabric Access Control




                           33
               Table Storage Concepts

Accounts        Tables     Entities
                           Email = …
                           Name = …
                 Users
                           Email = …
                           Name = …
moviesonline
                           Genre = …
                           Title = …
                 Movies
                           Genre = …
                           Title = …




                                        34
           Queue Storage Concepts

Accounts     Queues          Messages
                              128 x 128
                               http://...
            thumbnailjobs
                              256 x 256
                               http://...
  sally

                              http://...
             traverselinks

                              http://...




                                            35
           Blob Storage Concepts

Accounts   Container    Blob

                       PIC01.JPG

             images
                       PIC02.JPG

  sally


             movies    MOV1.AVI




                                   36
                   Blob Storage Concepts
                  Adding Blocks and Pages
Accounts   Container    Blob       Blocks

                       PIC01.JPG

             images

                       PIC02.JPG
                                   Block or
  sally
                                    Page 1

                                   Block or
             movies    MOV1.AVI     Page 1

                                   Block or
                                    Page 1



                                              37
      Windows Azure




Questions?

      http://clouddevcourse.telerik.com
                                          Homework
1.   Install Windows Azure SDK for your favorite
     programming language
      E.g. C#, Java, PHP or JavaScript
2.   Create a "Hello World" Azure application
      Run it in the Azure Compute emulator
3.   Create an application for uploading, listing and
     downloading files from Azure Blobs
      Run it in the Azure Storage emulator
    As a result of your homework submit the source
     code of your Azure applications.
                                                        39

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:5/19/2013
language:Unknown
pages:39
yaofenji yaofenji
About