热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

使用OpenStackSwift搭建应用

SwiftStack公司的CEO,JoeArnold主要介绍了OpenstackSwift技术,分享了在做Swift项目中出现的一些问题,作为Swift项目的贡献排名第二的公司,它们在Swift上的实力不容小视。8月10日-11日,为期两天的首届OpenStack亚太技术大会(OSAC)在北京、上海两地同时

SwiftStack公司的CEO,Joe Arnold主要介绍了Openstack Swift技术,分享了在做Swift项目中出现的一些问题,作为Swift项目的贡献排名第二的公司,它们在Swift上的实力不容小视。

8月10日-11日,为期两天的首届OpenStack亚太技术大会(OSAC)在北京、上海两地同时召开。下面我们将分享上海站SwiftStack公司的CEO 乔.阿诺德在为大家带来的分享《Building Applications with OpenStack Swift》。

SwiftStack公司的CEO,乔.阿诺德的经验主要集中在云基础设施和开源软件等领域。在Intel和KD工作的时候,他就直接参与了Openstack Swift早期的研发。Swift是Openstack当中的核心项目之一。不过SwiftStack是一家独立的公司,提供完整的云存储的解决方案,使得客户能够迅速的去提供基于Openstack Swift的服务。SwiftStack对Swift项目贡献排名第二,他们有多名员工是Swift项目的核心成员,项目的技术主管也是来自于他们的团队。因为Swift项目当中有很多团队成员都是来自于他们公司,所以在这个项目当中他们有很大的话语权。

这个讲座给大家介绍在跟客户的沟通当中所了解的一些情况,也会介绍看到的一些具体的现象,并且介绍Swift怎么样去看待这些现象,以及怎么样去解决客户所面对的一些问题。首先是客户正在做什么?客户正在创建互联网或者移动互联网的应用,他们的用户数量非常巨大,并且在这个巨大基数的基础上还在迅速的增长。因为客户的软件是通过互联网进行,而不是运行在本地,那样的话,这些客户的用户就能够从各种各样的移动设备上去访问这些应用。

现在去购买一个新的移动设备的时候,存储的容量上体积已经变小了,硬盘基本上是SSD的硬盘,因为SSD的硬盘和传统的硬盘相比已经变小了。目前所做的事情是通过HTTP协议将内容分送到设备,而不需要专门的服务器去响应这个HTTP的请求,因为云存储可以直接响应这个设备的请求,并且为客户端和这个设备提供服务。同样,当需要上传数据的时候,这个数据不需要经过这个设备的文件系统,而是通过HTTP POS直接上传到云存储。不过,经常被平台访问的数据其实可以被缓存起来,这样就能提高访问的速度。这就是Swift跟内容分发网络(CDN)完美的整合,数据可以从不同的地点分发到你的用户那里。SwiftStack提供了针对多种编程语言的客户端,可以将这些客户端直接整合到你的应用里面去。接下来讨论一下如何应对日益增长的用户的问题。对于企业级用户来讲,软件正在以服务的方式提供,软件服务提供商原本需要为每一个客户提供一个单独的实例,现在SwiftStack逐渐观察到,软件服务提供商越来越多是以一个软件的实例去向多个客户提供服务,也就是说需要应对的是多租户的问题。还有一个问题,叫做长尾数据的问题,因为客户每天都需要在这个云上存储大量的数据,但是不知道什么时候会访问这些数据,所以不能把它放到磁带上去。所以对于基础构架服务提供商来讲,所应对的挑战主要是有两个方面:第一,需要不断增加容量;第二,需要应对不断增长的用户数量。

对Swift来讲,可以在两个方面对系统进行扩容,Swift使用的是一种环状的结构,文件是在磁盘上是完整的存储。Swift的这个构架所带来的好处就是应用不需要对这个基础构架有任何的了解,在文件系统这个层面人们经常采取的策略是把用户群碎片化到不同的基础构架组当中,从而达到支持更多的用户的目的,当然这样的做法增加了系统的复杂度,譬如当这个系统容量发生变化的时候,就需要去修改代码以适应这样的变化。Swift通过HTTP协议,抛弃了传统的文件系统这样的交互界面,使得应用变得更加简单,这样构架能够任意的扩展,而无需对这个应对软件进行任何的修改。

刚才所说的这些好处不仅仅是HTTP所带来的,而是因为Swift是在实践当中经受过考验的一个系统,目前Swift一个大规模生产系统,已经运行了好多年时间。在基础构架服务这个领域需要解决三个问题:第一个问题是需要降低成本,提高现有基础构架的利用率;第二个问题就是要提高商业的敏捷性,通过基础构架这个服务,可以降低这个基础构架和这个应用的吻合度;第三个是要让用户以自助的方式来获得服务,不过要注意基础构架服务这个领域有内部用户和外部用户两种,对于内部用户需要提供记帐的方式,对于外部用户却需要提供收费的功能。

现在数据中心里面的存储构架有很多问题,因为存储越来越大,用户越来越多,所以多租户的问题越来越重要。Swift为什么能够支持这个基础构架的合并呢?是因为它具有如下的特性,这个项目它能够支持扩展,支持高并发的请求,而且它的容量是可以线性增长的,从它的构架设计上来说,能够从根本上支持多租户的问题,所以它非常适合用来提供基础构架服务。

如果要运营一套非常成功的基础构架服务,运维就非常重要,现在每一个管理人需要管理的机器不光是十台或者一百台,因为需要管理上千台的机器,这个时候管理和运维就成为了最大的问题,当这个数量级发生改变的时候,所有的事情都将随之发生改变。运维人员必须了解一个系统上了规模之后会发生什么样的情况,尤其是在上面已经有了大量的用户数据的时候,此时就非常需要一套有效的运维工具。

这就是SwiftStack所专注的领域,除了是这个Swift项目的核心贡献者之外,还提供一整套完整的云存储的解决方案。SwiftStack节点可以运行在多家硬件提供商所提供的标准硬件上,从而避免了供应商锁定的问题,而且所使用的标准硬件和Open Compute是完全兼容的。

还有一个产品叫SwiftStack控制器,负责配置和部署新的节点,负责管理新增的容量,监控系统负载和硬件的状况。在存储这个领域有两条规律:第一,这个数据是逐渐累积的;第二,新硬盘的容量是不断增加的。从这个角度来看,按需扩容就显得更加的经济实惠,集群扩容的管理就变成了运维当中的一个重要任务。

大家都知道,给Swift增加容量的时候,数据需要被迁移,如何让它们能够平均的分布到整个集群里面去是一个问题。在这个过程当中,如果你一下子给这个系统增加50%、甚至100%的容量,规模化的数据迁移会让系统瘫痪,所以要逐步的去控制这个容量增加的过程。Swift就能提供这个功能,让其能够自动缓慢的增加这个集群的容量。

另外一个事情,就是监控这个存储集群里面的一切活动,并且通过图形化的方式去进行分析、展示。因为监控了这个存储集群里面的一切活动,就可以通过可视化的方式去深入了解这个集群的运行状况和健康状况;同时还可以给这个管理员提供报警服务,但是仅仅有报警服务还是不够的,这个报警还应该是可以被操作的,现在有一个工作流的系统,使得报警信息可以被响应或者是被归档。同时还提供了一系列的插件,比如说在磁盘上对这个数据进行加密,集成、记帐的ADI和原数据搜索等等。

当选择一套存储系统的时候,它将来会被多个应用所共同使用,所以它往往是一个长期的决策,Openstack作为一个开放的系统,会给大家带来有很多的选择,如果没有软硬件供应商锁定的问题,你也可以替换Swift服务的提供商,而无须对应用进行任何选择,当然也可以选择新的硬件的供应商,将新的硬件和已有的硬件组成混合的集群。

更多OSAC及OpenStack相关信息,请关注@CSDN云计算微博,也欢迎加入国际云计算技术交流群和OpenStack中文社区进行交流讨论。


推荐阅读
  • 深入解析RAID0、RAID1和RAID5的不同特性及其安全性
    本文详细探讨了RAID0、RAID1和RAID5三种磁盘阵列技术的特点、优势以及它们在数据安全方面的表现。RAID0通过数据条带化提升性能,但牺牲了数据冗余;RAID1利用镜像技术确保数据的高可用性;而RAID5则结合了数据条带化和分布式奇偶校验,提供了较好的性能和数据保护。 ... [详细]
  • 下面根据配置文件,来说明一些底层与webservices的关系:回顾一下servlet的映射模式。我们知道,servlet是从javax.servlet.http.HttpServ ... [详细]
  • 多版本CUDA共存与即时切换方案
    本文探讨了在同一台机器上安装并管理多个CUDA版本的方法,以适应不同软件或项目的需求。特别是在使用旧版PyTorch等依赖特定CUDA版本的软件时,该方法尤为实用。 ... [详细]
  • 本文介绍了一种解决方案,当笔记本电脑不具备作为无线接入点的能力时,如何通过开启Android手机的便携WLAN热点功能,使笔记本能够连接到手机并共享其网络资源,从而实现上网。文中详细描述了在Linux系统下配置的具体步骤。 ... [详细]
  • 本文介绍了如何通过安装 VirtualBox 和 Vagrant 来快速搭建和管理虚拟机环境。我们将详细探讨如何选择合适的 Box 镜像,以及如何高效地下载、添加和管理这些镜像。 ... [详细]
  • HTML中用于创建表单的标签是什么
    本文将详细介绍HTML中用于创建表单的标签及其基本用法,包括表单的主要特性和常用的属性设置。如果您正在学习HTML或需要了解如何在网页中添加表单,这将是一个很好的起点。 ... [详细]
  • Elasticsearch基础操作指南:使用Postman进行数据管理
    本文将介绍如何利用Postman工具执行基本的日志写入和数据管理操作。通过本教程,您将了解如何连接至Elasticsearch服务,创建索引,存储及检索数据。 ... [详细]
  • 本文详细介绍了在Oracle Data Guard中配置Standby Redo Log的方法,包括其重要性和具体的配置步骤。通过本文的学习,您将能够掌握如何有效地设置Standby Redo Log以提高数据保护和系统可用性。 ... [详细]
  • 本文详细介绍了如何利用Apple Pay的功能将门禁卡添加至iPhone或Apple Watch,适用于多种门禁系统,包括在线和离线模式。 ... [详细]
  • 本文详细记录了《PHP与MySQL Web开发》第一章的学习心得,特别关注了PHP的基本构成元素、标记风格、编程注意事项及表单处理技巧等内容。 ... [详细]
  • 应用程序配置详解
    本文介绍了配置文件的关键特性及其在不同场景下的应用,重点探讨了Machine.Config和Web.Config两种主要配置文件的用途和配置方法。文章还详细解释了如何利用XML格式的配置文件来调整应用程序的行为,包括自定义配置、错误处理、身份验证和授权设置。 ... [详细]
  • 致信息安全爱好者的成长指南
    本文旨在为信息安全爱好者提供一份详尽的成长指南,涵盖从学习心态调整到具体技能提升的各个方面。 ... [详细]
  • 本文探讨了为何采用RESTful架构及其优势,特别是在现代Web应用开发中的重要性。通过前后端分离和统一接口设计,RESTful API能够提高开发效率,支持多种客户端,并简化维护。 ... [详细]
  • 本文详细探讨了在Windows Server 2003环境下遇到MySQL连接失败(错误代码10061)的解决方案,包括通过卸载特定的Windows更新和调整系统注册表设置的方法。 ... [详细]
  • 尝试从 MySQL 转向 SQL Server 2008 时遇到了安装错误,提示“系统配置未能初始化”,错误代码为 0x84B10001。怀疑可能是由于之前的 MySQL 安装残留导致的注册表问题。寻求专家建议。 ... [详细]
author-avatar
doliangzhe
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有