金数据是ThoughtWorks中国的内部创业项目,也是中国国内首个用户量突破100万的SaaS服务。金数据一直致力于成为专业且零门槛的在线表单设计、数据收集、统计和分享工具,金数据的用户包括大型企业、创业团队、个人、小微企业以及公益组织。ThoughtWorks是一家有20多年发展历史的国际化信息技术服务公司,在12个国家和地区拥有30个办公室,超过3000名员工。2004年,ThoughtWorks正式进入中国,在国内拥有五家分公司和500多名员工。
金数据定位于SaaS服务,对系统的安全性、稳定性和响应速度有非常高的要求。传统的自建服务器方式,无论是从硬件开销还是从网络的质量与可用性上,都会消耗大量的人力物力以及时间成本,尤其是在面对日益增长的用户访问以及不断产生的大量的数据时,传统的自建服务器方式无法满足金数据对一致性体验、灵活扩展以及可靠存储的要求,因此,金数据从一开始就选择依托公有云服务构建整个SaaS系统。但是随着金数据用户规模不断扩大,之前采用的云服务在功能、性能、弹性以及稳定性等方面都无法继续满足金数据的需求。
金数据对云服务的可靠性、性能、扩展性有着严格的要求,经过对国内云服务商的全面测试与对比,金数据最终决定从之前的云服务商迁移至AWS。“金数据SaaS服务的用户数已经超过100万,系统的稳定性和响应速度是我们最关注的,之前采用的云平台带宽有限,当遇到突增地峰值访问时,响应速度会大幅度下降,很难满足用户的访问需求。采用AWS云服务之后,这些问题都迎刃而解了。”金数据运维负责人张路说。金数据以SaaS服务方式为各地用户提供数据服务,因此,系统的响应速度和稳定性是至关紧要的,而AWS云服务提供的优异性能、高带宽以及方便部署的特性恰好能帮助金数据实现这些目标。
优异的性能
AWS云服务提供了丰富的功能,帮助金数据提升整个SaaS系统的性能。在迁移到AWS之前,金数据采用了另一家云服务商的产品,当时面临的困境是无法按照自己的需求建立SaaS系统的网络拓扑结构,无法实现系统中组件之间的隔离。AWS提供的VPC以及配套的子网、路由、安全组、ACL等功能可以极大地丰富网络拓扑,确保系统中各业务单元的隔离与访问。另一方面,AWS提供了多种类型的实例供用户选择。“我们采用计算优化型Amazon EC2实例承载前端应用;采用内存优化型Amazon EC2实例承载数据库服务,同时AWS提供的SSD以及PIOPS SSD,不仅为应用提供了充足的性能,也为数据库提供了一致的I/O表现。”张路说。
巨大的带宽
与国内的其它云服务商不同,AWS为客户提供了非常高的网络带宽,并且采用了清晰合理的计费模式,用户只需要按照实际使用的带宽付费,这一特性特别适合于金数据的应用模式。“金数据的用户遍及全国且用户数过百万,峰值访问随时都可能发生,也无法预测,AWS提供的巨大的带宽可以充分满足我们在峰值访问期间飞速增长的带宽需求”张路说。
方便部署
AWS提供了一个资源创建模版——AWS CloudFormation,它为开发人员和运维人员提供了一种简便地创建和管理AWS 资源的方法,开发人员无需了解AWS服务需要配置的顺序,也不必关心如何保证这些资源正常运行的细枝末节,就可以创建自己的应用系统,其它的AWS资源的配置和协调问题AWS CloudFormation会搞定。使用AWS CloudFormation之后,金数据搭建系统环境的时间由过去的数天,缩短为不到1小时。此外,借助AWS提供的丰富API,金数据的运维人员可以批量地管理多台服务器。
“我们在选择云服务商时对国内的主流云服务商的产品都进行了测试和评估,结果显示,无论从功能的多样性还是系统的灵活性与稳定性等方面来比较,AWS 都是最能满足我们需求的云服务。”金数据运维负责人张路说。
目前,金数据的SaaS系统已经完全迁移到AWS上,所采用的AWS云服务包括Amazon EC2、Elastic Load Balancing、Amazon S3、Amazon ElastiCache、Amazon CloudWatch、AWS CloudFormation等。与早期的系统相比,依托AWS云平台的金数据SaaS系统在响应速度、稳定性和运维的方便性等方面都有了大幅度的提升,可以为客户提供99.99%的可用性,用户量也已经突破100万。AWS给金数据带来的好处主要体现在三个方面:提高了稳定性和可靠性、系统的性能大幅度提升、节省成本。
AWS给金数据带来的第一个好处是大大提升了系统的稳定性和可靠性,这主要获益于Elastic Load Balancing和Auto Scaling。“没有用AWS之前,由于云服务商的带宽有限制,因此在遇到突发流量时,系统的响应速度会降低,当并发流量很大时,就无法应对了。采用AWS之后,Auto Scaling可以即刻启动新的实例,并将流量均衡到多个实例上,从而确保无论是在淡时还是峰值时,金数据都能够给客户提供足够快速的响应。”张路说。而Elastic Load Balancing可以在云中某一台机器遇到故障时,自动将应用转移到正常工作的实例上,确保金数据系统的正常运行。
AWS提供了丰富的服务,金数据在系统的构建中充分利用了这些服务,从而大幅度提高了系统的整体性能。例如,AWS提供的通用弹性存储块(Amazon EBS)采用增量备份方式,不仅缩短了备份时间,也减少了对当前应用的影响,利用EBS,金数据加快了系统的读写速度。而AWS ElastiCache服务不仅节省了金数据去寻找服务器承载Redis/Memcached的成本,也提供了更高的可用性。
AWS带来的第三个好处是成本节省。AWS提供了合理的计费模式,客户可以先选择按需实例来构建系统,确定所需要的资源,在系统稳定之后,再按照实际的需求购买价格更低的预留实例。“与我们之前采用的云服务相比,采用AWS云服务之后,系统的性能更高了,而成本却降低了。”张路说。成本的节省也体现在系统的管理和运维上,可配置的AWS访问控制服务IAM使金数据在系统的开发和维护中可以安全地控制不同角色对AWS服务和资源的访问权限,把内网与公网完全隔离,保障系统本身的安全性,同时通过制定规则提升运维管理的自动化程度,减少人力成本的投入。
在未来,金数据计划采用AWS更多的服务,使得系统更加稳定、更高效和自动化。比如,使用Amazon EMR来分析应用日志、在系统架构自动化方面进行更多的尝试、优化产品部署的流程等。
了解 AWS 如何帮助满足您 Web 应用程序需求的更多信息,请访问我们的 Web、移动和社交应用程序详细信息页面:http://aws.amazon.com/web-mobile-social/。