注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

分享,态度 ·~~

—— 十年太长,五年;如果可以回到五年前,你最想对那时候的自己说什么?

 
 
 

日志

 
 

Windows Azure:云端操作系统概述  

2011-11-01 19:17:01|  分类: Windows 8 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

什么是“云”(Cloud

Cloud:符合需求的、可扩展的、多用户的、自主的运算和存储资源。

 

Cloud相关概念:

1. Infrastructure as a Service (IaaS):

    basic compute and storage resources

    On-demand servers

    Amazon EC2, VMWare vCloud

2. Platform as a Service (PaaS):

    cloud application infrastructure

    On-demand application-hosting environment

    E.g. Google AppEngine, Salesforce.com, Windows Azure

3. Software as a Service (SaaS):

    cloud applications

    On-demand applications

E.g. Office 365, GMail, Microsoft Office Web Companions

 

Cloud服务几种类型之间的比较:

 

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~ 

 

PaaSUser不需要去操心他们不关心的东西。

 

Windows Azure

Windows Azure是一个操作系统,一个数据中心:

处理资源的管理、供应、监视;

Handles resource management, provisioning, and monitoring

管理程序的生命周期;

Manages application lifecycle

允许开发者专注于事务逻辑。

Allows developers to concentrate on business logic

提供公共模块来分发程序:

可靠的队列、简单的结构化存储、SQL存储;

Reliable queuing, simple structured storage, SQL storage

大量的程序服务:存取控制、缓存、连接性。

Application services like access control, caching, and connectivity

 

Windows Azure 架构

 

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~
 

Windows Azure程序设计原则

Design for Scale and Failure

可扩展的容量;(Scale out for capacity

可扩展的冗余;(Scale out for redundancy

异步通信;(Asynchronous communication

短暂超时3次重试;(Short time outs with retries

幂运算;(Idempotent operations

无国界的持久外部存储。(Stateless with durable external storage

  

Windows Azure程序特征

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 

Let’s Make a Cloud Application!

Marketing wants to catch branding violations

    Take as input an uploaded PowerPoint file and scan it for “branding violations” (use of “Azure” without “Windows” or “SQL” prefix)

Requirements:

    High availability

    IIS/MVC2 web site

    Scalable violation scanning workers

 

多层次的Cloud程序

典型的Cloud App由不同的几部分组成:

前端(Front end: e.g. load-balanced stateless web servers);

中间层(Middle worker tier: e.g. order processing, encoding);

后端存储(Back end storage: e.g. SQL tables or files);

可扩可用的复用实例(Multiple instances of each for scalability and availability)。 

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~ 

 

The Windows Azure Service Model

A Windows Azure application is called a “service”

    Definition information

    Configuration information

    At least one “role”

Roles are like DLLs in the service “process”

    Collection of code with an entry point that runs in its own virtual machine

Windows Azure compute SLA requires two instances of each role

    99.95% for connectivity to two instances

    Achieved with update and fault domains

 

Role Contents

Definition:

    Role name

    Role type

    VM size (e.g. small, medium, etc.)

    Network endpoints

Code:

    Web/Worker Role: Hosted DLL
and other executables

    VM Role: VHD

Configuration:

    Number of instances

    Number of update and fault domains 

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

  

Role Types

There are currently three role types:

    Web Role: IIS7 and ASP.NET in Windows Azure-supplied OS

    Worker Role: arbitrary code in Windows Azure-supplied OS

    VM Role: uploaded VHD with customer-supplied OS

VM Role: is it a VM?

    No, because it is stateless

    Good for:

        Long install (5+ minutes)

        Manual install/config

        Fragile install/config

 

Service Model Files

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 (视频3226VS演示)

 

Windows Azure存储

 

Role之间的通信Branding Police Inter-Role Communication

几种Role间的通信类型:

    PowerPoint file sent from Web Role to Worker Role

    Branding violations returned from Worker Role to user

要求:

    Communication must be asynchronous

    Must support concurrent violation scans for different users

Failure of any node must cause at worst a delay

 

Windows Azure storage和通信支持: 

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 

Windows Azure Storage的基本原则

存储特点:

    Durable – replicated three times

    Scalable (capacity and throughput)

    Highly available

简单熟悉的程序接口:

    REST  (HTTP and HTTPS)

    .NET accessible

 

Storage的三个对象

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 

Storage账户和Blob容器

Storage账户:

    一个账户可以拥有多个Blob容器。

容器:

一个容器是Blob的集合;

分享规则由Container Level确定;(Public READ or Private

Container联合Metadata;(Metadata<name, value>对;每个Container上限8KB

Container是有序排列的Blob

Blob Storage概念

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 

Table Data模型

表(Table):

一个Storage账户可以拥有多个Table

.NET类和LINQ

一张Tableentity的集合(行):

一个entityproperty的集合(列);

Billions of entities and TBs of data

两个“Key”属性合在一起成为entityTable中的唯一ID

PartitionKey – enables scalability

RowKey – uniquely identifies the entity within the partition

Table Storage概念

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~
 

Windows Azure Queues

提供可靠的message分发投递(Provide reliable message delivery):

    Simple, asynchronous work dispatch

    Programming semantics ensure that a message can be processed at least once

Queue是常用的、持久的、高效能的(Queues are highly available, durable and performance efficient):

    Maximum size is 64K

    FIFO in general, but not guaranteed

队列中Pull一个对象的行为并不会导致对象删除(Pulling an item from the queue doesnt delete it):

    It becomes invisible for a visibility timeout

    Item must be deleted before timeout or else it becomes visible

Queue Storage概念

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 

Windows Azure中的数据存储

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~
 

Branding Police(没明白什么意思)

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 

Updating Windows Azure Services

Update Types

There are two update types:

    In-place: updating a live service

    VIP swap: for testing first

In-place update:

    Role instances updated one update domain at a time

    Two modes: automatic and manual

VIP swap update:

    Two slots: staging and production

    New version of service deployed to staging slot

    External VIP/DIP mapping swapped with old

    Note: slots retain IP address

In-Place Update

Purpose: Ensure service stays up while updating and Windows Azure OS updates

System considers update domains when upgrading a service

    1/Update domains = percent of service that will be offline

    Default is 5 and max is 20, override with upgradeDomainCount service definition property

The Windows Azure SLA is based on at least two update domains and two role instances in each role

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~
 

VIP Swap Detail

Note about VIPs: You keep your assigned VIP for the lifetime of a deployment

Even for VIP swap, “production” retains the production VIP

 

Update Type Capabilities

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 

High Availability and Windows Azure Services

Availability: Fault Domains(容错一类的处理)

Avoid single points of physical failures

Unit of failure based on data center topology

    E.g. top-of-rack switch on a rack of machines

Windows Azure considers fault domains when allocating service roles

    At least 2 fault domains per service

    Will try and spread roles out across more

Availability SLA – 99.95%

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~

 

Load Balancer Operation

FC programs load balancers (LB) to “probe” guest agent (GA) every 15 seconds

    If the guest misses two probes, the LB stops forwarding traffic

The role can report “busy” status to the GA

    GA stops responding to probes

LB keeps an idle connection open for 60s

    Use keep-alive commands if the connection needs to be open longer

 

Guest Agent and Role Instance Heartbeats and Timeouts

Windows Azure:云端操作系统概述 - 乂乂 - 一个人,一支烟  ·~~
 

总结

1.       Cloud提供按程收费、顾客自理的程序资源提供方式;

The Cloud enables pay-as-you-go self-service provisioning of application resources

2.       作为一个service平台减少管理和操作成本;

Platform as a Service is all about reducing management and operations overhead

3.       Windows Azure使你能够在几分钟内开发和部署可扩展的、高可用度的App

Windows Azure enables you to develop and deploy scalable, highly-available applications in minutes

4.       使用Windows Azure,你可以用任何Windows语言或者Runtime部署代码。

With Windows Azure, you can deploy code using any Windows language or runtime

 

 本文内容来自Mark Russinovich于微软开发者大会上的主题演讲:
Introduction to Windows Azure: the cloud operating system
视频位置:http://channel9.msdn.com/Events/BUILD/BUILD2011/SAC-852F

 

 

 

  评论这张
 
阅读(2333)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017