微服务架构在云端的应用

来源:互联网 发布:s7 200 编程电缆 原装 编辑:程序博客网 时间:2024/05/16 00:49
微服务架构在云端的应用

发表于2015-11-16 16:41| 1158次阅读| 来源CSDN| 1 条评论| 作者蒲婧

CTO俱乐部CTOCTO讲堂架构团队实践
摘要:应用生命周期中存在哪些问题,如何提供一体化开发部署环境?应用运行阶段,怎样保障应用安全可靠地运行?技术团队的绩效该怎么做才相对合理?本文为好雨云创始人兼CEO、原澳客网CTO&CEO刘凡的CTO讲堂分享。

为了帮助IT从业者职业之路拥有更多收获,在诸多C粉的殷切期待下,由 CTO俱乐部打造的CTO线上讲堂自登场以来获得大家好评。本期邀请好雨云创始人兼CEO、原澳客网CTO&CEO刘凡带来“微服务架构在云端的应用 ”的主题分享。

欢迎加入CTO讲堂微信群与业界大咖零距离沟通,11月20日本期讲堂报名方式拖至文末查看。


分享嘉宾:好雨云创始人兼CEO刘凡

嘉宾简介:刘凡,好雨云创始人兼CEO。曾任澳客网 CTO和CEO职位。拥有超过12年互联网产品开发和管理经验,专注于互联网技术架构设计,对产品设计、敏捷开发、安全、OKRs、大数据等领域有深入研究。现推崇反应式编程(http://www.reactivemanifesto.org/),并在多个产品中成功应用。

公司简介:好雨云成立于2015年4月, 6月份推出平台公测版,截止目前平台用户已经超过5千。公司的理想是让所有的企业,使用云像用水用电一样简单。

好雨云解决应用生命周期中的一系列问题,好雨提供一体化开发部署环境,支持主流开发语言,不需要特殊学习,并融合了DevOps的敏捷最佳实践,让应用一键部署。到了应用运行阶段,隔离的私有网络,多份数据备份,99.95%的可靠性,保障应用安全可靠的运行。 当用户大量增加,只需要简单配置就能为应用扩容。当业务越来越复杂,好雨的微服务架构,不影响现有业务的情况下,快速扩展应用。同时,好雨云能最大限度使用服务器资源,减少浪费,帮用户省钱。

以下是11月12日CTO讲堂现场完整速记:

主持人:讲堂正式开始啦~欢迎好雨云创始人兼CEO刘凡,请您先跟大家介绍下自己。

刘凡:大家好! 我是好雨云(https://www.goodrain.com)创始人刘凡,之前在澳客网做过7年CTO、2年CEO。在架构、安全、产品、管理领域有一些经验,喜欢研究新技术,擅长技术和产品深度结合。

主持人:欢迎您~看您曾经在澳客网担任CTO/CEO,在互联网行业打拼12年,也算是一枚老兵了,在什么情况下你决定开始创业?最初的想法是怎样的?

刘凡:我在澳客网的时候管理着6个产品团队,类似内部孵化器,我们内部倡导有想法快速试错,每个团队都在积极的尝试,但团队在产品开发的过程中,大量的时间浪费在申请服务器、安装各种依赖服务、配置开发环境、写构建脚本等,如果产品开发完要上线,还需要安装线上运行环境、建立部署流程、配置服务高可用、支持大用户,而且对团队技术水平也要求很高。

我当时就想如果能把每个团队重复做的事情和有难度的技术问题,做成一个可重用的轮子,产品团队只要专注于产品本身,那产品的开发效率将大大提升,试错成本也将更低,于是我便开始设计和开发这个平台,我们用了3个月开发出来,交付产品团队使用,团队刚开始不习惯,但习惯后效率大大提升,甚至一个人也能快速交付一个产品,在随后一年中,所有产品团队都陆续使用这个平台,我们也不断完善这个平台,我逐步意识到,很多公司都需要这样的平台,这是一个机会。于是,我和几个对此有想法的小伙伴离开了澳客网,创办了好雨,为了更好的用户体验,我们把产品重新设计实现,最终做成了现在的好雨云。

主持人:您在创业过程中遇到的挑战有哪些?

刘凡:1. 创业不是一朝一夕的事,创业路上有太多困难和不确定,我认为最大的挑战是,长时间面对这些困难和不确定时良好的心理素质。我的应对方法是,跟团队沟通,朋友沟通,用户沟通,他们中任何正向的反馈都让我更加坚定。

2. 不能充分认识自己,开始创业的时候,激情四射,自信心爆棚,认为自己什么事情都能搞定,但实际做下来,不是这么回事。对于这个挑战,只要找到互补的合伙人就能很好解决。

主持人:请介绍一下目前好雨云的情况以及技术团队构成。简单介绍下好雨云目前提供的产品及服务吧。

刘凡:我们在6月份推出平台公测版,9月开始正式商用,截止目前平台用户已经超过5千,建立了4个数据中心。我们团队总共20人,14人负责技术,其中4个负责系统运维,6个负责底层开发,4个负责前端开发。

好雨云是  “快速开发、部署、运行、伸缩任何应用的云平台”。我们的口号是 “应用一键部署”。

好雨云解决应用生命周期中的一系列问题,好雨提供一体化开发部署环境,支持主流开发语言,不需要特殊学习,并融合了DevOps的敏捷最佳实践,让应用一键部署。到了应用运行阶段,隔离的私有网络,多份数据备份,99.95%的可靠性,保障应用安全可靠的运行。 当用户大量增加,只需要简单配置就能为应用扩容。当业务越来越复杂,好雨的微服务架构,在不影响现有业务的情况下,快速扩展应用。

简单对比一下传统应用开发流程和使用好雨云的应用开发流程。

传统应用开发流程:


使用好雨云的应用开发流程:


好雨云相比传统应用开发,时间短,费用低,只要有开发就搞定一切。

好雨云的技术特点:

  • -支持任何应用类型
  • -支持 PHP,Python,Java,Ruby,Node.js,Scala,golang等开发语言,支持docker。
  • -不需要特殊学习,不改变开发者编程习惯
  • -支持水平伸缩和垂直伸缩
  • -支持微服务架构
  • -零运维
  • -融合DevOps敏捷实践
  • -支持任意IAAS,全球数据中心
  • -企业级可靠性,SLA99.95%,数据存储3份
  • -隔离的私有网络
  • -最大限度利用资源,减少浪费,节约成本

主持人:请您从具体产品适用场景来阐述一下提供的产品服务。

刘凡:我们适用三类场景:

  • 第一类:互联网创业团队,产品尚在开发阶段,只有少量前端及服务端开发人员。这类用户的痛点是:部署。产品需要尽早上线面对用户,那么最核心的问题就是快速部署。采用我们的产品,即可以实现一键部署。部署的准备工作亦可快速完成:a、资源供应商安全可靠,可以自由选择一线云服务商;b、采购决策简单,资源管理对使用者透明,资源使用既不会浪费,同时又可以按需扩展。除此以外,还会解决开发协作、运维等问题。

  • 第二类:新兴互联网公司,产品已经上线,业务持续增长中,有研发小团队,整个产品部署在阿里云。这类用户的痛点是:架构和运维问题。部署已经不是最关注的问题,最迫切的是如何应对产品的快速迭代及用户的快速增长。产品已经在云端,可以很容易采用我们的解决方案。微服务架构及一键部署功能可以帮助企业应对产品的快速迭代。根据用户量及响应时间监控通过简单配置即可帮助实现资源伸缩,应对业务增长。
  • 第三类:中型互联网公司,产品已经在线上运营,有PC端,也有移动端,有CTO,有研发团队,有测试团队,有运维团队,公司自建机房。这类用户的痛点是:技术管理问题。

所有的问题应该已经有专职的团队去解决,也会有自己的工作流程和协作方式。引入我们的产品可以协助CTO更好的管理整个技术团队,团队也将会有更流畅的工作方式,可以更快的响应来自市场及产品部门的需求。这里面包括:a、开发管理;b、资源管理;d、快速部署;e、高效运维;等

主持人:相比heroku 和 bluemix ,有什么独特之处麽?也就是和同类产品竞争优势有哪些?

刘凡:我做了一个表简单对比下:


好雨云相比Heroku和IBM BlueMix的优势,具体描述是:

  • -减少了很多技术概念,只用管理以业务为核心的应用,使用更加简单
  • -可配置的微服务架构
  • -可支持全球任意数据中心
  • -支持开源服务和用户贡献的服务
  • -按使用收费,费用更低

主持人:该平台的设计是怎么考量的?请谈谈您的看法。

刘凡:好雨云平台的三个设计原则:

  • 1.  简单的用户体验。以应用为核心,突出业务价值,简化应用以下的技术概念,去除负载均衡、服务器和网络等概念。这样用户就不用管理各类资源,更不用通过SSH登录管理服务器。另外监控也以业务为核心,去除CPU、负载、内存、IO等技术监控,简化成 平均响应时间、在线人数和吞吐率。
  • 2.  灵活,可扩展性强。灵活是以应用为单元配置的,应用可以支持不同语言部署,应用可以配置成不同类型,应用可以部署在不同机房,应用可以配置伸缩的规模,多个应用可以互相拼装,配置成微服务架构。
  • 3.  满足企业级质量要求。底层技术架构需要满足可靠、稳定、安全、高效的企业级质量要求。

主持人:下一步的发展方向如何规划?

刘凡:我们下一步的发展方向是,利用自身平台简单灵活的优势,建立以应用市场为核心的生态系统。

只要是可以运行的应用就可以“一键分享”到应用市场。其他用户可以通过应用市场“一键安装”。


这个应用市场可以支持各种类型的应用,开源服务可以在市场上一键安装,传统软件厂商也可以通过平台实现SAAS化,而中间的所有数据是可以互通的,实现统一用户管理,数据集成。


主持人:对于目前云计算技术领域,您怎么看?

刘凡:IAAS,随着OpenStack的开源和流行,国内IAAS厂商越来越多,但成熟性和稳定性跟国外的AWS差很远,但相信随着市场的培育,国内的Iaas也会越来越成熟。

PAAS,GAE系产品(BAE,SAE)将逐步淡出舞台,灵活的Heroku受到开发者的追捧,IBM的 Bluemix也相继进入这个领域,同时满足简单和灵活的PAAS,将成为PAAS的主流,并与IAAS抢占市场。

SAAS,北美市场已经很成熟,已经培育多个SAAS独角兽,中国市场正在萌芽,相信不远将来中国也能出现几家SAAS独角兽。

BAAS,借着app的春风,BAAS火了,但由于它模式的局限,大的APP会逐步放弃它,但只要APP不降温,它依然有它的市场。

CAAS,docker是个好东西,CAAS借docker也火了一把,概念是火了,但就是没有成功案例。我觉得CAAS这条路走不通。

主持人:对于云计算行业的未来发展前景,会是怎样的,谈谈您的看法?

刘凡:docker最大的革命是将计算资源和应用很好的对应起来,由于它的出现,以前清晰区分的云计算三层(IAAS、PAAS、SAAS),将重现定义,计算资源独立使用的价值不大,它和应用同时存在一体化包装,应用既是开发平台的载体,也是面向最终用户的服务载体,包装后的应用是一个复合体,应用是资源,是开发平台,是服务,docker时代的云计算是一体的。

重新定义后的云计算将产生以下影响:

  • 1,省去很多中间概念,变的非常简单。
  • 2,应用将标准化,被复用、传播、使用、销售、购买等
  • 3,在云上,不需要管理系统,运维将没有价值

好雨云的核心逻辑就是这样的,希望云计算的颠覆能被我们实现。

主持人:请结合您自己这一路技术之路上的提升谈谈技术人该如何做到高效学习和提升技能?

刘凡:我大学的专业是“热能与动力工程”,但是我非常喜欢计算机,从大一就开始自学,大三大四独立实现了几个小项目,大学毕业设计的课题也是计算机相关,是我们院唯一一个。工作后我每天晚上都会看技术书籍到凌晨2点,天天如此,到现在我依然坚持这一习惯,只是没那么晚。我的这些经历,背后的驱动力就是兴趣,兴趣让我感觉到学习技术是个快乐的事情,兴趣让我高效专注,兴趣让我执着坚持。

所以,我认为兴趣是高效学习和提升技能最好的方法。

主持人:请结合您的切身体会谈谈一名合格的CTO或技术团队管理者应该是怎样的?

刘凡:我认为一个合格的CTO或技术管理着身上应该有三个标签,技术/架构/管理。

  • 技术---作为技术领头人,技术是大多技术人的沟通语言,对技术了解的深度和广度,决定了团队对你的认可程度,技术管理者只有不断学习技术,才能建立属于自己的技术威信。
  • 架构---技术架构是技术的基石,技术架构决定了技术人员配置、技术方向、业务灵活性,一个好的技术管理者一定也是一个好的架构师。
  • 管理---一个优秀的技术人员能自管理,技术管理更多围绕着员工的学习和成长,轻松的学习氛围和快速试错的成长环境,能很好的培养自组织和自管理能力。

主持人:在提升创业公司技术团队方面,您目前是怎么考量的?

刘凡:创业团队大家能走到一起,一方面互相认可,另外一方面认可方向,不用怀疑大家的激情。对于提升创业公司技术团队,我的思路是 "信任团队成员,充分授权,快速试错,共同承担错误" 。

主持人:技术团队的绩效该怎么做才相对合理?能结合您过往的一些经历展开谈谈么?

刘凡:绩效管理的作用是完成公司目标、团队效能提升,然而传统的绩效管理方法(SMART,BSC,KPI)有一些问题,如:不利于团队的协作和成长;追求短期目标,掩埋长期问题;不公平等问题,而现在互联网团队又对绩效管理提出了更高的要求,我使用OKRs做团队绩效管理。

OKRs的价值:

  • - 让每个成员知道自已要做什么
  • -帮助战略得以实施
  • -增加团队的学习热情
  • -促进团队协作
  • -建设创新的氛围

我在OKRs实施过程中,总结出5个关键点:

  • 1,自上而下和自下而上相结合
  • 2,跟奖金无关
  • 3,激励大家完成高目标
  • 4,公开透明的目标设定和历史存档
  • 5,教练和成长

经过半年实践,公司的目标和个人目标已经能很好衔接,通过个人目标的达成,进而促成公司目标的完成。团队成员由被动安排工作,变成自管理自驱动。

主持人:在招人过程中,比较看重新人的哪些特质?对想在技术路线上走得更远的人,您都有什么建议和忠告?

刘凡:我最关注新人的学习能力和成长性。

1,真正的技术大牛不在于,他学了多少个框架,做了多少个项目,而在于他对技术思想通透的理解。所以建议大家多理解技术背后的思想,停下来沉淀思考,慢慢积累你也能成为大牛。2,技术只是工具,它只有通过业务才产生价值,不要觉得技术很牛就不可一世,市场上需要的是能把技术和业务结合的人。

推荐大家看反应式编程:http://www.reactivemanifesto.org/

互动环节:我想问一个具体的例子。我已经有一批部署在亚马逊上的服务器和数据库, 架构很简单就是python +mongo. 开发初期用的是parse. 如果要在国内也部署, 用好云雨和阿里云具体差别在哪里呢?是要先把已有的转到你们的框架下, 还是要从你们的平台部署新的服务器。另外就是 假如使用了你们的平台, 以后需要转回自己的数据中心, 有没有过度的系统耦合。顺便您能说一下parse和你们的区别吗?
刘凡:迁移到 阿里云 跟你适用 亚马逊 类似,需要自己搭建服务器,安装服务,然后迁移。迁移到 好雨云 ,python 部分 可以通过 我们的平台 一键部署。 mongoDB部分 我们有即时可用的服务,直接部署就可用,然后把数据导过来就可以了。
问:环境配置参数也会自动搞定?我回头试一下你们的一件部署。
刘凡:我们的平台没有任何特殊的东西,也不需要学习,不是框架,随时可以迁移到其他平台。环境和参数 都自动搞定。
互动环节:阿里云也在主推云市场,可以很方面购买到第三方提供的各种扩展服务。请问您怎么开待和您的产品的差异性?
刘凡:阿里云的云应用市场,有很多限制,支持的应用类型也有限。我们做的应用市场非常开放,支持任何应用类似,并且非常简单就可以分享到应用市场。当然最重要的是,开发者可以通过这个平台赚钱,我们近期会上线,敬请关注。
问:稍稍看了一下,可能研究不深,感觉和SAE等现有PAAS的差异不大。如果是做类似Heroku的话,应该要提供大量的addon供选择吧。或者说是个愿景,目标是做成提供各种插件服务,但是目前还没有提供?请问目前的支持程度上,相对于SAE,以及阿里云+云市场扩展而言,有什么优势呢?
刘凡:之前的paas限制非常多,甚至必须安装它的sdk 开发,而服务的支持更是有限。 我们平台限制非常少,不改变开发者的习惯,而服务的支持 可以非常简单的支持一个新服务,甚至用户也可以简单贡献。
互动环节:微服务架构这块能为用户提供什么便利?
刘凡:微服务架构的主要价值在,用户量大了,服务容易伸缩,业务复杂了,在不影响现有业务的情况下,扩展业务。
互动环节:你们是基于运营商机房的么?
刘凡:不是,我们现在部署在各类公有云上。
0 0