27

同步盘牵手阿里云,构建企业文档管理利器

作者: baiyuzhong 分类:CTO视点   阅读:6,517 次 添加评论

文 /  田超

同步盘是由易美云研发和运营的面向企业的在线云服务, 它以安全的企业数据存储为基础,在其上提供了多种在线的数据展示、文件编辑、数据共享与协作的功能,为企业解决文档协作的相关问题。

当前市场中已经有了不少网盘产品,与一般的网盘产品相比,同步盘是一个面向企业级的云存储产品,立足于满足企业对安全数据存储的需求,更加致力于开发基于企业文档之上的协作和沟通服务。企业在同步盘的帮助之下会逐步体现企业核心价值的知识库,构建关键业务流,共享各个离散的业务系统输出的文档和数据,进一步发挥出企业的竞争力。

云计算探索之路

作为SaaS云存储服务提供商,同步盘也是国内云计算技术的先行者之一。我们对于云计算相关的技术有着较为深刻的理解与认识。采用云计算技术作为底层的支撑对于我们也是一种自然的选择。在同步盘创建之初,Amazon的S3和EC2平台在国外已经营了多年,并积累了很好的口碑,Amazon平台实际上也成为了国外创业公司的首选。但国内的IaaS和PaaS服务那时还处于刚起步的状态,因此当时,我们也采用了传统的自建IDC及分布式机群的方式来构建我们的应用。

自建IDC实际上是一项复杂的系统工程,尤其是对于网盘这样的复杂交互式应用来说,对于底层平台的稳定性、扩展性,数据传输的高效性都有较高的要求。并且当业务扩展时,底层的数据存储平台还要能够无缝地扩充,这些都是对系统运维的挑战。首先作为一个数据存储平台,分布式文件系统是必不可少的。我们当时也搭建了自己的分布式文件系统集群。随着业务的发展,我们的服务器要不断扩容,且扩容的过程对于上层应用来说要保证是透明的。在这个过程中我们积累了一些经验,开发人员当时做了很多自动化的工具来保证这些运维工作的高效性。例如,我们尽量保证硬件资源和软件资源的同质化,也就是机器的硬件配置和软件环境基本上都是相同的;同时我们自己维护了一套公司的软件依赖库,每台机器的初始化和依赖更新过程都是全自动的等。在当时看来,我们的运维工作做得还算不错,不过随着机器的不断增加,可以想象到,这一部分的工作也会越来越重。

自建IDC的另一个更大的挑战就是如何保证网络带宽的质量。网盘是一个对于网络带宽质量非常敏感的应用,而国内IDC的带宽环境又非常复杂。不同地方的带宽价格差距很大,质量却又参差不齐。我们的服务要保证联通、电信、移动三家运营商的用户都能高速访问,一些IDC可以提供多线BGP的带宽,但价格昂贵,扩展起来也很不方便。因此自建IDC的过程中,对于带宽质量的选择和测试就要花掉很多时间。

因此在2011年,我们希望参考国外的Dropbox和Amazon的合作模式,在国内寻找一家云计算平台服务提供商进行合作。在这样的合作模式下,底层的云计算平台将会成为我们整个产品技术体系重要的组成部分,因此我们的选择非常谨慎。我们认为云计算平台不仅应该包含有从存储到计算的完整的服务,同时应该延伸出一个健康的生态环境。我们不仅仅看重平台本身所提供的核心产品的功能与品质,也非常看重使用云计算平台后能够得到的技术服务以及它背后生态系统给予的各项支持。同时对于一个平台系统来说,开放性也是我们关注的重要方面,强大的开放性更适合我们这种技术型的创业公司更好地发展自身业务。

2011年底,在充分调研了国内几家云计算平台之后,同步盘开始与阿里云合作,将服务整体迁移到阿里云平台之上,开始陆续使用阿里云的相关服务,包括OSS(开放存储服务)、OTS(开放结构化数据服务)、RDS(关系型数据库服务)、云服务器、云盾、云监控、SLB(负载均衡服务)等。随着这些云服务的使用,我们系统运维的效率有了一个较大的提升。虽然硬件使用的成本略有提升,但综合算起来,相当于我们把部分底层运维的业务“外包”给了阿里云,所以整体成本是下降的。而且我们获得了阿里云平台提供的高效运维能力。

云平台中的系统架构优化与运维经验

迁移到阿里云平台之后,我的一个深刻感受是,系统运维所面对的问题有了很大的变化。自建集群时,我们需要花费很多精力来维护底层的集群环境和网络环境,同时我们也要花大量的精力来保证分布式系统的高速访问和高可用性。在云计算环境中,这些问题的优先级降低了很多,因为阿里云的同事们帮我们提供了一个相对稳定的底层系统。我们的精力可以更多地花在产品功能的演进之上。

在这里和大家分享阿里云环境中,我们运维的几个小经验。

  • 优化方法比解决问题重要。优化方法是我们团队工作的一个重要原则。作为一家创业公司,我们经常会面临各种问题。而解决问题的效率是一家创业公司生存的关键。对于运维工作更是如此,每天对几十台机器的部署和维护,如果没有优化的方法的话,会占据我们大量的时间。因此我们搭建了许多监控系统和精确到秒级的日志流过滤系统,通过这些系统能够实时检查到系统的运行状态。
  • 图形化一切可以图形化的东西。在最早的时候,我们的运维同学每天都要跑脚本算日志,然后将结果导出到Excel中,这种工作的效率非常低下。本着优化方法的思路,我们构建了自己的日志管理系统,所有的日志都会发送到统一的日志管理平台来处理,且通过Ganglia实时画成曲线。例如实时的QPS,每个API的响应时间,都是图形化访问的。我们通过这个系统解决了很多之前忽略掉的问题。
  • 通过算法来降低成本。这是我们针对云平台做的一个优化。阿里云OSS为我们提供了稳定的存储和高速的带宽,但按照流量收费的模式是我们运营成本的一大来源。与此同时,我们的服务器是按照带宽收费的,低峰时段,带宽的利用率并不高。因此我们所做的一个优化就是将数据下载流在OSS与我们的云服务器之间进行调度。我们根据用户的历史记录信息,确定用户的数据工作集,将工作集中的数据在OSS和我们服务器之间做数据调度。通过这一技术,我们降低了30%以上的流量成本。

云计算:中小企业创业的催化剂

从国外云计算的发展经历来看,云计算平台对于中小企业的创业起到了一个催化剂的作用。例如Dropbox、Netflix等,美国已有大批基于AWS的成功创业案例。国内的云计算市场这几年也开始了高速的发展。客观地讲,国内现有的云计算平台和国外成熟的云计算平台如AWS等相比,还是有一定差距的。无论是国内的云计算平台公司,还是开始尝试使用云服务的中小企业来说,都还需要不断的实践、磨合与完善。作为构建在云计算平台之上的云计算应用服务提供商,同步盘愿意与同行探讨、交流云计算技术,分享云服务的使用体验,同时与阿里云这样的云计算平台共同成长,为企业提供安全可靠的文件存储与协作服务,一起积极推进云计算在国内的发展。

作者天超,现任同步盘技术总监,主管公司研发工作,方向为分布式存储、分布式计算。曾就职于雅虎北京全球研发中心搜索组和云计算组,方向为实时搜索、垂直搜索、分布式存储和计算平台的研发。本科毕业于天津大学,并于中科院计算所获得硕士学位。

更多精彩内容敬请关注《凌云》专区

《程序员》2013年杂志订阅送好礼活动火热进行中

转播到腾讯微博

----->立刻申请加入《程序员》杂志读者俱乐部,与杂志编辑直接交流,参与选题,优先投稿

请评论

preload preload preload
京ICP备06065162