厉害了,我的中国造@主动发力还是借力打力?——思华科技18年自主创新经验谈(上篇)...
在AWS公有云进入中国市场以前,金数据已经在使用公有云服务。2014年,金数据成了AWS进入中国市场后的第一批客户,而当时AWS的产品还是预览版。一不做,二不休,在下定决心从原有的公有云平台转向AWS后,金数据用了大约一个月时间,将当时的100多万用户全部迁移到了AWS的云平台上,以前的IT困扰消失了,系统整体性能提升了近三倍。
在这一个多月的时间里,金数据做了大量细致的准备工作,比如把所有服务器的结构代码化,并且在AWS上构建了虚拟网络,通过这个网络不断将数据从以前使用的云平台上慢慢同步过来。在实际进行系统切换的那一天,整个过程也就持续了三四分钟。
金数据一直致力于成为专业且零门槛的在线表单设计、数据收集、统计和分享工具。金数据的用户包括大型企业、创业团队、个人、小微企业以及公益组织,其产品从2012年上线到现在,在国内已经积累了300多万用户。滴滴、摩拜、抖音,以及罗辑思维等新媒体,都在使用金数据的表单工具服务。
非AWS不可?
○
金数据定位于SaaS服务,对系统的安全性、稳定性和响应速度有非常高的要求。传统的自建服务器方式,无论是从硬件开销还是从网络的质量与可用性上,都会消耗大量的人力物力以及时间成本,尤其是在面对日益增长的用户访问以及不断产生的大量的数据时,传统的自建服务器方式无法满足金数据对一致性体验、灵活扩展以及可靠存储的要求。因此,金数据从一开始就选择依托公有云服务构建整个SaaS系统。但是随着金数据用户规模不断扩大,之前采用的云服务在功能、性能、弹性以及稳定性等方面都无法满足金数据的新需求。
金数据对云服务的可靠性、性能、扩展性有着严格的要求。在采用AWS公有云之前,金数据使用的是另外一家公有云平台,因为业务量大,具有高并发的特点,在偶发性的业务高峰时,公司的运维人员经常要熬夜加班,解决IT相关问题。采用AWS云服务之后,这些问题都迎刃而解了。
金数据以SaaS服务方式为各地用户提供数据服务。因此,系统的响应速度和稳定性是至关紧要的。AWS云服务提供的优异性能、高带宽以及方便部署的特性恰好能帮助金数据实现这些目标。
AWS云服务提供了丰富的功能,帮助金数据提升整个SaaS系统的性能。AWS提供的VPC以及配套的子网、路由、安全组、ACL等功能可以极大地丰富网络拓扑,确保系统中各业务单元的隔离与访问。另一方面,AWS提供了多种类型的实例供用户选择。金数据采用计算优化型Amazon EC2实例承载前端应用,同时采用内存优化型Amazon EC2实例承载数据库服务,此外AWS还提供了SSD以及PIOPS SSD,不仅为应用提供了充足的性能,也为数据库提供了一致的I/O表现。
与国内的其他云服务商不同,AWS为客户提供了非常高的网络带宽,并且采用了清晰合理的计费模式,用户只需要按照实际使用的带宽付费,这一特性特别适合金数据的应用模式。
AWS提供了一个资源创建模版——AWS CloudFormation,它为开发人员和运维人员提供了一种简便地创建和管理AWS资源的方法,开发人员无需了解AWS服务需要配置的顺序,也不必关心如何保证这些资源正常运行的细枝末节,就可以创建自己的应用系统,而其他的AWS资源的配置和协调问题,AWS CloudFormation会搞定。使用AWS CloudFormation之后,金数据搭建系统环境的时间由过去的数天缩短为不到1小时。此外,借助AWS提供的丰富API,金数据的运维人员可以批量地管理多台服务器。
对于用户来说,公有云的服务模式,与以前由厂商、集成商或服务商直接提供服务的方式略有不同。公有云服务商大多会通过远程、在线服务的方式帮助用户解决问题,而一些小问题,用户自己通过查看应用手册等就能解决。
金数据联合创始人王琰表示:“其实我们很习惯公有云服务商的这种服务模式,因为我们自己就是提供SaaS云服务的。我们自身也习惯通过远程的方式提供服务。电话或面对面的这种传统服务方式有点浪费时间。”
从另一方面说,云服务本身就是稳定、靠谱的,系统出错的几率比较低。“我们宁愿一个星期出现一个非常小的问题,通过一个邮件就能轻松解决,也不愿意两三天就出现一次非常大的问题。”王琰如是说。
在决定更换新的云服务商时,金数据对国内主流的云服务商的产品都进行了测试和评估,结果显示,无论从功能的多样性,还是系统的灵活性与稳定性等方面来衡量,AWS都是最能满足其需求的云服务平台。
谈到为什么会选择AWS,王琰说得很坦白:“假如我们的服务器被从AWS上完全抹掉了,我相信,在一个小时之内,完全通过代码可以自动构建起与原来一模一样的服务器结构,而且数据也完好无损。”
现在,金数据所使用的AWS服务器和容器已经有100多个,而金数据实际的运维管理人员只有1.5人,大大节省了人力,还提升了性能。如果金数据以后开展海外业务,整个结构完全可以平移过去,非常方便,而且避免了风险。
金数据的SaaS系统已经完全迁移到AWS上,所采用的AWS云服务包括Amazon EC2、Elastic Load Balancing、Amazon S3、Amazon ElastiCache、Amazon CloudWatch、AWS CloudFormation等。与早期的系统相比,依托AWS云平台的金数据SaaS系统在响应速度、稳定性和运维的方便性等方面都有了大幅度提升,可以为客户提供99.99%的可用性。
三大改变
○
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服务和资源的访问权限,把内网与公网完全隔离,保障系统本身的安全性,同时通过制定规则提升运维管理的自动化程度,减少人力成本的投入。
当前,金数据的测试环境、类生产环境、UAT环境等都运行在AWS云平台上。金数据本地仅有一台服务器,用于存储团队内部共享的照片。从金数据的应用情况看,公有云完全可以取代传统IT系统。
未来,金数据计划采用AWS更多的服务,使得系统更加稳定、更高效和自动化。比如,使用Amazon EMR来分析应用日志、在系统架构自动化方面进行更多的尝试、优化产品部署的流程等。