数字化转型方略 第12期 2019/09/27

上云不买云主机,这么做省钱还安全(上)

文/邹大斌
中国企业真正的上云之路应该是从IaaS开始的,尤其是云主机是很多企业上云的首选,其实,IaaS并不是所有场景都合适,用PaaS模式可能更为经济、弹性更好,而且灵活。

中国企业真正的上云之路应该是从IaaS开始的,虽然SaaS其实更早为业界所熟知和利用。这几年也正是IaaS技术的迅速成熟以及用户对IaaS的广泛认可带动了整个云计算产业的兴起。

IaaS之所以能在PaaS、SaaS中脱颖而出,很大一部分原因在于,IaaS允许用户能以一种非常简单的方式上云:购买云主机,把应用搬到云主机中(不做或者做不多的修改)。其使用体验和自己的服务器上使用区别并不大,学习成本低,而收益(节省成本、弹性等)很明确。因此 IaaS很快就成为最受欢迎的云服务模式。

但是,云主机并不是上云的唯一途径,在很多场合PaaS可能更为合适。与购买云主机相比,以PaaS服务(比如数据库服务RDS)模式上云,不仅成本更低,运维更简单,也更安全。当然,这种方式对所上云应用的架构和开发都有一定要求,要求用户具有一定技术能力。因此,相比IaaS模式,采用PaaS云服务模式的用户少得多。

本期要介绍的易纵互联(北京)科技有限公司正式以为以PaaS服务模式上云的企业,它们的经验或许可以为其他上云的企业提供参考。

易纵互联(北京)科技有限公司是由一群对.NET非常熟悉的技术人员(微软MVP和资深互联网专业人士)创建,其核心业务51Aspx.COM(以下简称51Aspx)是一个微软.Net学习、分享平台以及源代码交易平台,于2009年开始商业运营。

基于团队成员对云技术的深刻了解,他们在将51Aspx.COM的业务从托管服务器迁往云上的时候,没有选择最常见的云主机模式,而是对软件架构进行了重构后,使用了Azure的PaaS服务。此举虽然初期费了些功夫,但给后期带来运维的方便性,更好的弹性以及更经济的成本,这些都证明这份付出是值得的。

杜鹏是易纵互联(北京)科技有限公司CTO,是资深全栈开发工程师,从事多年软件开发工作,曾参与大型分布式高并发互联网项目设计开发,多次作为讲师对企业内部开发人员进行Azure公有云培训。至顶网副总编邹大斌对杜鹏进行了独家专访,以下为专访杜鹏的速记内容整理。

至顶网:请先介绍一下您所在的公司大体情况,比如什么时候成立,主营业务是什么?

杜鹏:我们公司2009年成立,公司有很多业务,基本都是围绕微软的产品和技术开展。51Aspx.com是我们的主营业务,它是一个软件源代码交易的平台,主要是面向.NET平台。2009年公司开始运营,最早采用的传统的业务架构,部署在托管的服务器上。2014年我们把这个平台的业务迁移到Azure云,算是国内较早使用Azure云的用户。当年我们的这个上云项目案例曾参加微软的创新大赛,拿到当时企业组的冠军。经过差不多10年的运营,今天的51Aspx拥有上百万的用户,高峰时同时上线人数能达到2000人。

对于Azure云,我们算是比较了解的,这与我们核心团队的背景有关系。在Azure还没有真正在中国落地的时候,记得当时用的还是代号“Mooncake”,我们就参与过测试和一些小的应用开发。落地后,我们也做了一些本地化的工作。正是因为有了这些技术基础后来我们的软件架构调整也才比较顺利。

至顶网:你们公司上云之前IT状况是什么样?

杜鹏:公司成立时,已经有了很多种的代码学习和分享平台,比如ASP、PHP等。虽然种类很多,但是没有.NET的。公司创世团队都是.NET的爱好者,决定自己做一个.NET的交流平台。刚开始是完全出于爱好做这件事情,都是免费的。后来有一些人对代码有了更高需求,也有人希望能交易代码,然后就慢慢衍生出了我们今天的商业模式——代码交易,后来跟微软的业务逐渐增长、规模化,我们也走上了商业化的路线。

最早的IT系统主要有3台服务器来支持:一个是做Web展现,一个做数据库,一个是做备份,存放我们网站的代码资源、代码压缩包、图片资源。服务器托管到IDC。

至顶网:你们后来把系统从托管服务器迁移到Azure云上,当时是怎么做出的这个决策?

杜鹏:我们是2014年正式上云的。其实,微软Azure在中国没落地之前,我们曾试着把一部分业务,包括论坛、数据备份放到Azure云上。我们之所以选择Azure云,最主要原因在于我们对Azure有技术依赖。我们的业务与Windows平台和Azure有关,我们自己用,再给客户进行培训的时候也相对熟练一些。另一方面是我们整个团队对Azure相对来说比较熟悉,所以很容易地选择了Azure。

从2014年之后,我们就完全就迁移到Azure云了。我们用的都是Azure的PaaS云服务,没有用一台云主机或者虚机。其实,我们最早进行架构设计时候就根本没有考虑用云主机或者虚机。

我们知道,很多人上云就选择IaaS,很少用PaaS。但我们对云技术以及Azure很熟悉,我们很清楚我们最合适的选择就是PaaS,而不是IaaS。我们的系统从运维、到管理、易用性等都是面向PaaS建的。当时设计的架构今天还是一直在运行,未来3-5年也问题不大,当时的设计还是比较有前瞻性的。

至顶网:当初你们为什么要从托管服务器迁移到公有云?

杜鹏:我们当时上公有云最大的需求就是解决备份问题。备份这个事当时让我们非常头疼,我们备份主要是两个:一个是SQL Server数据库的备份;另外一个是上传的数据文件备份。我们有十几年的数据,这几百个GB的数据文件不能丢。

原来,我们做的是服务器的备份,本地做RAID。但是我们有一次尝试对备份进行恢复时,300G数据,结果没恢复成功,是恢复了很久后发现失败的。还有一次我们迁移了超过100G的小文件,迁移花了24小时都没迁移完。后来我们考虑,如果备份完了以后换数据中心,换服务器要做数据迁移,迁移和恢复时间特别长,这是问题。我们自己想了各种备份方案,都不是完美的。后来发现放到公有云上以后,有云的一式三份还有各种备份服务,这对我们来说解决了大问题。

至顶网:云是如何帮助你们解决数据备份问题了,你们单独购买了备份服务了吗?

杜鹏:我们没有单独购买备份服务。首先,云服务本身的多副本模式,让我们基本没有了对数据丢失的担心。其次,对于SQL数据库我们定期有快照进行备份,只需支付存储空间的费用。如果有更高要求的备份,可以单独购买服务,但都非常便宜,比自己做这些事简单多了。

至顶网:你们没有选最常用的IaaS服务而是选了PaaS服务,背后的原因是什么?

杜鹏:我们一直对外强调一个理念:IaaS是云上初级的应用,但是好多人还存在这种最低级的应用。根据我们自己的经验,使用PaaS服务相比于IaaS有几个好处:第一个是订阅成本能降下来;第二降低了运维成本;第三提高了安全;第四开发成本也能降低。

关于开发成本降低,我这里稍做下解释。因为以前软件开发要考虑将来如何部署和运行,为此需要了解一些运维方面的情况,现在就不需要去关心这些了。另外,上云后很多功能能直接调用云服务商的API。比如,我们原来的消息队列是自己开发的。而上云后我们发现Azure上有Server Bus服务,可以进行多消息传送,很可靠,而且非常便宜。

鉴于上述原因,我的建议是,企业在上云过程中能转换PaaS服务就应该尽量用PaaS服务;实在转换不了,比如传统业务因为开发工作量或者没有源代码,没有办法才用云主机来运行,只要能转的我们会推荐直接转到PaaS。(未来待续,下期我们将继续请杜鹏介绍PaaS模式的优势,以及这种模式对应用架构的具体要求)

本文章选自《数字化转型方略》杂志,阅读更多杂志内容,请扫描下方二维码

《数字化转型方略》杂志