为了给您提供更优质的服务,请您先完善以下信息:
确认提交

扫码关注

爱数技术支持中心公众号

请选择:

请选择咨询类型

AnyShare
AnyBackUp
AnyRobot

扫码关注

爱数技术支持中心公众号

contact us

提交成功!

我们将在 24 小时之内联系你。

性能爆表
AnyShare
如何购买
我已是Anyshare 客户
AnyRobot
如何购买
购买 AnyRobot 订阅服务
我已是 AnyRobot 客户
一对一在线咨询
我是 AnyRobot 新客户
一对一在线咨询

爱数博客

全部 AnyBackup AnyShare AnyRobot AnyDATA AnyFabric

云原生,你了解多少?

2020-09-21 3080 0

一、业界对于云原生的定义

总结下来,业界对于云原生涉及的范围大致会定义在 4 个方面:

  1. 方法论和设计原则
    • 12 factor +3
    • 微服务架构模式
    • 声明式 API
    • 不可变基础设施
  2. 技术和架构
    • 微服务架构
    • 服务网格
    • Serverless
    • 容器和容器编排
  3. 流程规范
    • DevOps
    • CI/CD
  4. 基础设施和工具
    • 云服务:如RDS、S3
    • 以容器技术为基础的云原生基础设施
    • Kubernetes、Docker、Helm
    • Etcd
    • OPA、Hydra
    • Prometheus
    • Istio

下面看看一些具有代表性的公司和组织对于「云原生」相关的定义。


Gartner

18 February 2020,《Hype Cycle for Cloud Computing, 2019》

如果某事物是为利用云特征而创建的,则它被认为是云原生的。

这些云特征是云计算最初定义的一部分,并且包括作为服务交付的功能,这些功能具有可伸缩性和弹性,通过使用进行计量,基于服务,在互联网技术中无处不在并共享。

术语“云原生”主要用作形容词。 例如,您可以拥有云原生架构,基础架构,应用程序或操作。

 

整理定义并明确目标是利用云原生的关键。普遍使用三种相互矛盾的定义:

  1. 第一含义是最常见的。 基本上,将云原生解释为原生使用云平台功能。 因此,例如它可以是平台即服务,可用性区域或无服务器。 因此,如果您使用的是 Amazon,那么您将使用 AWS 的本机功能,例如RDS,Lambda 和 Beanstalk。
  2. 第二个含义是关注特定技术,例如容器和Kubernetes。 这由名为 Cloud Native Computing Foundation(CNCF)的组织推动,该组织推广了这些技术。
  3. 第三种含义是本质上具有架构意义的含义。 其中一个来源是 GTP 的 LIFESPAR 缩写。 另一个示例是 12因子应用程序。 这种方法在那些非常了解架构方法的人中很流行,但绝不是该术语的最常见用法。


二、云原生技术解决的问题

云原生架构解决应用的核心技术问题是:可移植性、可扩展性、可靠性和可维护性(易用性)。

云原生让云计算标准化、降低大规模自动化运维门槛:

  • 通过「容器」技术标准化应用分发和应用交付,解耦应用与底层运行环境
  • 通过「Kubernetes」标准化资源调度和资源编排,屏蔽底层架构差异
  • 通过「微服务架构」标准化应用架构抽象,解耦业务与技术
  • 通过「服务网格」标准化服务通信和服务治理

 
  • 为了解决单体架构应对业务的「复杂度问题」,使用微服务架构,标准化应用架构抽象、解耦业务与技术。
  • 为了解决微服务间「通讯管理和异常处理问题」,使用服务治理框架 + 日志、监控、链路跟踪。
  • 为了解决微服务架构下大量应用「部署问题」,使用容器,标准化应用分发与交付、解耦微服务与底层运行环境。
  • 为了解决容器的「编排和调度问题」,使用 Kubernetes,标准化资源调度与编排、屏蔽底层架构差异。
  • 为了解决微服务框架的「侵入性问题」,使用 Service Mesh,标准化服务通信与治理。
  • 为了让 Service Mesh 有「更好的底层支撑」,将 Service Mesh 运行在 k8s 上。
  • 为了解决应用「持续交付问题」,引入了 Devops。


三、云原生的价值

面向产品和研发:

  1. 降低开发复杂度:架构能力由基础设施提供,包括可移植性、可扩展性、可靠性、安全性、可维护性等,基础能力开箱即用,研发团队在研发过程中能够更专注于业务
  2. 降低研发依赖:通过微服务架构降低微服务间开发依赖;通过微服务治理的基础设施降低微服务开发与部署 (运维) 间依赖
  3. 提升问题处理效率:容器化部署保证环境一致,标准化应用的分发与交付,能够在一定程度规避环境问题对于排错的影响;链路跟踪、指标监控、日志分析等技术提升系统可观测性,使得更容易全面分析和定位系统问题

 

面向客户  (云服务的价值):

  1. 降低拥有成本,更快地实现价值:客户能够按需采购,以及快速地、平滑地进行业务能力扩展
  2. 降低风险:服务无故障、用户业务不中断,客户无需担心和关注服务的可靠性以及考虑相关的故障应对
  3. 易维护:客户/用户无需关注服务的维护,可以专注在服务使用和业务价值实现

四、AnyShare Family 7 云原生架构

AnyShare Family 7 云原生业务架构
 

1. 所有的服务将对于其他服务的访问信息,通过配置文件,配置化;部署阶段由部署子系统根据环境进行配置

2. 基于原有的主机 Nginx 来实现对外的连通性

3. 基于容器的服务基于 Proton 负载均衡来实现容器之间的连通性

4. 通过 Nginx 来代理 Proton 负载均衡服务暴露的地址与基于主机的应用服务暴露的地址

   1)基于主机的应用服务之间基于 Nginx 来实现连通性

   2)基于主机的应用服务与基于容器的应用服务之间基于 Nginx 来实现连通性


服务模块化架构

       • 每个模块独立部署
       • 部署控制台负责通过整个Proton Runtime 云原生架构来进行资源分配
       • Proton Runtime 云原生可以指定资源对每个模块进行部署
       • Proton Runtime 云原生提供高可靠的高可用服务。
       • 应用层通过Proton容器服务扩展软件层。
• 扩展方式: 容器根据配置创建对应硬件资源的服务,能提高硬件资源最大利用率。
• 基础应用层,每个数据存储的服务对硬件的利用率不同,对应资源池不足,只需要扩展对应的资源池。

请就本文对您的益处进行评级:

标签

产品技术

相关文章

热门标签

版本发布 在线教学
ai-assistant
chat
support
trial
需求助手 (内容由 AI 大模型生成,请仔细甄别)