案例分享|为什么 XMind 选择 AWS

为什么XMind选择了AWS?以下是AWS采访XMind Ltd.CTO 史骥的具体内容。

“AWS让我们深刻体会到了全球先进的云技术和云服务,可以轻松实现全球跨地区低成本、高可用且安全合规的互联网服务。”——XMind Ltd.CTO 史骥


关于XMind Ltd.

XMind Ltd. 成立于2006年,是一家专注于思维导图和头脑风暴软件的开发商,聚焦提供优秀的用户体验,目前拥有 iOS, Android, Mac, Windows, Linux 等多端各具特色的思维导图产品,满足不同用户的使用场景需求。

XMind Ltd. 每天为数十个国家的上百万客户提供服务,不论是精致的初创企业,还是世界500强,都在使用其思维导图产品来捕捉灵感、理清思路,进行高效的项目管理。而专为激发灵感和创意而生的旗舰产品XMind,备受全球上百万用户青睐,常年排名 Mac/iOS App Store 效率榜单前列,多次获得 App Store 推荐。 面临的挑战

互联网时代的世界是平的,能够让生意和业务跨越国界。XMind Ltd. 的创业团队受到托马斯·弗里德曼所著《世界是平的》一书影响,在公司初创时期就确定了出海的目标。XMind Ltd. CTO史骥表示:“我们希望通过互联网建立一个扁平的营销渠道,让全世界的用户都能更容易地接触到思维导图软件,捕获灵感、高效整理、提升效率,进而获得商业上的成功。”

在制定国际化发展战略后,XMind Ltd. 首先将服务部署在美国,并使用诸如Site5等虚拟主机托管网站。随着业务的快速发展,这种部署方式的问题也逐渐显现出来:网站访问速度不够稳定,无法满足弹性的带宽需求;维护和扩展不便,遇到突发状况难以处理;计费方式不够灵活,并且价格不菲等等,这一切让当时只有5人的技术研发和运维团队感到不堪重负。

为了更好地服务客户,减轻运维负担并加速产品创新,XMind Ltd. 希望能将更多业务放在云端处理。比如,客户付费后能够自动生成并发送软件激活码,这就要求服务器端具有更强的计算资源和更好的可定制性。同时,传统方式下,XMind Ltd. 无法对未来用户量的增长速度做出准确判断,所以计算、存储平台必须具有弹性和按需扩展的能力。此外,合规性与数据安全也是全球化发展中不可回避的问题,将服务放在可靠、合规的云服务商平台,就显得至关重要。

“我们希望通过云服务实现更快、更灵活的软件分发,以及更加安全可靠的在线销售,让全球不同地区、不同类型的用户访问网站,或进行客户端软件的下载、安装、更新都能有流畅的体验,不断提升用户满意度。” 史骥如是说。

为什么选择AWS

“XMind Ltd. 拥有一个小而美的团队,在思维导图领域已经深耕了逾十年,深受全球用户的喜爱,我们的核心竞争力在于比竞争对手更加专注与专业,这种态度让我们可以沉下心去打磨产品的设计和细节。”史骥介绍说,“而AWS对于云计算的专注力、服务的多样化和成熟度、易用性和低成本,给了我们信心。所以,无论是在公司早期全球化开拓过程中,还是后期建立中文网站,选择AWS都是顺理成章的决定。”

  • 服务多样,满足不同负荷的业务需求

AWS提供了包括弹性计算、存储、数据库和应用程序在内的一整套丰富的云服务功能,技术成熟,易用可靠,可快速部署,扩展性强,能够完全覆盖XMind Ltd. 目前所有的在线业务,包括客户端应用软件的下载与分发、软件在线销售与激活、客户服务与技术支持、用户使用数据收集与分析,以及用户生成内容在线分享服务等。

史骥表示:“我们可以直接根据不同的业务需求按需购买云服务,并且依靠AWS的全球基础设施来支撑产品开发、软件分发以及全球百千万用户的创意体验,以专注于业务增长和扩展,避免不必要的时间和成本花费。同时,AWS中国和国外团队还一直在孜孜不倦地对各项服务进行优化和完善,这让我们在选型的时候更加放心。”

如今,XMind Ltd. 网站正在利用Amazon CloudFront进行软件安装包和网站静态文件的分发,借助Amazon Athena进行用户数据收集和分析,通过Amazon Command Line Interface实现自动化运维,采用Elastic Load Balancing和Amazon Elastic Container Service完成网站的持续优化和服务更新……

史骥对ELB+ Amazon ECS的协同应用赞不绝口,他表示:“XMind Ltd. 持续地上线一些实用新功能和创新服务,之前每一次部署更新最少也会造成几十毫秒甚至几秒的宕机。如果在更新之前有客户端的访问没有处理完毕,还会导致连接中断。而在开发、测试和生产环境中使用Amazon ECS提供了高度可用的容器安排和集成,通过ELB将流量自动导入到可用区后,开发人员能够迅速完成软件更改的部署,随时应对用户的访问和下载需求,业务迭代周期从数月缩短到数周。”

  • 利用Amazon DynamoDB实现NoSQL数据库改造

XMind Ltd. 早期使用自建的MySQL数据库和Memcached内存数据库,随着业务的迅速发展,他们发现关系型数据库在性能、扩展性、数据快速备份和恢复、维护成本等方面不能很好地满足需要,应对超大规模和高并发的数据存储和查询不够灵活。在参加AWS技术峰会时,史骥了解到Amazon DynamoDB的最佳实践分享。受此启发,XMind Ltd. 决定向易扩展、高可用且拥有灵活数据模型的NoSQL数据库迁移。

利用DynamoDB,XMind Ltd. 正在实现NoSQL数据库改造。DynamoDB 是一种适用于任何规模的NoSQL数据库服务,可以根据流量和业务需求实现弹性扩容,支持高并发、低延迟,其数据结构能够针对业务使用案例的特定要求进行定制。XMind Ltd. 已将原先存放在Amazon Relational Database Service (Amazon RDS)-MySQL的数据结构针对业务场景进行了改造,使其既能够满足特定关系数据的获取又可在性能上有所提升,保证突增容量的吞吐速度。 此外,作为完全托管服务,DynamoDB 无需专门运维,开发人员可以专注于思维导图应用本身而非数据库的管理。

  • 丰富的开发文档和SDK,方便二次开发

AWS的文档成熟、全面、友好,各种SDK、API和CLI也非常完善,易用性高,开发人员可轻松操作各种示例代码、库、文档、模板、示例应用程序。2017年,XMind Ltd. 决定在国内开设一个功能与英文官网相匹配的中文网站,开发人员只需将AWS北美区域的服务稍作修改,甚至只是修改部分配置即可在由光环新网运营的AWS中国(北京)区域直接上线。例如使用AWS CloudFormation进行底层架构的部署,包括Amazon Virtual Private Cloud (Amazon VPC)配置、负载均衡与域名、Amazon Simple Storage Service (Amazon S3) 资源预留、DynamoDB数据表预留等,采用“Infrastructure-as-code”的方式管理AWS资源,甚至使用版本控制工具来对AWS资源进行跟踪与回滚,大大提高底层架构的可维护性和复用性。 获得的成效

“如果没有AWS,XMind Ltd. 想要实现出海业务可能面临高昂的硬件成本和维护费用,以及繁琐的合规性手续,这对于当年我们初创期的小团队来说显然是无力负担的,”史骥解释道,“AWS云让我们可以轻松地实现全球跨地区、低成本、高可用且安全合规的互联网服务。”

XMind Ltd. 的海外全部业务和国内中文网站都部署在AWS上,并始终保持安全、稳定的运行状态。所使用的AWS云服务包括Amazon EC2、Amazon S3、Amazon VPC、Amazon RDS、Amazon ElastiCache、ELB、Amazon ECS、Amazon CLI、AWS CloudFormation、AWS Lambda、Amazon CloudFront、DynamoDB、Amazon Route 53、AWS CloudTrail、Amazon Simple Queue Service(Amazon SQS)、Amazon Simple Notification Service(Amazon SNS) 等。图1是XMind Ltd. 基于AWS的系统架构示意图Xmind-arch-diag

图1 XMind Ltd. 基于AWS的系统架构示意图 image

将全部业务和数据运行在AWS上给XMind Ltd. 带来了多方面的好处。首先,AWS提供的巨大网络带宽,让其网站能够确保峰值期间系统访问速度不受影响。同时,XMind Ltd. 还依托ELB和Amazon ECS实现了“零宕机部署”(Zero Downtime Deployment),借助Amazon CloudFront完成了思维导图软件的高效分发,网站的可用性和软件分发性能皆提高到99.99%,欧洲区域客户的软件下载平均延迟时间从100毫秒下降到30毫秒以内,极大提升了用户体验。同时,通过大量使用AWS按需付费产品,XMind Ltd. 在硬件设施上的投资基本实现了“零成本”,并且能够灵活有效地管理成本,轻松调整业务所需的性能和容量。

其次,通过NoSQL数据库改造,XMind Ltd. 再也不用担心算力和存储的瓶颈。当遇到大容量吞吐时,响应速度仍然保持在理想状态。同时Amazon S3 和Dynamo DB是按照存储和访问量计费,成本方面灵活可控。第三,由于大部分基础架构都使用了AWS托管服务,使XMind Ltd. 运维工作大大简化,运维时间从原来的平均每周4小时缩短到10分钟。AWS完善的SDK和开发文档帮助XMind Ltd. 快速高效地实现二次开发,编写脚本更加细致和规范化,开发人员可以有更多的时间投入更具创造性的开发工作。

“择乎一事,忠之一生”,思维导图产品是XMind Ltd.热爱并认为正确的事,所以他们心无旁骛、持之以恒地去设计打磨。未来,XMind Ltd. 希望通过Serverless理念改造旧有系统,借助Lambda等服务无需预置或管理服务器即可运行代码,不断提高网站的可用性和可维护性,并进一步降低成本,创造更多无法复刻的产品。

阅读原文