首页 > 开发 > 云计算 > 正文

微服务与Kubernetes的应用实践

2016-07-12 21:08:11  来源:极客头条
  7月7日,微服务与容器技术实践沙龙如期举办。这场由普元、CSDN联合主办的沙龙邀请到了普元信息主任架构师顾伟、普元基础设施架构师严伟、轻元首席架构师王昕,他们与现场听众分享了微服务架构的设计思路、实践经验,以及在使用Kubernetes框架时遇到的问题。在活动最后,现场听众还吐槽了各自在实际开发时遇到的困扰,由三位“老司机”现场把脉,交流心得。(点击观看现场视频回放

图片描述  
  顾伟:基于微服务架构的技术实践(点击下载演讲PPT
  普元信息主任架构师顾伟在演讲中,分享了他们对微服务架构的认识,包括微服务演进过程、常见认知误区等,并阐述了结合容器云技术,分享在微服务架构中做的关键设计,使用技术栈,遇到的问题和存在的欠缺等。
  IT架构经历了四个阶段:最初的单块架构,那时候虽然成本低,但二次开发也比较困难;后来它发展为垂直架构,有一定的模块化,并支持负载均衡;到第三阶段,开始采用SOA架构;最后第四阶段,微服务架构以业务系统需要彻底的组件化和服务化为核心,单个业务系统拆分为多个可以独立开发、设计、运行和运维的独立单元。
  
图片描述  
  人们对微服务架构普遍存在一些认知误区。顾伟总结了四点误区:1.微服务并不会让开发变得更简单,反而会让一些开发变得更复杂,微服务架构并不解决开发的问题,它更多强调的是一种风格,需要自己总结出最佳实践;2.微服务与SOA之间并不是差了一个ESB,这只是从内部服务间的通信商考虑问题,没有从扩展性、容错性、持续部署等维度考虑,更何况微服务架构下,APIGateway或ServiceBroker机制同样不可或缺;3.有些人认为微服务应该是按照某一种原则来拆分,比如代码量、业务、资源、团队,其实都对,但却又不能以一概全;4.微服务架构不只是某一个部门的事情,它的推动与演进过程中不可忽略各部门、不同角色的需求输入与能力支撑,需要有良好的协作机制和积极有效的反馈与驱动。
  
图片描述
普元的核心概念模型  
  在实际的实践过程中,普元参考了很多规范和技术架构,比如CloudNative 12原则,还有Netflix的开源项目Hystrix、Zuul、Genie、Security Monkey、Feign、Governator、Msl、Karyon等。
  在演讲中,顾伟从六个维度分享了团队的经验,包括在开发测试方面开发架构是怎样的,如何做文档与Mock的支撑;在环境管理方面,如何进行异构平台的多环境管理,以及VM与容器的一体化;在监控层面与安全层面,如何发现故障并快速定位,如何做出安全决策;在微服务中非常重要的持续发布方面,如何做灰度发布、熔断、降级、rolling update等;在集成方面如何做统一配置管理等。详细技术分享请观看视频,并下载演讲PPT。
  严伟:Kubernetes的解析(点击下载演讲PPT
  Kubernetes为我们传递了一个理念,即底层基础设施越简单,上层业务的实现也会相应更加简单。严伟分享了Kubernetes的一些特性,并根据普元团队在使用Kubernetes过程中实际遇到的一些问题,提出了一些解决方法。
  在之后的分享中,严伟从Kubernetes Master节点和Worker节点的类型、关键组件(Pod、Replication Controller、Service、Labels)角度详细介绍了Kubernetes架构,还介绍了两种Kubernetes提供的两种服务发现Service的方式和两种暴露Service到外部网络的方式等。详细技术分享请观看视频,并下载演讲PPT。
  现场沙龙圆桌环节
  参与圆桌环节的嘉宾除了前两位演讲人,还有轻元科技首席架构师王昕。在谈及微服务如何与DevOps结合设计时,顾伟表示,在做平台的设计时,微服务给DevOps一个很好的方式,就是一定要把你的平台原子化、拆分,这样才能让平台与企业更好地对接。而不是为了适应企业的需求把平台做二次开发。
  
图片描述  
  轻元科技基于OpenStack和Kubernetes做了一个IaaS、PaaS层的私有云平台。王昕表示,在容器技术兴起之前就已经有了微服务和DevOps的概念,但是在那时企业很难实现微服务化和DevOps,因为在当时的技术环境下,进行模块化的资源成本很高。现在在做部署时遇到的最大问题是,企业过去的业务是没有做拆分的。另外一个问题是,不同的企业和容器技术领先的企业对微服务的理解和包装模式是有差异的,比如Kubernetes里的Pod的概念是多容器的。在企业方面,如何做后台进程管理,将多个进程放在一个容器中,如何在一个Pod中有多容器协作。这些都是在实际设计过程中需要考虑的。
  在圆桌环节中,几位嘉宾还针对公有云与私有云建设思路的异同、Kubernetes对云原生应用到支持等问题进行了讨论,并与现场听众围绕Kubernetes的应用和微服务架构设计问题进行了深入交流。
  了解更多微服务架构及容器技术干货,请关注普元专区

图片描述
扫描群主二维码,回复“0707”,加入普元研发开放群,与讲师交流。