Docstoc

5. Windows-Azure.pptx - Telerik

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




Telerik Corp.
www.telerik.com
Ilian Iliev
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                         Database       ODBC, PHP
                                                           Transact-SQL
                                                                            Synchronization



Compute                                                              C / C++
                                                                          Win32          VHD

             Unstructured                    Message       Distributed       Content
Storage         Data
                               Blobs
                                             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 (C/C++,
FrameworksWin32, etc.)                            “Dublin” “Velocity”
         ASP.NET providers, FastCGI, memcached, MySQL,
Security 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
Frameworks                                           “Dublin” “Velocity”
           Capacity (100TB), throughput (100MB/sec),
            transactions (1K req/sec)
Security High accessibility           Access Control          “Geneva”
      
           Supports geo-location                               Project
                                      Service REST
ConnectivityLanguage & platform agnosticBus 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
                                              • Bus
                                            ServiceAdd Message      “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
FrameworksUse existing NTFS APIs to access a durable drive “Velocity”
                                                   “Dublin”

           Durability and survival of data on application
Security    failover                 Access Control          “Geneva”
           Enables migrating existing NTFS applications to
Connectivitythe cloud                Service Bus              Project
           Drives can be up to 1TB; a VM can dynamically “Sydney”
            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
Security  Built on the SQL Server technology foundation
                                      Access Control             “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                                           boundaries
                                                          “Dublin”      “Velocity”
                                                Primary application patterns
                                                    Eventing – notify applications
Security                                  Access Control devices
                                                     and/or             “Geneva”
                                                    Service Remoting – securely
Connectivity                              Service Busproject on-premisesProject out
                                                                           services
                                                                         “Sydney”
                                                     to the cloud
                                                    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”
                                                    Usable from any “Velocity”
                                                                      platform
                                                    Low friction way to onboard
Security                                             new
                                          Access Control clients      “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 thatService 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)
                                   Access
     and Windows Workflow (WF) in the Control
   Security                                                      “Geneva”
     Windows Process Activation Service
     (WAS)                                                        Project
   Connectivity                    Service Bus                   “Sydney”
   Simplified deployment and
     management of WCF and WF
   Data
                                                                 SQL Azure
                                                                 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                   Pricing
    $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:12/11/2013
language:Unknown
pages:39
pengtt pengtt
About Those docs come from internet,if you have the copyrights of one of them,tell me by mail fkuept@163.com,I just want more peo learn more knowledge.Thank you!