云原生时代的微服务

序言

4月24日,中国信息通信研究院主办的首届云原生产业大会在北京举行,在《云原生数字引领未来》的主题演讲中,阿里云容器服务总监易立表示:“云原生不但可以很好的支持互联网应用,也在深刻影响着新的计算架构、新的智能数据应用。以容器、服务网格、微服务、Serverless为代表的云原生技术,带来一种全新的方式来构建应用。”本段内容根据易立演讲内容整理而成。

一 云原生技术的优势

CNCF给出了云原生应用的三大特征:

  • 容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。在容器中运行应用程序和进程,并作为应用程序部署的独立单元,实现高水平资源隔离。

  • 动态管理:通过集中式的编排调度系统来动态的管理和调度。

  • 面向微服务:明确服务间的依赖,互相解耦。

云原生包含了一组应用的模式,用于帮助企业快速,持续,可靠,规模化地交付业务软件。云原生由微服务架构,DevOps 和以容器为代表的敏捷基础架构组成。

这边引用网上关于云原生所需要的能力和特征总结,如下图:

从云原生的三大特征和图中我们可以清晰的了解到:云原生技术中,微服务和云容器结合将会使项目的部署和运维变得更方便、简捷。

二 云原生与微服务的结合

传统的Web开发方式,一般被称为单体架构(Monolithic)所有的功能打包在一个WAR包里,基本没有外部依赖(除了容器),部署在一个JEE容器(Tomcat,JBoss,WebLogic)里,包含了DO/DAO,Service,UI等所有逻辑。其架构如下图所示:

而微服务架构是以开发一组小型服务的方式来开发一个独立的应用系统的。其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源API这样轻量的机制来相互通信。这些服务围绕业务功能进行构建,并能通过全自动的部署机制来进行独立部署。这些微服务可以使用不同的语言来编写,并且可以使用不同的数据存储技术。在微服务推广实践角度来看,微服务将整个系统进行拆分,拆分成更小的粒度,保持这些服务独立运行,而应用容器化技术将微服务独立运行在容器中,将可以对这些服务进行集中管理。

容器化的出现,一定程度上带动了微服务架构。架构演化从单体式应用到分布式,再从分布式架构到云原生架构,微服务在其中有着不可或缺的角色。微服务带给我们很多开发和部署上的灵活性和技术多样性,但是也增加了服务调用的开销、分布式系事务、调试与服务治理方面的难题。

所以Spring Cloud就是为了解决JVM中的微服务架构遇到的难题,其在JVM中非常强大。

从上图Spring Cloud组件的架构可以看出在微服务架构中所必须的组件,包括:服务发现与注册、熔断机制、路由、全局锁、中心配置管理、控制总线、决策竞选、分布式会话和集群状态管理等基础组件。

但Spring Cloud对于管理方面却有所欠缺,所以我们接下来介绍一下云容器。

三 云容器必不可少

1、云容器引擎的优势

云容器引擎是基于业界主流的Docker和Kubernetes开源技术构建的容器服务,提供众多契合企业大规模容器集群场景的功能,在系统可靠性、高性能、开源社区兼容性等多个方面具有独特的优势,满足企业在构建容器云方面的各种需求。

它简单易用、高性能、高可靠、开放兼容的特点也为其吸引了大量的忠实粉丝。借助云容器引擎,您可以轻松部署、管理和扩展容器化应用程序。

2、云容器引擎对比自建Kubernetes集群

3、Spring Cloud VS Kubernetes

Spring Cloud和Kubernetes有很大的不同,Spring Cloud和Kubernetes处理了不同范围的微服务架构技术点,而且是用了不同的方法。Spring Cloud方法是试图解决在JVM中的微服务架构要点,而Kubernetes方法是试图让问题消失,为开发者在平台层解决。Spring Cloud在JVM中非常强大,Kubernetes管理那些JVM很强大。看起来各取所长,充分利用这两者的优势是自然而然的趋势了。

4、基于Kubernetes的Serverless容器服务

  • 10月11日,在2018华为全联接大会上,华为云正式商用发布全球首款基于Kubernetes的Serverless容器服务——CCI(Cloud Container Instance)。

  • 华为云是全球首批Kubernetes认证服务提供商(Kubernetes Certified Service Provider,KCSP),是国内最早投入Kubernetes社区的厂商,是容器开源社区主要贡献者和容器生态领导者。

  • 华为云也是CNCF云原生计算基金会的创始成员及白金会员,云容器引擎是全球首批通过CNCF基金会Kubernetes一致性认证的容器服务。

华为云容器实例服务(CCI),是业界首个商用的基于Kubernetes编排引擎的Serverless容器服务,能提供面向通用场景的CPU容器实例和面向AI计算场景的AI容器实例,同时在运维效率、计算性能、计算成本、产品成熟度和开放性上具备领先优势。

华为云容器在大规模客户请求的场景下,支持容器实例秒级弹性伸缩,充分保障业务快速响应客户请求。并且全面支持华为Ascend(昇腾)系列AI芯片和GPU芯片,在NUMA架构裸金属、IB高速网络、RoCE等硬件联合加速下,AI计算性能可提升3~5倍以上。按需按秒计费,随启随用。同时支持多种计价模型,用户可以根据业务场景自主选择最优的计价模式,以最低的成本完成企业IT诉求。

华为云容器服务支持Tensorflow、Caffe等主流深度学习框架,并在华为云EI的深度学习、推理平台、人脸/图像/文字识别等多个服务得到广泛应用与验证。并全面支持Kubernetes的原生接口和通用Docker镜像格式,与Kubernetes和Docker开源生态无缝对接,可以实现业务一键式上云,降低业务云化门槛。

更关键的是,华为云容器全面支持华为在全联接大会上最新发布Ascend昇腾系列910、310AI芯片,可提供充裕且经济的AI计算能力,真正实现普惠AI,让各行各业都能用得起,用得好,用得放心!”

5、体验云容器

这下我们就来体验一下华为云容器,看看它到底多么优秀!

1、首先我们来到云容器后台管理主界面:

如图所示,管理界面包含了挺多功能,像工作负载、配置中心、镜像仓库等等;有木有一种在此处你就能一统三军的感觉。

2、镜像仓库制作简单

3、管他那么多,先部署一个项目上去再说。

我就勉勉强强的把自己的博客项目部署了上去。效果还不错。

4、后期运维便捷

四 写在最后

其实可以这么说:“云原生时代,是新的时代,是一次互联网技术的革命”。

云原生不但可以很好的支持互联网应用,也在深刻影响着新的计算架构、新的智能数据应用。以容器、服务网格、微服务、Serverless为代表的云原生技术,带来一种全新的方式来构建应用。
并且,云原生也在拓展云计算的边界,一方面是多云、混合云推动无边界云计算,一方面云边端的协同。云原生时代,也是云厂商更好发挥作用、为客户提供更多价值的时代。云厂商需要帮助用户最大化利用“云”的能力,最大化发挥“云”的价值,成就企业创造商业价值。华为云在这方面做的就很不错,并且华为推出的云服务产品主要针对国内市场,最终目标是成为未来云服务全球最主要的供应商之一。

HDC.Cloud 华为开发者大会2020 即将于2020年2月11日-12日在深圳举办,是一线开发者学习实践鲲鹏通用计算、昇腾AI计算、数据库、区块链、云原生、5G等ICT开放能力的最佳舞台。

欢迎报名参会https://www.huaweicloud.com/HDC.Cloud.html?utm_source=&utm_medium=&utm_campaign=&utm_content=techcommunity

posted @ 2020-01-22 20:07  华为云官方博客  阅读(2056)  评论(0编辑  收藏  举报