48 David Chou

download 48 David Chou

of 55

Transcript of 48 David Chou

  • 8/12/2019 48 David Chou

    1/55

    Microsoft Cloud Platform

    David Chouarchitectmicrosoft

  • 8/12/2019 48 David Chou

    2/55

    YourOwn

    Data Center

    SomeoneElses

    Data Center

    What is Cloud Computing?

    Host (software, database, etc.)

    Use (services, information, etc.)

    Build (applications, data, etc.)

  • 8/12/2019 48 David Chou

    3/55

    PrivateCloud

    PublicCloud

    What is Cloud Computing?

    Infrastructure (as-a-service)

    Software (as-a-service)

    Platform (as-a-service)

    Dedicated

    Hybrid Cloud

    Community

    ServiceCategories

    Cloud Types

  • 8/12/2019 48 David Chou

    4/55

    (On-Premise)Infrastructure

    (as a Service)

    Platform(as a Service)

    What is Cloud Computing?

    Storage

    Servers

    Networking

    O/S

    Middleware

    Virtualization

    Data

    Applications

    Runtime

    Storage

    Servers

    Networking

    O/S

    Middleware

    Virtualization

    Data

    Applications

    Runtime

    Yo

    umanage M

    anagedbyvendor

    Ma

    nagedbyvendor

    Yo

    umanage

    Youmanage

    Storage

    Servers

    Networking

    O/S

    Middleware

    Virtualization

    Applications

    Runtime

    Data

    Software(as a Service)

    Managedbyvendor

    Storage

    Servers

    Networking

    O/S

    Middleware

    Virtualization

    Applications

    Runtime

    Data

    Service Categories

  • 8/12/2019 48 David Chou

    5/55

    Abstract/Shared Resources

    On-Premise

    Dedicated Resources

    Public Cloud

    Customizability Ease of Provisioning

    Global ReachSecurity & Privacy

    Manageability Redundancy & Resiliency

    Scalability & AvailabilityConsistency & Control

    Microsoft Cloud Strategy

    HomogeneityHeterogeneity

    A Hybrid World

  • 8/12/2019 48 David Chou

    6/55

    Microsoft Cloud StrategyPlatform of Choice

  • 8/12/2019 48 David Chou

    7/55

    Microsoft Cloud Strategy

    (15years)

    450M+

    activeusers

    (13years)

    550Musers/mth

    (12years)

    Largestnon

    ICP/IPcloud

    service

    x100Musers

    (11years)

    320M+

    active

    users

    (11years)

    2B

    queries/mth

    (15years)

    450M+

    activeusers

    (7years)

    5Bconf

    min/yr

    (6years)

    4Bemails/day

    History in the Cloud

  • 8/12/2019 48 David Chou

    8/55

    Federated

    Scale-Out

    Elastic

    Staged Production

    Self-Service

    Multi-Tenant

    Model-Driven

    Always Available

    Failure Resilient

    Service-Oriented

    Microsoft Cloud StrategyGeneralized Application Model

  • 8/12/2019 48 David Chou

    9/55

    The Microsoft Cloud

    > Purpose-built data center to hostcontainers at large scale

    Cost $500 million, 100,000 square

    foot facility (10 football fields)

    > 40 foot shipping containers canhouse as many as 2,500 servers

    Density of 10 times amount of

    compute in equivalent space intraditional data center

    > Deliver an average PUE of 1.22

    Power Usage Effectiveness

    benchmark from The Green Gridconsortium on energy efficiency

    Data Center Infrastructure

  • 8/12/2019 48 David Chou

    10/55

    The Microsoft CloudData Center Infrastructure

  • 8/12/2019 48 David Chou

    11/55

    The Microsoft CloudServer Container Deployment

  • 8/12/2019 48 David Chou

    12/55

    The Microsoft CloudServer Container Deployment

  • 8/12/2019 48 David Chou

    13/55

    The Microsoft CloudServer Container Deployment

  • 8/12/2019 48 David Chou

    14/55

    The Microsoft CloudServer Container Deployment

  • 8/12/2019 48 David Chou

    15/55

    The Microsoft CloudServer Container Deployment

  • 8/12/2019 48 David Chou

    16/55

    The Microsoft CloudServer Container Deployment

  • 8/12/2019 48 David Chou

    17/55

    The Microsoft CloudServer Container Deployment

  • 8/12/2019 48 David Chou

    18/55

    The Microsoft Cloud~100 Globally Distributed Data Centers

    Quincy,WA Chicago,IL SanAntonio,TX Dublin,Ireland Generation4DCs

  • 8/12/2019 48 David Chou

    19/55

    The Microsoft CloudHighly available, scalable, and consistent application fabric environment

  • 8/12/2019 48 David Chou

    20/55

    Platform Services

    Software Services

    Application Services

    Infrastructure Services

    The Microsoft CloudCategories of Services

  • 8/12/2019 48 David Chou

    21/55

    StorageDynamic

    Tabular Data

    BlobsMessage

    Queues

    Distributed

    File System

    Content

    Distribution

    Data Transact-SQL DataSynchronizationRelationalDatabase

    ADO.NET,ODBC, PHP

    Connectivity Registry On-PremiseBridgingService Bus

    SecurityClaims-Based

    IdentityFederatedIdentities

    Secure TokenService

    DeclarativePolicies

    Application ServicesApplicationMarketplace

    InformationMarketplace

    Personal DataRepository

    FrameworksWorkflow

    Hosting

    Distributed

    Cache

    Services

    Hosting

    Windows Azure Platform

    Compute C / C++Win32 VHD

    http://en.wikipedia.org/wiki/File:Tomcat.pnghttp://en.wikipedia.org/wiki/File:Python_logo.svghttp://en.wikipedia.org/wiki/File:Python_logo.svg
  • 8/12/2019 48 David Chou

    22/55

    Compute

    Storage

    DataSQL AzureData Sync

    Connectivity ProjectSydney

    Security Geneva

    Application Services

    Frameworks Dublin Velocity

    Windows Azure Platform

    Service Bus

    Access Control

    Table Storage Blob Storage Queue DriveContentDelivery

    Network

  • 8/12/2019 48 David Chou

    23/55

    Windows Azure

    Compute instance types: Web Role &

    Worker Role. Windows Azure applicationsare built with web role instances, workerrole instances, or a combination of both.

    Each instance runs

    on its own VM

    (virtual machine),replicated as needed

    The Fabric Controller communicates with every serverwithin the Fabric. It manages Windows Azure, monitorsevery application, decides where new applications shouldrun optimizing hardware utilization.

    >Development, service hosting, & management environment

    .NET, Java PHP, Python, Ruby, native code (C/C++, Win32, etc.)

    ASP.NET providers, FastCGI, memcached, MySQL, Tomcat

    Full-trust supports standard languages and APIs Secure certificate store

    Management APIs, and logging and diagnostics systems

    >Multiple roles Web, Worker, Virtual Machine (VHD)

    >Multiple VM sizes

    1.6 GHz CPU x64, 1.75GB RAM, 100Mbps network, 250GB volatile storage Small (1X), Medium (2X), Large (4X), X-Large (8X)

    >In-place rolling upgrades, organized by upgrade domains

    Walk each upgrade domain one at a time

    Operating system as an online service; with automated provisioning andservices management

    Maintenance OS

    Host VMGuest VM 1

    Host VM

    Guest VM 3Guest VM 2

    Guest VM 1Host VM

  • 8/12/2019 48 David Chou

    24/55

    SQL Azure

    > Shared infrastructure at SQL database and below

    Each user database is replicated to one or more servers(configurable based on SLA)

    Client requests are routed to current primary server for

    read and write operations (based on SQL session) Security, lockdown and isolation enforced in SQL tier

    > Highly scalable and state-of-the-art HA technology

    Automatic failure detection; client request re-routed tonew primary on failure

    High SLA guarantee using logical replication (hot standbyreplicas)

    Automatic management, self-healing and load balancingacross shared resource pool

    DBA role placesmore focus on

    policy/logical

    managementScalability and Availability: fabric, failover, replication, and load balancing

    VM 5SQL Server

    SQL DBUserDB1

    UserDB2

    UserDB3

    UserDB4

    SQL Azure database provisioning (databases, accounts, roles, , metering, and billing)

    VM 6SQL Server

    SQL DBUserDB1

    UserDB2

    UserDB3

    UserDB4

    VM 4SQL Server

    SQL DBUserDB1

    UserDB2

    UserDB3

    UserDB4

    > Security Model

    Uses regular SQL security model Authenticate logins, map to users and roles

    Authorize users and roles to SQL objects

    Supports standard SQL logins Logins are username + password strings

    Service enforces use of SSL to secure credentials

    Upcoming support for AD Federation, WLID, etc.

    > Connectivity Model

    Connect using common client libraries ADO.NET, OLE DB, ODBC, etc.

    Clients connect to a database directly

    Cannot hop across DBs

    Highly available, scalable, and consistent distributed relational databaseservice; with geo-replication and geo-location of data

  • 8/12/2019 48 David Chou

    25/55

    Windows Azure platform AppFabric

    > Service Bus Expose RESTful or SOAP services over the

    internet through firewall and NAT boundaries Communicate bi-directionally between apps

    and services in an interoperable manner

    Choose relays, queues, routers, and othermessage patterns and types

    Scale out naturally and reliably as apps andservices grow

    > Access Control Integrate authorization into apps to control

    what users are allowed to do Federate with multiple identity systems

    across organizations and ID providers

    Easily apply fine-grained access control rules

    Secure Service Bus communications

    Scale out naturally and reliably as apps andservices grow

    Internet-scoped overlay-network bridging across IP NATs and firewalls withfederated access control

  • 8/12/2019 48 David Chou

    26/55

    Sign up at the WindowsAzure Platformdevelopers portal

    Windows Azure accessDeveloper toolsWhite papersSample applications

    Plan pilot applications,

    proofs of concept, andarchitectural designsessions with WindowsAzure partners

    http://www.azure.com

  • 8/12/2019 48 David Chou

    27/55

    Service Instance

    Worker Role

    Service Instance

    Web Role

    .NET in Windows Azure

    FabricControllerLoadBalancer TableStorage BlobStorage Queue

    ServiceBus

    AccessControl

    SQL

    Database

    bindport(x)

    http://instance:x

    http://instance:y

    http://app:80

    default.aspx

    Web Role and Work Role

    IIS RoleEntryPoint

  • 8/12/2019 48 David Chou

    28/55

    Service Instance

    Service Instance

    Web Role

    PHP in Windows Azure

    FabricControllerLoadBalancer TableStorage BlobStorage Queue

    ServiceBus

    AccessControl

    SQL

    Database

    bindport(x)

    http://instance:x

    http://instance:y

    http://app:80

    index.php

    Web Role and IIS/FastCGI with Native Runtime

    php-cgi

    IIS

    FastCGI

  • 8/12/2019 48 David Chou

    29/55

    Service Instance

    Service Instance

    Worker Role

    Java and Tomcat in Windows Azure

    RoleEntryPoint

    Sub-Process

    JVM

    Tomcat

    server.xmlCatalina

    FabricControllerLoadBalancer TableStorage BlobStorage Queue

    ServiceBus

    AccessControl

    SQL

    Database

    newProcess()bindport(x)

    http://instance:x

    http://instance:y

    listenport(x)

    http://app:80

    get

    runtime

    info

    index.jsp

    Worker Role and Sub-Process Invoking Native Code

    http://en.wikipedia.org/wiki/File:Tomcat.png
  • 8/12/2019 48 David Chou

    30/55

    3 Key Takeaways

    >Platform-as-a-service fabric cloud

    > Hybridon-premise software and cloud

    services platform

    >Consistent programming model and tools

  • 8/12/2019 48 David Chou

    31/55

    [email protected]

    blogs.msdn.com/dachou

    Thank you!

    2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

    The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market

    conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

    MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

  • 8/12/2019 48 David Chou

    32/55

    Pricing

    Compute

    $0.12 / CPU hour

    Storage

    $0.15 / GB / month

    $0.01 / 10k txn / month

    Bandwidth

    $0.10 in / GB

    $0.15 out / GB

    Web Edition (1GB)

    $9.99 / month

    Business Edition (10GB)

    $99.99 / month

    Bandwidth

    $0.10 in / GB

    $0.15 out / GB

    Service Bus

    $0.15 / 100k messages

    Access Control

    $0.15 / 100k tokens

    Bandwidth

    $0.10 in / GB

    $0.15 out / GB

    SUBSCRIPTIONCONSUMPTION VOLUME LICENSING

    Pay as you go and grow

    Available at launch

    Low barrier to entry and flexibility

    Optimized for cloud elasticity

    Discounts for commitment

    Plans for payment predictability

    Coordinated purchasing

    Planned for FY11

    Unified purchasing through EA

    Introduction to volume discounts

    Value for a commitment

    Select offers Announced

  • 8/12/2019 48 David Chou

    33/55

  • 8/12/2019 48 David Chou

    34/55

    Application Models

    Web Hosting

    Massive scale infrastructure

    Burst & overflow capacity

    Temporary, ad-hoc sites

    Application Hosting

    Hybrid applications

    Composite applications Automated agents / jobs

    Media Hosting & Processing

    CGI rendering Content transcoding

    Media streaming

    Distributed Storage External backup and storage

    High Performance Computing

    Parallel & distributed processing

    Massive modeling & simulation

    Advanced analytics

    Information Sharing

    Reference data

    Common data repositories Knowledge discovery & mgmt

    Collaborative Processes

    Multi-enterprise integration B2B & e-commerce

    Supply chain management

    Health & life sciences Domain-specific services

  • 8/12/2019 48 David Chou

    35/55

    Case Study

    About

    kbb.com, established 1995;

    vehicle data aggregation and

    publication service provider 14M UU/month

    Multiple physical data centers

    Solution

    Cloud-based overflow capacity

    Windows Azure Web Role

    SQL Azure database

    Benefits

    ~$100,000 savings / year in

    hosting costs alone

    Retire failover data center (27

    Web servers & 9 SQL Servers)

  • 8/12/2019 48 David Chou

    36/55

    Case Study

    About

    Legacy call-center application for

    order processing and fulfillment

    On-premise systems integrationwith ERP and master data

    management

    Solution

    Cloud-based Web-enablement of

    on-premise assets

    Windows Azure Web Role

    Web services integration via on-

    premise ESB endpoints

    Benefits In a matter of weeks, we were

    able to see the fruits of our efforts

    very rapidly. Kevin Flowers, Dir.

    Enabling Technologies

    The resilience and reliability of

    this platform is some of the

    benefits that we are seeing. Esat

    Sezer, SVP & CIO

  • 8/12/2019 48 David Chou

    37/55

    Case Study

    About

    Complex Monte Carlo simulations

    to calculate financial risks

    Daily risk analysis load equivalentto processing 4 trillion US Stocks

    Existing on-premise HPC

    implementation

    Solution

    Massively scalable compute

    leveraging cloud capacity

    Deployed on 2K Windows Azureinstances; 10K+ in 2010

    Windows Azure Worker Role

    Windows Azure Blob and Queue AppFabric Service Bus

    Benefits

    Elastic scaling to effectively meetcustomer demands

    Turning elements of its peak load

    infrastructure from a fixed cost to

    a variable cost

  • 8/12/2019 48 David Chou

    38/55

    Case Study

    About

    Web-based ERP and accounting

    software to help mid-sized

    businesses automate customizedbusiness processes

    Business needs:

    Launch a SaaS offering which includes

    on demand infrastructure and billing

    Maintain a 24/7 production

    environment

    Minimize development efforts for both

    on-premise and SaaS offerings Technical implementation

    Web IIS 7, ASP.NET 3.5

    Server SQL Server 2005/2008,

    Windows Server 2003/2008 Tools Visual Studio 2008, .NET

    Framework 3.5

    Solution

    Cloud-based SaaS deployment

    Windows Azure

    SQL Azure

    Benefits

    Application migration completed

    in 3 weeks with 2 developers

    Customers can implement

    solution without investing in on-

    premise infrastructure; can save

    ~$8,000 for startup costs

  • 8/12/2019 48 David Chou

    39/55

    Case Study

    About

    Online service providing

    productivity tools to help students

    conduct research, write betterpapers, and get help on-demand

    Technical implementation

    Client Windows Mobile 6

    Web IIS 6, ASP.NET 3.5

    Server Windows Server 2003, SQL

    Server 2005

    Services Bing Search, Windows Live

    Messenger Web Toolkit Tools Visual Studio 2008, .NET

    Framework 3.5, .NET Compact

    Framework 3.5

    Solution

    Hybrid cloud application

    Cloud-based extensions and

    services mash-ups with on-premise implementation

    Windows Azure application

    .NET Services service bus, accesscontrol, & workflows

    Benefits

    $500,000 savings in dev. costs

    40% faster time-to-market

    More effective development

    Cost-effective scalability and

    enhanced availability

  • 8/12/2019 48 David Chou

    40/55

    Windows Azure Compute

    Compute

    > Development, service hosting, & management environment

    .NET, Java PHP, Python, Ruby, native code (C/C++, Win32, etc.)

    ASP.NET providers, FastCGI, memcached, MySQL, Tomcat

    Full-trust supports standard languages and APIs

    Secure certificate store

    Management APIs, and logging and diagnostics systems

    > Multiple roles Web, Worker, Virtual Machine (VHD)

    > Multiple VM sizes

    1.6 GHz CPU x64, 1.75GB RAM, 100Mbps network, 250GB volatile storage Small (1X), Medium (2X), Large (4X), X-Large (8X)

    > In-place rolling upgrades, organized by upgrade domains

    Walk each upgrade domain one at a time

  • 8/12/2019 48 David Chou

    41/55

    Windows Azure Diagnostics

    Compute

    > Configurable trace, performance counter, Windows event log,IIS log & file buffering

    Local data buffering quota management

    Query & modify from the cloud and from the desktop per role instance

    Transfer to storage scheduled & on-demand

    Filter by data type, verbosity & time range

  • 8/12/2019 48 David Chou

    42/55

    Windows Azure Storage

    > Rich data abstractions tables, blobs, queues, drives, CDN

    Capacity (100TB), throughput (100MB/sec), transactions (1K req/sec)

    > High accessibility Supports geo-location

    Language & platform agnostic REST APIs

    URL: http://..core.windows.net

    Client libraries for .NET, Java, PHP, etc.

    > High durability data is replicated 3 times within a cluster,and (Feb 2010) across datacenters

    > High scalability data is automatically partitioned andload balanced across servers

    StorageStorage

  • 8/12/2019 48 David Chou

    43/55

    Windows Azure Table Storage

    Table Storage

    > Designed for structured data, not relational data

    > Data definition is part of the application

    A Table is a set of Entities (records)

    An Entity is a set of Properties (fields)

    > No fixed schema

    Each property is stored as a pair

    Two entities within the same table can have different properties

    No schema is enforced

  • 8/12/2019 48 David Chou

    44/55

    Windows Azure Blob Storage

    Blob Storage

    > Storage for large, named files plus their metadata

    > Block Blob

    Targeted at streaming workloads

    Each blob consists of a sequence of blocks

    Each block is identified by a Block ID

    Size limit 200GB per blob

    > Page Blob

    Targeted at random read/write workloads

    Each blob consists of an array of pages

    Each page is identified by its offset from the start of the blob

    Size limit 1TB per blob

  • 8/12/2019 48 David Chou

    45/55

    Windows Azure Queue

    Queue

    > Performance efficient, highly available and provide reliablemessage delivery

    > Asynchronous work dispatch Inter-role communication

    Polling based model; best-effort FIFO data structure

    > Queue operations

    Create Queue

    Delete Queue

    List Queues

    Get/Set Queue Metadata

    > Message operations

    Add Message

    Get Message(s)

    Peek Message(s)

    Delete Message

  • 8/12/2019 48 David Chou

    46/55

    Windows Azure Drive

    Drive

    > Provides a durable NTFS volume for Windows Azureapplications to use

    Use existing NTFS APIs to access a durable drive Durability and survival of data on application failover

    Enables migrating existing NTFS applications to the cloud

    Drives can be up to 1TB; a VM can dynamically mount up to 8 drives

    > A Windows Azure Drive is a Page Blob Example, mount Page Blob as X:\

    http://.blob.core.windows.net//

    All writes to drive are made durable to the Page Blob

    Drive made durable through standard Page Blob replication

  • 8/12/2019 48 David Chou

    47/55

    Windows Azure Content Delivery Network

    > Provides high-bandwidth global blob content delivery

    18 locations globally (US, Europe, Asia, Australia and South America),and growing

    > Blob service URL vs. CDN URL

    Blob URL: http://.blob.core.windows.net/

    CDN URL: http://.vo.msecnd.net/

    Support for custom domain names

    > Access details

    Blobs are cached in CDN until the TTL passes

    Use per-blob HTTP Cache-Control policy for TTL (new)

    CDN provides only anonymous HTTP access

    ContentDelivery

    Network

  • 8/12/2019 48 David Chou

    48/55

    SQL Azure

    Data

    > Highly available, scalable, and consistent distributed relationaldatabase; geo-replication and geo-location of data

    > Relational database, provided as a service

    Highly symmetrical development and tooling experience (use TDS protocol

    and T-SQL) Highly scaled out, on commodity hardware

    Built on the SQL Server technology foundation

    > Editions: Web (1GB), Business (10GB)

  • 8/12/2019 48 David Chou

    49/55

    SQL Azure Data Sync

    SQL AzureData Sync

    > Tools for data synchronization with SQL Azure

    Connect on-premises apps with the cloud

    Create cached-mode clients

    > Built on Microsoft Sync Framework andADO.NET Sync Services

  • 8/12/2019 48 David Chou

    50/55

    AppFabric Service Bus

    Connectivity Service Bus

    > Securely connect applications Over the internet

    Across any network topology

    Across organizational boundaries

    > Primary application patterns Eventing notify applications

    and/or devices

    Service Remoting securely project

    on-premises services out to thecloud

    Tunneling app-to-appcommunication with NAT/Firewalltraversal

  • 8/12/2019 48 David Chou

    51/55

    AppFabric Access Control

    Security Access Control

    > Provides outsourcing of claims-based access control for RESTweb services

    > Key capabilities:

    Usable from any platform

    Low friction way to onboard newclients

    Integrates with ADFS v2

    Supports OAuth WRAP / SWT Enables simple delegation

    > Used today by Service Bus andDallas

  • 8/12/2019 48 David Chou

    52/55

  • 8/12/2019 48 David Chou

    53/55

    Velocity

    Velocity

    > Distributed in-memory cache platform for developingscalable, available, and highly-performance applications

    Caches any serializable CLR object and provides access through simplecache APIs

    Supports enterprise scale: tens to hundreds of computers Configurable to run as a service accessed over the network

    Supports dynamic scalingand automatic loadbalancing

    Supports continuousavailability of cached databy storing copies onseparate cache hosts

    Integration with

    administration andmonitoring tools such asEvent Tracing for Windows(ETW) and System Center.

    bli

  • 8/12/2019 48 David Chou

    54/55

    Dublin

    Dublin

    > Evolution of WAS/IIS and Windows App Serverrole to run and manage WF and WCF services

    Enhances the hosting of Windows CommunicationFoundation (WCF) and Windows Workflow (WF) in theWindows Process Activation Service (WAS)

    Simplified deployment and management of WCF andWF services hosted in WAS

    Configuration of persistence for durable workflows

    Customizable tracking profiles with dedicated,

    queryable storage for tracked data Customizable monitoring of hosted services

    ll

  • 8/12/2019 48 David Chou

    55/55

    Dallas

    > Information-as-a-service

    > Discover, acquire, and consume structured, blob,and real-time data to power any application onany platform and any screen size

    > Brokerage Business partner driven ecosystemand global reach to deliver data and functionalityto developers and information workers

    > Analytics and Reporting single click analysis toaugment private data with public data

    > Built on Windows Azure and SQL Azure