刘伯温资料大全228333 SNS

机电学院浏览次数:  发布时间:2019-06-04

c?云运算里AWS和Azure的探究_知识库_博客园
全球领先的云的计算平台主要有两个,一个是Amazon Web Service,另外一个则是Microsoft Windows Azure,他们都同时提供了大量的和云计算相关的资源,包括计算、存储、网络等等。云计算其实并不是像我们看到的学校或者地方政府买很多很多机器就称为云计算,也不是我们看到的网盘、虚拟机等等。云计算的最大原则是弹性,也就是按需使用,用多少买多少,把所有的计算、存储和带宽资源有效地利用起来。网上这部分内容其实已经很多了,我这里也就不再多说了。近两年来我带了好几个项目,都是在Amazon AWS或者在Microsoft Azure上的,为总结这几年在云计算上的体会,我准备写一个专栏,讨论一下Amazon AWS和Windows Azure具体的一些功能、特色和性能上的区别。两个东西都是以A开头的,所以我把它叫做双A的比较。  第一篇里,我先谈谈AWS和Azure提供的不同的功能,大同小异的地方以及各自的特色。后续的文章会更深入地讨论不同的功能细节。  下图就是Amazon AWS提供的管理界面,包含计算和网络、存储和内容分发、数据库、部署和管理以及应用服务。  Amazon提供功能非常丰富,也很强大,在计算和网络这一块,包含了Amazon Elastic Compute Cloud(EC2),也就是我们最常用的虚拟机资源,还有Amazon Elastic MapReduce, Direct Connect, Route 53以及Amazon Virtual Private Cloud(VPC)。Amazon Elastic MapRedouce主要用于大数据的处理。Direct Connect其实是一个VPN,可以让局域网的机器和Amazon云里的机器直接连在一起。Route 53是一个可扩展的DNS,也可以用做负载均衡。VPC主要用于把AWS的资源创建在一个私有的,独立的云里。  在存储上,Amazon提供了CloudFront, Glacier, Simple Storage Service (S3), Storage Gateway,分别用于内容分发,低成本的存储服务,著名的S3存储服务和集成混合云的IT数据备份网关。  在数据库层,Amazon提供了DynamoDB, ElastiCache以及Relational Database Service(RDS)。DynamoDB是一个NoSQL的数据存储结构。ElastiCache提供了一套in-memory系统,RDS也就是关系型数据库,主要通过MySQL实现。  在部署和管理层,Amazon分别提供了CloudFormation, CloudWatch, Data Pipeline, Elastic Beanstalk和AWS Identity and Access Management(IAM)。用于创建云服务的模板,云系统的监控,轻量级的数据流服务,部署和管理应用程序(PaaS),以及用户治理。  在应用层,Amazon有Cloud Search, Elastic Transcoder, Simple Email Service(SES), Simple Notification Service(SNS), Simple Queue Service(SQS), Simple Workflow(SWF), 分别用于搜索,媒体编解码,通知,队列,工作流等服务。  Amazon从底层到应用层都提供了全系列的服务和基础设施,帮助用户能够快速地,低成本地创建高扩展性的应用。  类似的,Microsoft Windows Azure也提供了丰富的云服务,下面就是微软提供的云服务系统。  在管理界面里面,Azure可以看到的东西没有Amazon那么细节,只包含了一些大块, 包括Web Sites, Virtual Machine, Mobile Service,133222宝马论坛爆富六肖, Cloud Service, SQL Database, Storage, Networks, Service Bus, Media Service, Active Directory以及一些Add-Ons等。此外由于微软针对其自有产品开发,还提供了像Azure SQL Reporting, SQL Sync等服务。  在Azure中,可以直接创建网站,申请虚拟机,申请移动服务和云服务,还有数据库服务、网络、服务总线、媒体服务、活动目录。看上去就是微软的那一套,和Amazon完全不一样。其实,这些东西也无非是换汤不换药,大体没什么太大区别,接下去我们来具体比较一下这两个东西在功能上的异同。Amazon Web ServiceMicrosoft Windows AzureElastic Compute Cloud (EC2)Virtual Machine (Preview)Amazon Elastic MapReduceHadoop on Azure (Preview)Direct ConnectVirtual Network (Preview)Route 53Azure Load Balancer or Traffic ManagerAmazon Virtual Private Cloud(VPC)Virtual Network(Preview)CloudFrontAzure CDNGlacierN/ASimple Storage Service(S3)Blob StorageGatewayN/ADynamoDBTable StorageElastiCacheCache Worker RoleRelational Database Service(RDS)Azure SQL DatabaseCloudFormationWeb Site/Custom Images,不完全相同CloudWatchMonitoring Service,还没有完全实现Data PipelineSQL Data Sync实现了一部分,但不完全相同Elastic BeanstalkCloud Service(Web Role/Worker Role)AWS Identity and Access Management(IAM)Access Control(不完全相同)Cloud Search无Elastic TranscoderAzure Media serviceSimple Email Service(SES)无,第三方有类似Simple Notification Service(SNS)Service BusSimple Queue Service(SQS)Queue StorageSimple Workflow(SWF)N/A无SQL Data Sync无SQL Reporting无Active Directory可以通过CloudFormation实现Mobile ServiceAuto Scale无  在接下去的文章里,我会对Amazon AWS和Widows Azure作更进一步深入的研究,基本上会以一篇Amazon,一篇Azure的结构讨论IT或者App开发者在向云迁移的过程中,经常会遇到的问题和系统架构的选择。  Amazon EC2 和 Windows Azure Virtual Machine  Amazon EC2是Elastic Compute Cloud的简称,翻译成中文就是弹性计算云。它是Amazon云里面最基础的内容,也是发展到2019-06-02 最成熟的部分,通过EC2, 你可以在Amazon的云里面申请任意台机器,选择不同配置的机器,选择不同的操作系统,完成你所有的工作。类似的,Windows Azure Virtual Machine提供了一样的功能。之前Azure提供过一种不伦不类的东西叫做VM Role,是从他以前的PaaS里面的Web Role和Worker Role里面发展而来的,好在现在已经全面被Virtual Machine所取代了。  数据中心  要了解EC2和Azure VM,我们需要首先看看他们的数据中心到底有多少个不同的地方。AWS在全球主要部署了8个数据中心,包括美东的弗吉尼亚,美西的俄勒冈和加州,欧洲的爱尔兰,亚洲的新加坡和东京,澳洲的悉尼以及南美洲的巴西圣保罗。Azure从2010年开始推出,主要有6个数据中心,包括美国的芝加哥、圣安东尼奥,欧洲的爱尔兰都柏林和荷兰阿姆斯特丹,亚洲的新加坡和香港。这里要强调的一点是,一个数据中心不是一个机房,而是多个机房,他们之间也会备份数据,实现灾难恢复和高可用性。AWSAzureUS East(N.Virginia)East US (Chicago)US West(Oregon)West US(San Antonio)US West(N. California)EU(Ireland)North Europe(Ireland)West Europe(Amsterdam)Asia Pacific(Singapore)Southeast Asia(Singapore)Asia Pacific(Tokyo)East Asia(Hong Kong)Asia Pacific(Sydney)South America(San Paulo)  下图就是在创建虚拟机的时候,AWS和Azure可以选择的不同数据中心。AWSAzure   实例类型和价格  当然,创建数据中心的位置只是第一步,接下来还要选择机器的配置,比如核的数量、内存大小、机器硬件环境等,在这一点上,AWS可以说是远远走在了Azure的前面。AWS提供了丰富的实例类型(Instance Type),具体可以参考以下表格:名称内存(GB)计算单元(核)存储(GB)价格每小时(Linux/Windows)标准第一代M1 Small1.71160$0.065/$0.115M1 Medium3.752410$0.130/$0.230M1 Large7.54850$0.260/$0.460M1 Extra Large1581690$0.520/$0.920标准第二代M3 Extra Large1513仅EBS$0.580/$0.980M3 Double Extra Large3026仅EBS$1.160/$1.960微型Micro613MB最多2个仅EBS$0.020/$0.020内存增强型High-Memory Extra Large17.16.5420$0.450/$0.570High-Memory Double Extra Large34.213850$0.900/$1.140High-Memory Quadruple Extra Large68.4261690$1.800/$2.280CPU 增强型High-CPU Medium1.75350$0.165/$0.285High-CPU Extra Large7201690$0.660/$1.140群集计算Cluster Compute Eight Extra Large60.5883370$2.400/$2.970高内存集群High Memory Cluster Eight Extra Large24488240(SSD)$3.500/$3.831GPU集群Cluster GPU Quadruple Extra Large2233.51690$2.100/$2.600高I/OHigh I/O Quadruple Extra Large60.5352 SSD盘,每个1024 GB$3.100/$3.580高存储High Storage Eight Extra Large1173524个盘,每个2T$4.600/$4.931  AWS非常绚烂地提供了从内存,计算,集群,GPU,I/O以及存储都能够充分定制的计算资源,能够让用户非常简单地选择各种各样不同的服务器类型。比如GPU集群,上面的机器都提供了33.5个计算单元,等价于2块Intel至强4核X5570的CPU,还包含了2块NVIDIA Tesla “Fermi” M2050 显卡,用于使用到GPU的计算任务。  AWS对一些机器还提供EBS优化的实例,可以自己定义EBS卷的IOPS,确定磁盘的性能,也优化了云中的存储资源。对于不同的应用,可以选择完全不同的实例。  在价格上,不同数据中心的计算资源价格会有所不同,比如弗吉尼亚和东京的价格就略有不同,上面参考的是弗吉尼亚的价格。  对于不同的数据中心,能够提供的实例类型也稍有不同,有些数据中心提供GPU集群,而有些数据中心则不提供。  相比较而言,Azure提供的实例类型就比较寒碜了,只有5种不同的实例可以选择。从超小,小,中,大到超大,基本上对应于Amazon的Micro, M1 Small,999922阿修罗中奖网一字玄机, M1 Medium, M1 Large和M1 Extra Large。对于一些简单的应用基本上也够用,但是如果要涉及到超大内存或者GPU,就无法实现了。  在具体价格比较上,除了微型实例,AWS Linux比Windows要便宜43%。而Azure Windows和Linux的价格一致,比AWS Linux贵了23%,比AWS Windows要便宜30%。这也符合微软的特点,Windows对微软来说本来就是不要购买的,而Amazon则需要向微软购买Windows。具体可以参考下表。AWS LinuxAWS WindowsAzure Linux & Windows微型$0.020$0.020$0.013小$0.065$0.115$0.080中$0.130$0.230$0.160大$0.260$0.460$0.320超大$0.520$0.920$0.640  当然,上面列出的价格只是按需使用时候的价格,AWS还提供了预留实例的价格,1年期和3年期,根据使用率的不同,价格都有所不同。此外还有竞价实例,根据当时的价格竞争,以一个较低的价格获取实例。AWS提供了一系列的组合来帮助提高机器使用率,也降低了云的成本。Azure也是类似,有6个月预付和12个月预付的方法,在标准价格上可以打一个折扣,如果用量更大,可以和微软签署EA,获得更加优待的价格。  操作系统和软件  AWS提供的操作系统很多,把主要包括Linux和Windows,主要有Red Hat Enterprise Linux,Windows Server,Oracle Enterprise Linux,SUSE Linux Enterprise,Amazon Linux AMI,Ubuntu,Fedora,Gentoo Linux,Debian。  数据库软件有Microsoft SQL Server Standard,MongoDB,含 Apache Cassandra 的 Acunu Storage Platform Standard Edition,TurnKey PostgreSQL,Couchbase Server – 企业标准版。  应用程序服务器有IBM WebSphere Application Server, Tomcat Java Web 应用程序部署, Apache – Java Servlet 和 JSP 平台上的 Tomcat,Zend Server(群集式)。  至于内容管理和商业智能,AWS也提供了一系列软件,包括WordPress,Drupal 6,MediaWiki Wiki System,SAP BusinessObjects 10 Named User License,JasperReports Server Community Edition等等。  Azure在这点上和Amazon进行了争锋相对的竞争,微软把很多自有的软件都放了出来,还提供了许多开源的软件,当然在Linux上,Azure还是没有办法和AWS竞争。具体的比较如下:AWSAzure操作系统Red Hat Enterprise LinuxWindows ServerWindows Server 2008/2012Oracle Enterprise LinuxSUSE Linux EnterpriseSUSE Linux Enterprise Server 11 SP2Amazon Linux AMIUbuntuUbuntu Server 12.04.1 TLS/12.10FedoraGentoo LinuxDebianOpenLogic CentOS 6.3数据库Microsoft SQL Server StandardMicrosoft SQL Server 2012MongoDBAcunu Storage Platform Standard EditionTurnKey PostgreSQLCouchbase Server应用程序服务器IBM WebSphere Application ServerTomcatZend Server内容管理WordPress/Drupal 6/ MediaWiki Wiki SystemWordPress/Drupal 7/MediaWiki/BlogEngine.NET/Composite C1 CMS/DasBlog/DotNetNuke/Galery Server Pro/Incentive/Joomla.Kentico CMS/mojoPortal/Orchard CMS/phpBB/razorC.net/Umbraco CMS商业智能SAP BusinessObjects 10 Named User LicenseBizTalk Server 2013JasperReports Server Community Edition  当然,在AWS EC2和Azure Virtual Machine的具体使用上,还有很多不同,关于这些我们会放到下一节讨论。  EC2和Azure VM磁盘性能分析  在虚拟机创建完成之后,CPU和内存的配置等等基本上是一目了然的。如果不考虑显卡性能,一台机器最重要的性能瓶颈就是硬盘。由于无论是EC2还是Azure VM都使用了虚拟机,而存储盘也是以某种形式存放在磁盘阵列或者NAS设备中,所以磁盘的读写性能成为使用云计算虚拟服务器里最重要的考虑因素。这一节我们先不去考虑EC2里面的Elastic Block Store或者Azure里面的Azure Drive的具体实现,而使用免费的HD Tuner,对EC2/Azure里虚拟机的磁盘进行性能分析。  EC2 EBS定义  首先在EC2中,我们创建了一台Large的服务器,上面运行的是Windows Server 2012。同时在服务器上附加了4块磁盘,分别如下:大小类型备注C30GBStandardAuto-Enable Volume IO = ON,系统盘D50GStandardAuto-Enable Volume IO = OFFE100GProvisioned IOPSIOPS = 1000F200GProvisioned IOPSIOPS = 2000  在这里要选择Large的原因是因为在EC2的文档中提到,如果使用Provisioned IOPS卷,最好要使用EBS优化的实例。EBS优化的实例使用优化的配置,提供了专用的EBS吞吐的能力。这种优化通过最小化EBS IO和你的EC2实例其他流量之间的内容来达到最佳的性能。EBS优化可以让实例完全用到EBS卷上的IOPS,流量大概在500Mbps到1000Mbps,取决于你使用的实例类型。提供的IOPS卷被设计为一年中99.9%的时间可以提供10%以内的性能。  EBS优化的实例其实只有M1 Large, M1 Extra Large和高内存四倍超大(M2.4xlarge),所以这里我们挑选了Large类型。  另外一个要了解的概念是EBS的类型,EBS有两种类型,Standard和Provisioned IOPS:  标准卷提供了轻量级或者间隔的IO需求,这些卷大概平均大约提供100 IOPS,在爆发的时候大概到几百个IOPS,适用于引导盘。  Provisioned IOPS卷设计用于满足IO需求大的应用,特别是数据库,在随机IO访问时,对存储性能和一致性非常敏锐。你可以在创建卷的时候定义IOPS的数值,当前最大支持到2000 IOPS每个卷。你可以创建多个卷,为应用程序实现成千上万的IOPS。Provisioned IOPS卷最小10GB,IOPS的值最大为卷大小的十倍。比如1000 IOPS的卷最小是100GB。  这里有一点需要注意的是,要满足IOPS卷的SLA,需要有一些条件  1,这个卷附加到EBS优化的实例上。  2,平均的队列长度至少为1/200 IOPS。  3,读写操作块为16KB或更小。例如1000 IOPS每秒可以发送1000个16KB的写,500个32KB的写,250个64KB的写等等。  和标准卷一样,第一次访问数据时最多大约有50%的IOPS下降,当访问之后性能会恢复,所以如果要最大化性能,最好在访问数据前先把访问一遍所有的块。此外快照也会降低IOPS的性能。更详细的内容可以参考EBS的文档。  另外还有一个地方需要注意的是Auto-Enable Volume IO,这个东西其实和磁盘性能关系不大,这个意思是如果当磁盘状态变成”损害”(impaired),那么不要禁止IO操作,自动答应磁盘仍旧可以进行IO操作。  Azure VM 定义  在Azure VM中,我们会创建2块Azure Drive,加上Azure VM自带的2个驱动器,一台机器上也有4个驱动器如下:大小缓存备注C30GBReadWrite系统盘D140GReadWrite自带存储E100GNoneF100GReadWrite  Azure VM由于依然是Preview,所以对磁盘的类型和性能分析的文档和AWS没有办法比。我们所能得知的是,C, E, F盘都是以VHD的形式存储在Azure的存储账户中,并且附加到虚拟机上。D盘是服务器在创建虚拟机是默认添加的一块磁盘,可以用于临时数据的存储。其中C, E, F都是持久化的存储,可以创建快照,还可以跨地域备份,而D盘则没有这些优点。当然,D盘是白送的,EC2上没有这种D盘可以使用。  接下来,我们将使用HD Tune这个工具对Azure和EC2的磁盘性能进行一个简单的比较,主要包括磁盘读写性能,不同大小文件的读写以及随机读写进行比较。首先是将EC2的不同类型磁盘进行比较,接着对Azure VM的磁盘性能进行比较,最后将EC2和Azure的磁盘进行横向比较。  EC2磁盘性能比较  1, Benchmark磁盘最小传输速率(MB/s)最大传输速率(MB/s)平均速率(MB/s)访问时间(ms)爆发率(MB/s)图例C42.056.050.96.6257.0图1D12.258.952.88.0051.2图2E31.735.233.520.340.8图3F32.740.833.619.440.8图4图 1 Benchmark - EC2 - C – System图 2 BENCHMARK - EC2 - D - Standard图 3 BENCHMARK - EC2 - E - 1000 IOPS图 4 BENCHMARK - EC2 - F - 2000 IOPS  从表中的4个驱动器性能可以看出,Standard类型的驱动器明显要比Provisioned IOPS驱动器传输速率要高出许多。标准驱动器的平均传输速率在50MB/s左右,而IOPS驱动器只有33MB/s。所以对于要进行短暂快速传输的数据,还是使用标准类型会比较好。  2, File Benchmark磁盘顺序读(KB/s)顺序写(KB/s)4KB随机读IOPS4KB随机写IOPS32个4KB随机读IOPS32个4KB随机写IOPS图例C1021764205618281046164094316图5D987943809721421301155694440图6E41631403651020102010191019图7F41890345812040186920572040图8图 5 File BENCHMARK - EC2 - C – System图 6 FILE BENCHMARK - EC2 - D – Standard图 7 FILE BENCHMARK - EC2 - E – 1000 IOPS图 8 FILE BENCHMARK - EC2 - F – 2000 IOPS  从上表可以看出,标准类型的磁盘在读的性能上要远远好于IOPS的磁盘读性能,对于4KB的随机读写,性能也是远远好于IOPS类型,但是它的读写性能受到外在的影响和干扰严重,波动非常巨大。此外标准类型数据的顺序读速度是顺序写速度的将近2倍,读的速度大约是100MB/s,而写却只有35MB/s左右,这和刚才的测试结果也大体一致,不过标准盘号称的是100IOPS,测试的结果却远远好于他声称的数据。对于IOPS盘而言,它的读写性能比较平均,速度都在40MB/s左右,不过IOPS却非常美好地达到了我们设置的要求。对于1000 IOPS的磁盘,读写基本上是1020 IOPS,对于2000 IOPS的盘,读写基本上是2040。虽然速度上和标准类型的盘在峰值上无法相比,但是由于性能稳固,可以靠谱地实现许多例如数据库这样的需求。  Azure VM磁盘性能比较  1, Benchmark磁盘最小传输速率(MB/s)最大传输速率(MB/s)平均速率(MB/s)访问时间(ms)爆发率(MB/s)图例C8.336.115.230.7208.1图9D304.91012.9922.60.059744.5图10E9.715.815.03.4410.9图11F26.040.531.50.96277.4图12图 9 BENCHMARK - Azure - C – System图 10 BENCHMARK - AZURE - D – Temp图 11 BENCHMARK - AZURE - E – No Cache图 12 BENCHMARK - AZURE - F - ReadWrite Cache  Azure的磁盘有一个盘非常有亮点,就是附赠的D盘,这个盘的最小传输速率是304.9MB/s,最大速率甚至达到了1012.9MB/s,平均速率居然能达到922.6MB/s,这是2块SSD Raid 0阵列才能达到的速度啊,这一点上完全秒杀EC2。惋惜的是这个盘上的数据不是可持久化的,只能作为暂时的存储。另外三个盘就真让人有点捉摸不透了。第一是用作操作系统的C盘,最小传输速率只有8.3MB/s,最大也只有36.1MB/s,平均速率是15.2MB/s,这和没有打开Cache的E盘速度是一致的。也就是说,在Azure storage account里面的VHD文件的访问性能居然只有可怜的15MB/s。另外C盘的访问时间竟然达到了破天荒的30.7ms,这样的速度在很多情况下完全无法满足应用的要求。即使在打开了读写缓存的F盘上,速度只有31.5MB/s。  2, File Benchmark磁盘顺序读(KB/s)顺序写(KB/s)4KB随机读IOPS4KB随机写IOPS32个4KB随机读IOPS32个4KB随机写IOPS图例C24003122492944591002041图13D2353760191130518938178027088367622图14E587603905618816446881519图15F2184613701105915612271470图16图 13 File BENCHMARK - AZURE - C - System图 14 File BENCHMARK - AZURE - D - Temp图 15 File BENCHMARK - AZURE - E - No Cache图 16 File BENCHMARK - AZURE - F - ReadWrite Cache  基本上性能和之前benchmark的也没有太大出入,最快的D盘顺序读和顺序写达到了惊人的2353760KB/s和1911305KB/s,2GB/s左右的读写速度是我看到过最快的硬盘读写了,如果不是SSD,那么肯定是类似于Memory Cache的技术了。不过用于持久化存储的数据盘速度都非常平平,系统盘只有23MB/s的读和11MB/s的写,IOPS的数据还凑合,但是有一个很令人惊讶的数据是32个随机4KB读的IOPS居然是0。我测试了好几遍,都是0。也就是说当我们进行32个4KB随机读写时,这个磁盘应该是hang住了。我不知道这是由于操作系统的原因还是测试软件的原因,但是事实就是磁盘不工作了。这种状态很容易导致操作系统失去响应,程序被拖死。期望在Azure的这个feature正式release之后,不会出现这种恐惧的事情。  另外有一点需要注意的是,对于没有Cache的磁盘,顺序读和顺序写的速度都还可以接受,大概在50MB/s和40MB/s左右,不过IOPS只有可怜的188和164,性能非常一般。对于带缓存的磁盘,读写速度由于需要缓存验证,也降低到了20M和10M左右。  EBS和Azure Drive磁盘性能比较  根据上面的数据,我们得到了下面的总表:  所谓成也萧何,败也萧何。在所有的磁盘中,性能最好最优异的,就是Azure中的那块临时盘。而除此之外,包括系统盘,不带Cache和带Cache的磁盘性能,Azure的盘都比EBS要弱,甚至还出现磁盘卡死,IOPS=0的情况。  要让Azure VM离开Preview的阶段,磁盘的性能必须的得到解决。否则在实际应用中,一定会出现大量的问题。  Amazon Simple Storage Service 和 Microsoft Azure Blob Storage  这几天Nasuni公司出了一份报告,分析了各个云厂商的云存储的性能,包括Amazon S3,Azure Blob Storage, Google Drive, HP以及Rackspace。其中性能上Azure排名第一,在各种大小的文件读写上性能都很优秀,有爱好可以参考他们完整的白皮书。  2019-06-02 我们来看一下Azure Blob Storage和Amazon Simple Storage Service的一些功能和指标上的不同。  Amazon Simple Storage Service (S3):  Amazon Simple Storage Service (S3)是Amazon的王牌存储服务,提供了强大的可扩展性,高可用性和灾难恢复。它主要提供以下功能:  1,读,写,删除数据对象,从1个字节到5TB都可以,数据对象数量没有限制。  2,每个数据对象被放在一个数据块(bucket)中,通过唯一的密钥访问。  3,数据块存储在亚马逊不同的区域。  4,存储在某个区域的数据永远不会离开这个区域。  5,身份验证机制旨在确保数据安全,以防未授权访问。数据对象可以设置为私有或公有,也可以向特定用户授予权限。  6,另外还提供了安全数据上传/下载及静态数据加密的选项以便进一步保护数据。  7,使用基于标准的 REST 和 SOAP 接口,它们可与任何 Internet 开发工具包搭配使用。  8,默认的下载协议是 HTTP。提供 BitTorrent™ 协议接口,以便降低大规模分配的成本。  9,相关的管理功能,包括按数据块分割数据,监视和控制成本,以及使用去冗余存储(Reduced Redundancy Storage)等等。  基本上,Amazon的存储在特定年度内为数据提供 99.999999999% 的持久性和 99.99% 的可用性,能够承担2个设施的数据同时丢失。当然如果使用RDS,那么在特定年度内为数据提供 99.99% 的持久性和 99.99% 的可用性。这种持久性水平对应的平均年数据缺失率估计为 0.01%。  S3一个比较有意思的功能是静态网站托管,甚至可以做一些简单的Redirect,S3由于价格便宜,特别适合托管包含静态内容(包括 html 文件、图片、视频以及 JavaScript 等客户端脚本)的网站。  此外,S3还支持一个叫DevPay的功能,支持开发者通过Amazon向客户存储在他们S3账户里的数据进行收费。  存储的价格通过三方面,存储,请求和数据传输,对于不同机房有所不同,这里我们复制了美国机房的价格:  存储价格:标准存储降低冗余存储第一个 1 TB/月$0.095 每 GB USD$0.076 每 GB USD下一个 49 TB/月$0.080 每 GB USD$0.064 每 GB USD下一个 450 TB/月$0.070 每 GB USD$0.056 每 GB USD下一个 500 TB/月$0.065 每 GB USD$0.052 每 GB USD下一个 4000 TB/月$0.060 每 GB USD$0.048 每 GB USD5000 TB 以上/月$0.055 每 GB USD$0.037 每 GB USD  请求价格:定价PUT、COPY、POST 或 LIST 请求$0.01 每1,000 个请求删除请求免费GET 及所有其他请求$0.01 每 10,000 个请求  数据传输的价格:定价传入Amazon S3的数据所有传入数据免费传出Amazon S3的数据到到北弗吉尼亚区域的EC2服务器免费其他AWS区域或者Amazon CloudFront$0.020 每 GB USD传出Amazon S3的数据到互联网第一个 1 GB/月$0.000 每 GB USD最多 10 TB/月$0.120 每 GB USD下一个 40 TB/月$0.090 每 GB USD下一个 100 TB/月$0.070 每 GB USD下一个 350 TB/月$0.050 每 GB USD下一个 524 TB/月联系亚马逊下一个 4 PB/月联系亚马逊大于 5 PB/月联系亚马逊  此外,Amazon还提供更便宜的备份存储服务,成为Amazon Glacier,这个已经超出了这一篇的范畴。以后我们可以专门讨论一下。  Amazon S3提供了完整的REST API,可以从任何代码进行操作,此外对Bucket也提供了大量的安全性策略,可以对不同的各种操作进行允许和禁止等等。  Microsoft Azure Blob Storage  Azure的Blob Storage是用于存储大量非结构化文本或二进制数据(如视频、音频和图像)的最简单方式,功能上和S3大同小异。主要提供如下功能:  1,读,写,删除数据对象,从1个字节到1TB都可以,数据对象数量没有限制。  2,每个数据对象被放在一个容器(Container)中,通过两个互相备份的密钥访问。  3,存储在不同的区域。  4,存储在某个区域的数据,如果使用地理冗余存储,会从欧洲备份到美洲。  5,身份验证机制旨在确保数据安全,以防未授权访问。数据对象可以设置为私有或公有,也可以向特定用户授予权限。  6,使用基于标准的 REST 和 SOAP 接口,它们可与任何 Internet 开发工具包搭配使用。  7,默认的下载协议是 HTTP。  8,相关的管理功能,包括通过容器分割数据,监视存储账户。  9,Blob的对象可以被安装为驱动器  我在Azure的文档中没有找到关于持久性百分比,或许微软认为这些数据只要进了Azure,就肯定不会丢失,也没有必要提供那么多9了。  在Azure中,存储被分为本地冗余存储和地理冗余存储。本地冗余存储 (LRS)是在单个子区域内提供高度持久且高度可用的存储。地理冗余存储 (GRS)是通过将您的数据另外储备在同一区域内的另一个子区域中来提供最高级别的持久性。默认情况下,存储帐户设置为地理冗余。如果客户不需要这一额外级别的持久性,则可以关闭其存储帐户中默认的地理冗余设置。  对于不同的存储方式,价格也有所不同:  存储价格:  存储费用按照根据下表选择的冗余级别的分级费率来计算。存储容量地理冗余本地冗余前 1 TB / 月每 GB$0.0950每 GB$0.0701后 49 TB / 月每 GB$0.0800每 GB$0.0650后 450 TB / 月每 GB$0.0701每 GB$0.0600后 500 TB / 月每 GB$0.0650每 GB$0.0550后 4,000 TB / 月每 GB$0.0600每 GB$0.0450后 4,000 TB / 月每 GB$0.0550每 GB$0.0370超过 9,000 TB / 月联系微软联系微软  请求价格:定价所有请求$0.01每 100,000 个请求  数据传输的价格:  所有传入Azure数据中心的数据都是免费的,而传出到Internet或其他区域的数据的美国价格如下:出站数据传输区域1价格区域2价格前 10 TB / 月*每 GB$0.12每 GB$0.19后 40 TB / 月每 GB$0.09每 GB$0.15后 100 TB / 月每 GB$0.0701每 GB$0.13后 350 TB / 月每 GB$0.05每 GB$0.12大于 500 TB / 月联系微软联系微软  其中区域1包括了欧洲和美洲,区域2包括了亚洲。  S3和Azure Blob Storage的比较  功能比较  在功能上, S3的功能比Azure要略强大一些,参见下表:AzureS3最大文件大小1TB5TB文件数量没有限制没有限制最大账户大小100TB不确定Page Blob支持,用于VHD不支持存储对象容器ContainerBucket支持协议HTTP/HTTPSHTTP/BitTorrent访问控制支持权限,各种策略支持权限,各种策略REST API支持支持托管静态网站不支持支持重定向,索引,错误页面等地理冗余备份支持不支持降低冗余备份不支持支持开发者支付不支持支持直接大量数据导入导出不支持支持自动删除不支持支持服务器端加密不支持支持客户端加密支持支持  价格比较  价格上,两者定价模型稍微有点不同,不过价格上Azure稍微便宜些,下面同是美国的价格比较。Amazon S3Azure Blob Storage存储价格标准存储降低冗余存储地理冗余本地冗余第一个1TB/月$0.095/GB$0.076/GB$0.0950/GB$0.0701/GB下一个49TB/月$0.080/GB$0.064/GB$0.0800/GB$0.0650/GB下一个450TB/月$0.070/GB$0.056/GB$0.0701/GB$0.0600/GB下一个500TB/月$0.065/GB$0.052/GB$0.0650/GB$0.0550/GB下一个4000TB/月$0.060/GB$0.048/GB$0.0600/GB$0.0450/GB下一个4000TB/月$0.055/GB$0.037/GB$0.0550/GB$0.0370/GB9000TB以上/月$0.055/GB$0.037/GB联系微软联系微软请求价格请求请求PUT/COPY/POST/LIST$0.01 每1,000 个请求$0.01每 100,000 个请求删除请求免费$0.01每 100,000 个请求GET 及所有其他请求$0.01 每 10,000 个请求$0.01每 100,000 个请求流量价格欧美价格亚洲价格欧美价格亚洲价格第一个1GB/月免费免费暂时免费暂时免费后4GB/月$0.120/GB$0.201/GB暂时免费暂时免费最多 10 TB/月$0.120/GB$0.201/GB$0.120/GB$0.19/GB下一个 40TB/月$0.090/GB$0.158/GB$0.090/GB$0.150/GB下一个100TB/月$0.070/GB$0.137/GB$0.0701/GB$0.130/GB下一个350TB/月$0.050/GB$0.127/GB$0.050/GB$0.120/GB下一个524TB/月联系亚马逊联系亚马逊联系微软联系微软  我们可以看出,在存储价格上,S3和Azure的标准存储和地理冗余存储价格基本一致,而Azure的本地冗余价格还要比降低冗余存储更便宜。对请求来说,S3区分了不同的请求而出现不同的价格,而Azure统一了所有的请求,但是价格非常便宜。十万个请求才一美分,几乎可以忽略。对于流量而言,微软的前5G流量免费,而S3的前1G流量免费。其他的价格,欧美的价格基本一样,而亚洲价格微软比较有竞争力?