SlideShare ist ein Scribd-Unternehmen logo
1 von 26
INSIDE SQL AZURE
Self Governing, Self-Healing, Massively Scalable
Database Service in the Cloud

Cihan Biyikoglu
Program Manager - SQL Azure
AGENDA

Inside SQL Azure
• SQL Azure = SQL Server + Self Management Services
    • SQL Azure Arch Components
    • SQL Azure Maintenance Model
    • SQL Azure Network Model


•   What does this mean for data movement?
•   What does this mean for perf and scale?
•   What does this mean for your SQL Server apps?
•   What does this mean for your apps economics?
SQL AZURE ARCHITECTURE
SERVICE PROVISIONING MODEL
               • Each account has zero or more servers
   Account
                     • Azure wide, provisioned in a common portal
                     • Established a Billing instrument

               • Each server has one or more databases
   Server        •    Logical concept equal to a master DB
                 •    Contains metadata about database & usage
                 •    Unit of authentication, geo-location, billing, reporting
                 •    Generated DNS-based name

    Database   • Each database has standard SQL objects
                 • Users, Tables, Views, Indices, etc
                 • Unit of consistency
DATACENTER ARCHITECTURE
                                                                      Datacenter
                                                                       Routers


     Aggregation
     Routers and
    Load Balancers

                       Agg                       Agg                            Agg                          Agg                           Agg                     Agg
                LB           LB             LB           LB               LB            LB           LB                  LB           LB         LB         LB           LB


 Top of Rack
  Switches
         TOR          TOR        TOR     TOR     TOR          TOR        TOR     TOR         TOR      TOR          TOR        TOR                     TOR        TOR         TOR
        Nodes


                     Nodes


                                 Nodes


                                         Nodes


                                                 Nodes


                                                              Nodes

                                                                        Nodes

                                                                                Nodes


                                                                                             Nodes

                                                                                                     Nodes


                                                                                                               Nodes


                                                                                                                              Nodes




                                                                                                                                                      Nodes

                                                                                                                                                                 Nodes


                                                                                                                                                                             Nodes
Racks                        …                           …                              …                                …                 …                             …
         PDU          PDU        PDU     PDU     PDU          PDU        PDU     PDU         PDU     PDU           PDU        PDU                     PDU        PDU         PDU

  Power Distribution
        Units
NETWORK TOPOLOGY
                                                                                  Applications use standard SQL client
                                                       Application                libraries: ODBC, ADO.Net, …


                                                               Internet
                                                             Azure Cloud


                                             TDS/SSL (tcp)

      Security Boundary                                                          Load balancer forwards ‘sticky’ sessions to
                                                                 LB              TDS protocol tier



TDS (tcp)



            Gateway         Gateway            Gateway                     Gateway       Gateway              Gateway
                Gateway: DaaS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to SQL Azure
TDS (tcp)


                    SQL                        SQL                             SQL                        SQL
5/17/2012                                                                                                                      6
            Scalability and Availability: Fabric, Failover, Replication, and Load balancing
SERVICES LAYER - GATEWAY

• Layer of isolation between the backend and customer traffic
  • Provisioning Billing - Server & Databases
  • Maps logical objects to physical resources
    o Physical location for SQL Azure Servers, User Databases
  • Handles login
    o Negotiates capabilities at PreLogin
    o Encryption (required), MARS
  • Inspects TDS packets for G-SQL
    o G-SQL = T-SQL Commands executed by the Gateway, such as CREATE DATABASE or CREATE
      FEDERATION
WALKTHROUGH-SQL AZURE DATABASE PROVISIONING
PLATFORM LAYER

• SQL Server Engine = Codebase SQL2012
  • Multitenant Setup – more details coming…
    o Single physical database that contain multiple logical databases with Single log file shared
      among all logical databases
    o Engine Resource Management (throttling) for fairness and protection


                                  SQL Azure - Engine Node
PLATFORM LAYER

• SQL Azure Fabric
  • SLA: Replication with auto-failover
    o Service monitoring and health management through ring topology
  • Load Balancing
    o Spread high concentration of load to balance the cluster, improve customer experience and
      improve node health
MULTI-TENANCY: RESOURCE MANAGEMENT

• Resource shared on machine with neighbor databases
  • CPU, memory, data/log spindles
  • TempDB, worker threads, network
  • Neighbors activity can affect your DB

  • Multi-tenancy management provided in SQL Azure
    o Load Balancer
    o Throttling Service
MULTI-TENANCY: LOAD BALANCER
–   Balance resource utilization across all machines
–   Minimize overloaded machines and reduce throttling
–   Swap vs. move mechanisms
–   Runs periodically, solves long term imbalance for cluster
–   Reactive Load Balancer solves short term spikes
    » React to spikes before the next regular LB run
    » Alleviate high throttling occurrences on hot machines
MULTI-TENANCY: RESOURCE THROTTLING

o Throttling Service
 •   Protect a machine from sustained high usage of system resources
 •   Evaluate actual resource usage vs. safe thresholds real-time
 •   Throttle the busiest DBs first (soft throttle)
 •   Throttle every DB if necessary (hard throttle)


o Throttling show as connection error 40501
 – “The service is currently busy. Retry the request after 10 seconds. Code: %d.”
SQL AZURE MAINTENANCE MODEL
SERVICE UPDATES

• SQL Azure requires no physical management
  • HW, Networking, OS service packs and patches, SQL Server service packs or
    patches are automatically done for you!
• Upgrade are done frequently
  • Hotfixes, Service Upgrades or Service Releases for
    o Sql azure, windows azure, windows server
MULTI PHASE UPGRADE

• Rollout in pieces
  • Fault Domains ~= Racks
  • We upgrade a fault domain at a time
    o Fault Domains are considered when placing replicas.
    o Ensure we take out one replicate of your db at a time down only.
SQL AZURE NETWORK MODEL
MICROSOFT AZURE DATA CENTERS WORLD WIDE

                                       North Europe
                            North
                          Central US

                                       West Europe


     South
   Central US                                                                                  East Asia
                                                                             Southeast Asia



                                                      Hosting locations within 100ms of the
    Regional hosting locations                        customer

                                                      At least one hosting location can be
                                                      reached within 100ms, but not two
   200ms Latency from 2
   regional hosting locations                         No points to test from or greater than
                                                      200ms latency
AZURE CROSS DATACENTER LATENCIES

                   North-central   South-central
 FromTo (ms)                                      North Europe   West Europe   East Asia   South-East Asia
                        US              US
 North-central
                        4.2            35.3            97            103.6       190.9           219.7
      US

 South-central
                       37.8             2.3           111.2          117.5        190            218.6
      US

 North Europe          99.8            111.8            2            20.9        283.3           312.3

  West Europe          107.5           118.6           21.1           2.3        291.8           320.8

    East Asia          194.5           190.8          284.2          291.7         1.6           32.6

 South-East Asia       223.1           219.2          312.9          320.1        32.2            1.9


• Client Stats & SQL Ping
DATA MOVEMENT PERFORMANCE WITH LATENCY

• If you have bandwidth you can beat latency!

 High Bandwidth, Medium Latency - 54ms




    High Bandwidth, High Latency - 169ms
                                                                                              Parallel Upload Batch Size 1K (sum rows/sec)
                                                                                              Native Sorted - Batch 10K (rows/sec)
                                                                                              Native - Batch 10K (rows/sec)
Low Bandwidth, Very High Latency - 289ms
                                                                                              Native - Batch 100 (rows/sec)


 Low Bandwidth, Medium Latency - 114ms



                                           0   1000 2000 3000 4000 5000 6000 7000 8000 9000
LETS RECAP
WHAT IS SQL AZURE?
• Database as a Service in the Cloud
  • Low Maintenance
    o Built in HA (SLA of 99.9%), Load Balanced (for db placement)
    o No Physical Maintenance Required – no wires, no patches for OS or SQL etc
  • Best Economics
    o Optimized for best economics, great price performance and high scale
    o Able to achieve all this at a new low price point and with pay as you go model
  • Rich Familiar Programming Model
    o It is SQL Server at heart!
       – Full ACID with Rich server and client side programmability options
       – Rich ecosystem of tools from BI to 3rd Party Management tools to MSOffice Integration…
TOP ARCHITECTURAL DIFFERENCES
                 SQL Server                       SQL Azure

Performance      Spectrum of HW choices           Locked HW choice
                 No HA by default                 HA and IO latency with 3 copies
                 Dedicated setup by default       Multi-tenant setup
                 Typically low latency access     Could be high latency to DC
Scale Model      Spectrum of HW choice            Locked HW choice
                 Scale-Up – limited with HW       Scale-Out with Federations– no
                                                  practical limits
Economics        Per Core or Per Server+CAL       Pay As You Go + Elastic




                 Exponential Cost with Scale-Up   Linear cost with Scale-Out
                 High Overhead on Admin           No Admin Overhead
TOP APP MODEL DIFFERENCES

• SQL Azure Application Model Difference
  • Scale-out for scale and perf
    o Take advantage of elasticity and get great economics
    o Take advantage of unlimited scale
  • Parallelize for efficiency
    o Harness many small nodes
    o Get around both network and disk IO latency
  • Code for Failure
    o Work in smaller transactions – so you can fail small
    o Integrate retry and resume logic into all operations
INSIDE SQL AZURE BY CIHAN BIYIKOGLU
Thanks for Attending
© 2011 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.

Weitere ähnliche Inhalte

Ähnlich wie Inside Sql Azure - Cihan Biyikoglu - SQL Azure

Energy Aware performance evaluation of WSNs.
Energy Aware performance evaluation of WSNs.Energy Aware performance evaluation of WSNs.
Energy Aware performance evaluation of WSNs.
ikrrish
 
Presentation l`aquila new
Presentation l`aquila newPresentation l`aquila new
Presentation l`aquila new
ikrrish
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar
 

Ähnlich wie Inside Sql Azure - Cihan Biyikoglu - SQL Azure (20)

[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure
[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure
[NetPonto] Arquitectura dos Serviços da plataforma Windows Azure
 
Arquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows AzureArquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows Azure
 
Microsoft - The Big Data opportunity
Microsoft - The Big Data opportunityMicrosoft - The Big Data opportunity
Microsoft - The Big Data opportunity
 
OpenStack and OpenFlow Demos
OpenStack and OpenFlow DemosOpenStack and OpenFlow Demos
OpenStack and OpenFlow Demos
 
Software Defined Data Centers - June 2012
Software Defined Data Centers - June 2012Software Defined Data Centers - June 2012
Software Defined Data Centers - June 2012
 
Architecting data center networks in the era of big data and cloud
Architecting data center networks in the era of big data and cloudArchitecting data center networks in the era of big data and cloud
Architecting data center networks in the era of big data and cloud
 
Energy Aware performance evaluation of WSNs.
Energy Aware performance evaluation of WSNs.Energy Aware performance evaluation of WSNs.
Energy Aware performance evaluation of WSNs.
 
Presentation l`aquila new
Presentation l`aquila newPresentation l`aquila new
Presentation l`aquila new
 
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFVBharath Ram Chandrasekar_Tele 6603_SDN &NFV
Bharath Ram Chandrasekar_Tele 6603_SDN &NFV
 
[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer
[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer
[AzurePT] Desenvolvimento para o Windows Azure: Diferença para o developer
 
Elveego circuits
Elveego circuitsElveego circuits
Elveego circuits
 
SDNs: hot topics, evolution & research opportunities
SDNs: hot topics, evolution & research opportunitiesSDNs: hot topics, evolution & research opportunities
SDNs: hot topics, evolution & research opportunities
 
New
NewNew
New
 
Software Defined Networks (SDN) na przykładzie rozwiązania OpenContrail.
Software Defined Networks (SDN) na przykładzie rozwiązania OpenContrail.Software Defined Networks (SDN) na przykładzie rozwiązania OpenContrail.
Software Defined Networks (SDN) na przykładzie rozwiązania OpenContrail.
 
Vlsi(2)
Vlsi(2)Vlsi(2)
Vlsi(2)
 
Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study us...
Data-Intensive Computing for  Competent Genetic Algorithms:  A Pilot Study us...Data-Intensive Computing for  Competent Genetic Algorithms:  A Pilot Study us...
Data-Intensive Computing for Competent Genetic Algorithms: A Pilot Study us...
 
Alcatel-Lucent Tech Symposium 2013: SDN: Innovating for Growth with Nuage Net...
Alcatel-Lucent Tech Symposium 2013: SDN: Innovating for Growth with Nuage Net...Alcatel-Lucent Tech Symposium 2013: SDN: Innovating for Growth with Nuage Net...
Alcatel-Lucent Tech Symposium 2013: SDN: Innovating for Growth with Nuage Net...
 
Instrumenting the real-time web
Instrumenting the real-time webInstrumenting the real-time web
Instrumenting the real-time web
 
Rain up presentation (erlang factory)
Rain up presentation (erlang factory)Rain up presentation (erlang factory)
Rain up presentation (erlang factory)
 
Notes on a High-Performance JSON Protocol
Notes on a High-Performance JSON ProtocolNotes on a High-Performance JSON Protocol
Notes on a High-Performance JSON Protocol
 

Mehr von Cihan Biyikoglu

Mehr von Cihan Biyikoglu (10)

Securing Redis
Securing RedisSecuring Redis
Securing Redis
 
Real-time Analytics with Redis
Real-time Analytics with RedisReal-time Analytics with Redis
Real-time Analytics with Redis
 
Developing Active-Active Geo-Distributed Apps with Redis
Developing Active-Active Geo-Distributed Apps with RedisDeveloping Active-Active Geo-Distributed Apps with Redis
Developing Active-Active Geo-Distributed Apps with Redis
 
Cross Data Center Replication with Redis using Redis Enterprise
Cross Data Center Replication with Redis using Redis EnterpriseCross Data Center Replication with Redis using Redis Enterprise
Cross Data Center Replication with Redis using Redis Enterprise
 
Tuning N1QL Query Performance with Couchbase Server 4.0
Tuning N1QL Query Performance with Couchbase Server 4.0Tuning N1QL Query Performance with Couchbase Server 4.0
Tuning N1QL Query Performance with Couchbase Server 4.0
 
Under the Hood - Couchbase Server Architecture - June 2015
Under the Hood - Couchbase Server Architecture - June 2015Under the Hood - Couchbase Server Architecture - June 2015
Under the Hood - Couchbase Server Architecture - June 2015
 
Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015
Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015
Global Secondary Indexes in Couchbase Server 4.0 - JUNE 2015
 
SQL gene in NoSQL
SQL gene in NoSQLSQL gene in NoSQL
SQL gene in NoSQL
 
Document Data Modelling with Couchbase Server 4.0
Document Data Modelling with Couchbase Server 4.0Document Data Modelling with Couchbase Server 4.0
Document Data Modelling with Couchbase Server 4.0
 
Deploying couchbaseserverazure cihanbiyikoglu_microsoft
Deploying couchbaseserverazure cihanbiyikoglu_microsoftDeploying couchbaseserverazure cihanbiyikoglu_microsoft
Deploying couchbaseserverazure cihanbiyikoglu_microsoft
 

Inside Sql Azure - Cihan Biyikoglu - SQL Azure

  • 1. INSIDE SQL AZURE Self Governing, Self-Healing, Massively Scalable Database Service in the Cloud Cihan Biyikoglu Program Manager - SQL Azure
  • 2. AGENDA Inside SQL Azure • SQL Azure = SQL Server + Self Management Services • SQL Azure Arch Components • SQL Azure Maintenance Model • SQL Azure Network Model • What does this mean for data movement? • What does this mean for perf and scale? • What does this mean for your SQL Server apps? • What does this mean for your apps economics?
  • 4. SERVICE PROVISIONING MODEL • Each account has zero or more servers Account • Azure wide, provisioned in a common portal • Established a Billing instrument • Each server has one or more databases Server • Logical concept equal to a master DB • Contains metadata about database & usage • Unit of authentication, geo-location, billing, reporting • Generated DNS-based name Database • Each database has standard SQL objects • Users, Tables, Views, Indices, etc • Unit of consistency
  • 5. DATACENTER ARCHITECTURE Datacenter Routers Aggregation Routers and Load Balancers Agg Agg Agg Agg Agg Agg LB LB LB LB LB LB LB LB LB LB LB LB Top of Rack Switches TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR TOR Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Nodes Racks … … … … … … PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU PDU Power Distribution Units
  • 6. NETWORK TOPOLOGY Applications use standard SQL client Application libraries: ODBC, ADO.Net, … Internet Azure Cloud TDS/SSL (tcp) Security Boundary Load balancer forwards ‘sticky’ sessions to LB TDS protocol tier TDS (tcp) Gateway Gateway Gateway Gateway Gateway Gateway Gateway: DaaS protocol gateway, enforces AUTHN/AUTHZ policy; proxy to SQL Azure TDS (tcp) SQL SQL SQL SQL 5/17/2012 6 Scalability and Availability: Fabric, Failover, Replication, and Load balancing
  • 7. SERVICES LAYER - GATEWAY • Layer of isolation between the backend and customer traffic • Provisioning Billing - Server & Databases • Maps logical objects to physical resources o Physical location for SQL Azure Servers, User Databases • Handles login o Negotiates capabilities at PreLogin o Encryption (required), MARS • Inspects TDS packets for G-SQL o G-SQL = T-SQL Commands executed by the Gateway, such as CREATE DATABASE or CREATE FEDERATION
  • 9. PLATFORM LAYER • SQL Server Engine = Codebase SQL2012 • Multitenant Setup – more details coming… o Single physical database that contain multiple logical databases with Single log file shared among all logical databases o Engine Resource Management (throttling) for fairness and protection SQL Azure - Engine Node
  • 10. PLATFORM LAYER • SQL Azure Fabric • SLA: Replication with auto-failover o Service monitoring and health management through ring topology • Load Balancing o Spread high concentration of load to balance the cluster, improve customer experience and improve node health
  • 11. MULTI-TENANCY: RESOURCE MANAGEMENT • Resource shared on machine with neighbor databases • CPU, memory, data/log spindles • TempDB, worker threads, network • Neighbors activity can affect your DB • Multi-tenancy management provided in SQL Azure o Load Balancer o Throttling Service
  • 12. MULTI-TENANCY: LOAD BALANCER – Balance resource utilization across all machines – Minimize overloaded machines and reduce throttling – Swap vs. move mechanisms – Runs periodically, solves long term imbalance for cluster – Reactive Load Balancer solves short term spikes » React to spikes before the next regular LB run » Alleviate high throttling occurrences on hot machines
  • 13. MULTI-TENANCY: RESOURCE THROTTLING o Throttling Service • Protect a machine from sustained high usage of system resources • Evaluate actual resource usage vs. safe thresholds real-time • Throttle the busiest DBs first (soft throttle) • Throttle every DB if necessary (hard throttle) o Throttling show as connection error 40501 – “The service is currently busy. Retry the request after 10 seconds. Code: %d.”
  • 15. SERVICE UPDATES • SQL Azure requires no physical management • HW, Networking, OS service packs and patches, SQL Server service packs or patches are automatically done for you! • Upgrade are done frequently • Hotfixes, Service Upgrades or Service Releases for o Sql azure, windows azure, windows server
  • 16. MULTI PHASE UPGRADE • Rollout in pieces • Fault Domains ~= Racks • We upgrade a fault domain at a time o Fault Domains are considered when placing replicas. o Ensure we take out one replicate of your db at a time down only.
  • 18. MICROSOFT AZURE DATA CENTERS WORLD WIDE North Europe North Central US West Europe South Central US East Asia Southeast Asia Hosting locations within 100ms of the Regional hosting locations customer At least one hosting location can be reached within 100ms, but not two 200ms Latency from 2 regional hosting locations No points to test from or greater than 200ms latency
  • 19. AZURE CROSS DATACENTER LATENCIES North-central South-central FromTo (ms) North Europe West Europe East Asia South-East Asia US US North-central 4.2 35.3 97 103.6 190.9 219.7 US South-central 37.8 2.3 111.2 117.5 190 218.6 US North Europe 99.8 111.8 2 20.9 283.3 312.3 West Europe 107.5 118.6 21.1 2.3 291.8 320.8 East Asia 194.5 190.8 284.2 291.7 1.6 32.6 South-East Asia 223.1 219.2 312.9 320.1 32.2 1.9 • Client Stats & SQL Ping
  • 20. DATA MOVEMENT PERFORMANCE WITH LATENCY • If you have bandwidth you can beat latency! High Bandwidth, Medium Latency - 54ms High Bandwidth, High Latency - 169ms Parallel Upload Batch Size 1K (sum rows/sec) Native Sorted - Batch 10K (rows/sec) Native - Batch 10K (rows/sec) Low Bandwidth, Very High Latency - 289ms Native - Batch 100 (rows/sec) Low Bandwidth, Medium Latency - 114ms 0 1000 2000 3000 4000 5000 6000 7000 8000 9000
  • 22. WHAT IS SQL AZURE? • Database as a Service in the Cloud • Low Maintenance o Built in HA (SLA of 99.9%), Load Balanced (for db placement) o No Physical Maintenance Required – no wires, no patches for OS or SQL etc • Best Economics o Optimized for best economics, great price performance and high scale o Able to achieve all this at a new low price point and with pay as you go model • Rich Familiar Programming Model o It is SQL Server at heart! – Full ACID with Rich server and client side programmability options – Rich ecosystem of tools from BI to 3rd Party Management tools to MSOffice Integration…
  • 23. TOP ARCHITECTURAL DIFFERENCES SQL Server SQL Azure Performance Spectrum of HW choices Locked HW choice No HA by default HA and IO latency with 3 copies Dedicated setup by default Multi-tenant setup Typically low latency access Could be high latency to DC Scale Model Spectrum of HW choice Locked HW choice Scale-Up – limited with HW Scale-Out with Federations– no practical limits Economics Per Core or Per Server+CAL Pay As You Go + Elastic Exponential Cost with Scale-Up Linear cost with Scale-Out High Overhead on Admin No Admin Overhead
  • 24. TOP APP MODEL DIFFERENCES • SQL Azure Application Model Difference • Scale-out for scale and perf o Take advantage of elasticity and get great economics o Take advantage of unlimited scale • Parallelize for efficiency o Harness many small nodes o Get around both network and disk IO latency • Code for Failure o Work in smaller transactions – so you can fail small o Integrate retry and resume logic into all operations
  • 25. INSIDE SQL AZURE BY CIHAN BIYIKOGLU Thanks for Attending
  • 26. © 2011 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.