AWS 案例研究:XMind Ltd.
“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的系统架构示意图。
图1 XMind Ltd. 基于AWS的系统架构示意图
将全部业务和数据运行在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等服务无需预置或管理服务器即可运行代码,不断提高网站的可用性和可维护性,并进一步降低成本,创造更多无法复刻的产品。
更多信息
了解更多重塑企业创造价值的方式,请访问“现代应用程序开发”详细信息页面。