写点什么

Azure Drive 简化应用程序迁移至微软云计算过程

  • 2010-02-21
  • 本文字数:1480 字

    阅读完需:约 5 分钟

微软近期发布了测试版本的 Windows Azure Drive ,这个最初在 2009 年的 PDC 大会上被宣布为 XDrive 的存储器访问技术,能通过在存储器二进制大对象上创建一个 NTFS 格式的虚拟硬盘的方法,来简化将 Windows 应用程序迁移到云计算(服务器)上的过程。

Windows Azure 存储服务是一种基于 REST 模式的处理二进制大对象的服务。二进制大对象是一种能存放二进制或者文本文件的存储实体。二进制大对象通常被有序地存放在存储容器中。常见的二进制大对象有两种:

  • 块状二进制大对象——最多 200GB 的容量并支持线性读写的访问操作;这类二进制大对象对于流媒体的存储十分有用。
  • 页面二进制大对象——能够增长至 1TB 的容量并提供了任意读写的访问操作,此类的二进制大对象有助于存放普通的文本或者二进制文件。

存储服务的 API 提供了操作二进制大对象所需的工具,但是这些只对编写新的面向 Azure 云计算的应用程序提供了便利。已经存在的 Windows 应用程序对二进制大对象一无所知,因此它们需要被大规模地改写才能在云上运行。这便有了 Azure Drive 的用武之地了。

Windows Azure 操作系统拥有一个能够将页面二进制大对象安装为 VHD(Virtual Hard Drive,虚拟硬盘)的操作系统驱动器(OS Driver),并且还能对这个 VHD 执行读写操作。对于应用程序来说,这个过程就像操作一个已安装在机器上的普通 NTFS Windows 硬盘一样,但实际上这个操作系统驱动器却在对二进制大对象进行操作。所有无缓冲的或者被划掉的写入数据都被同步送到了存储器上,因此当用户接收到驱动器返回的“成功”信息后,就可以确定他的数据是安全的。如果发生应用程序崩溃或者驱动没有被载入的情况,这个功能将会非常重要。

Azure 开发团队还公开了一些 Azure Drive 的技术细节

  • 一个 Drive 就是将一个页面二进制大对象格式化成了固定 NTFS 格式,并且容量为 16MB 至 1TB 的 VHD。
  • 一个虚拟机可以动态加载最多 16 个硬盘。
  • 一个页面二进制大对象在同一时间段只能被一台虚拟机加载并执行读写操作。一个页面二进制大对象的快照可以在同一时间段被多个不同的虚拟机加载并执行只读操作。
  • 用来存储页面二进制大对象的存储器账户和用来执行应用程序的运算帐户应该被保存在 Windows Azure Developer Portal 的同一个物理地点上,以用来获取最好的硬盘性能。
  • Drive 能够通过 Windows Azure Blob 接口进行上传和下载。被格式化成固定 NTFS 格式的虚拟硬盘可以被当作页面二进制大对象,通过使用页面二进制大对象接口进行上传并加载成一个硬盘。类似的,一个格式化了的页面二进制大对象也能通过页面二进制大对象接口进行下载并可被当作一个 VHD 来使用。
  • Windows Azure 提供的操作系统驱动器只能被 Windows Azure 云中的 Windows Azure 虚拟机实例使用。微软现在还没有发布任何一个允许个人远程加载的硬盘。尽管如此,用户还是可以使用 GetBlob 来下载一个硬盘并通过在所下载的机器上加载这个被下载的 VHD 来使用它,但任何对于该下载版本的修改都将不会被发送到 Windows Azure Blob 服务器上。

Azure Drive 已经在二月份的Azure SDK 中发布,该SDK 中包含了加载了OS Driver 的Guest OS 1.1 版本。

PDC2009 上公布的但还没有发布的功能有:

  • 更好地操作云中的虚拟机:
    • 设置云中的虚拟机的管理员权限
    • 用户驱动构建和配置虚拟机镜像
    • 云中的虚拟机上的远程终端访问服务
  • 存储:
    • 可供用户有选择地复制数据的物理存放地点
    • 数据表的次要索引

参考资料: Azure Drive 白皮书 (docx 格式),PDC 2009 相关演讲: Windows Azure Present and Future Windows Azure Blob and Drive Deep Dive

查看英文原文: Azure Drive Eases the Migration to Microsoft’s Cloud

2010-02-21 02:591715

评论

发布
暂无评论
发现更多内容

SDK 是如何存储事件数据的?

神策技术社区

ios 大数据 存储 数据采集 神策数据

私藏干货 | 实现分布式锁的三种方案对比

架构精进之路

分布式锁 3月日更

NAC公链——Nirvana NA公链白皮书

区块链第一资讯

挖矿 区块链+

网易云音乐:基于分布式图学习PGL的推荐系统优化之路

百度开发者中心

拍乐云创始人&CEO赵加雨:深耕18载,打造全景式音视频服务

拍乐云Pano

音视频 WebRTC 在线教育 RTC 实时通信

沙龙报名 | 云计算进入多元架构,云原生时代的挑战与机遇

京东科技开发者

云计算 云原生

阿里P8大牛亲自教你!一个三非渣本的Android校招秋招之路,满满干货指导

欢喜学安卓

android 程序员 面试 移动开发

面试官:啥?SynchronousQueue是钟点房?

四猿外

Java 并发编程 高并发 并发 SynchronousQueue

带你走进与千万数据通信者共成长的“家园”

华为云开发者联盟

华为 开发者 网络 华为数据通信 社区

【LeetCode】不同的子序列Java题解

Albert

算法 LeetCode 28天写作 3月日更

数据驱动业务:一张大屏掌控城市运行,效率提高95%

一只数据鲸鱼

物联网 数据可视化 智慧城市 智慧园区 智慧交通

Kubectl Plugin 推荐(三)| 插件开发篇

郭旭东

Kubernetes kubectl kubectl plugin

云原生时代下,容器安全的“四个挑战”和“两个关键”

阿里巴巴云原生

容器 云原生 k8s 安全 监控

架构师训练营第十一周作业 - 命题作业

阿德儿

寻找被遗忘的勇气(十七)

Changing Lin

3月日更

区块链数字版权管理,区块链赋能知识产权保护

13530558032

阿里二面:什么是mmap?

艾小仙

阿里P9春招特此分享:Java核心开发成长手册(2021版)涵盖所有p5-p8技术栈

比伯

Java 编程 架构 面试 程序人生

C语言中“野指针”、“悬空指针”是什么?

不脱发的程序猿

c 指针 编程之路 bug 3月日更

看故事学Redis:再不懂,我怀疑你是假个开发

华为云开发者联盟

MySQL 数据库 redis 缓存 数据

区块链数字版权管理,区块链赋能知识产权保护

13530558032

跟公司新招的这个“同事”搭档,工作搬砖太“自动化”了

华为云开发者联盟

华为 AI RPA 自动化 员工

多端框架开发 | 拼团商城项目开发说明

YonBuilder低代码开发平台

小程序云开发 大前端 移动终端 APP开发 多端开发

电商千万级交易的金手指:分布式事务管理

华为云开发者联盟

微服务 事务 华为云 分布式事务管理 DTM

阿里P8大牛亲自讲解!2021年Android网络编程总结篇,醍醐灌顶!

欢喜学安卓

android 程序员 面试 移动开发

您的客户管理决策是否低于10毫秒?

VoltDB

5G 物联网 解决方案 电信

有道技术沙龙 | AI 语音交互技术在语言学习场景的实践

有道技术团队

人工智能

LeetCode题解:647. 回文子串,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

区块链电子证照应用赋能政府服务

13530558032

你遇到过哪些质量很高的 Java 面试?

张小方

Java 面试 阿里 薪资

OpenKruise v0.8.0 核心能力解读:管理 Sidecar 容器的利器

阿里巴巴云原生

容器 微服务 云原生 k8s 应用服务中间件

Azure Drive简化应用程序迁移至微软云计算过程_.NET_Abel Avram_InfoQ精选文章