技术小百科 | 云原生篇

2020 年,突如其来的疫情让很多人措手不及,居家隔离、远程办公成为标配。此时,在云上逍遥度日的云原生出现了,它像穿梭在社区的大白一样勤劳,为在现实世界沟通受到限制的企业和个人提供了桥梁。

销售无法线下约见客户?开启线上会议; 线下活动办不了?线上峰会了解一下; 项目需要动态跟进,实时对接?在线协同工具走起…

这些服务的背后需要依靠强大的云计算基础设施,这个基础设施就像水电一样,存在于我们生活的方方面面,存在于科技、制造业、金融、游戏等各个行业,即需即用。

云原生可分解为“云”(Cloud)和“原生”(Native)两个英文单词。本质上,云原生与云计算(Cloud Computing)是相同的计算方式。也就是说,当我们提到云原生时,实际上就是在说云原生计算(Cloud Native Computing)。

本文,将从 What(定义讲解)、Factors(组成因素)、Advantages(独具优势)和 Future trends(未来趋势)四个方面介绍云原生技术的应用。

01

What(定义讲解)

云原生(CloudNative)是一种构建和运行应用程序的方法,是一套技术体系和方法论。CloudNative 是一个组合词,Cloud+Native。

Cloud 表示应用程序位于云中,而不是传统的数据中心;Native 表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。

通过云原生技术构建的应用程序可以被运行在不同的环境中,比如私有云、公有云、混合云、多云等场景。

说到云原生,就不得不介绍一下在云原生领域极为重要的一个组织:云原生计算基金会(Cloud Native Computing Foundation, CNCF)。

CNCF 是一个非营利性组织,于 2015 年 12 月 11 日成立,由谷歌与 Linux 基金会联合创办,其初衷为推广、孵化、标准化云原生相关技术,推动云原生计算可持续发展,帮助云原生技术开发人员快速构建出色的产品。

CNCF 成立之初只有 10 多家创始成员,包含谷歌、IBM、Red Hat 等。经过近几年发展,目前成员数已超过 300,组成成员涵盖国内外知名 IT 厂商。

Authing 作为国内唯一的云原生 IDaaS 项目,被「CNCF Landscape」(网页地址:https://landscape.cncf.io/),收录在 Key Management 中。

根据 CNCF 的定义,云原生技术使组织能够在现代动态环境(如公共云、私有云和混合云)中构建和运行可扩展的应用程序。容器、服务网格、微服务、不可变基础结构和声明性 API 就是这种方法的例证。

这些技术可实现具有弹性、可管理和可观察性的松散耦合系统。结合强大的自动化功能,它们使工程师能够以最少的工作量频繁且可预测地进行高影响的更改。

符合云原生架构的应用程序是:采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps 支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。

简言之,云原生就是以容器化为基石,以容器调度与编排作为基础能力,以 DevOps 和 CI/CD 为应用场景,帮助开发人员在任何类型的云(私有云、公共云或混合云)中构建和运行可扩展的应用程序。所有在云上提供的服务,都是云原生。

02

Factors(组成因素)

云原生技术是基于 DCMC:DevOps;Container 容器技术;Microservices 微服务;CI/CD 持续交付的技术架构体系来构建、部署与运维应用,降本上云——给企业吹口“仙气儿”。

DevOps:这是个组合词,Dev+Ops,就是开发和运维合体,不像开发和产品,经常刀刃相见,实际上 DevOps 应该还包括测试,DevOps 是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付能力。

容器化(Container):Docker 是应用最为广泛的容器引擎,在思科、谷歌和 IBM 等公司的基础设施中大量使用,基于 LXC 技术,容器化为微服务提供实施保障,起到应用隔离作用。K8S 是容器编排系统,用于容器管理,容器间的负载均衡。

容器为云原生应用程序增加了更多优势。使用容器,您可以将微服务及其所需的所有配置、依赖关系和环境变量移动到全新的服务器节点上,而无需重新配置环境,这样就实现了强大的可移植性。

微服务(Microservices):微服务倡导运用化整为零,将应用拆分成多个核心功能,每个功能都被称为一项服务,从而实现各个功能的独立开发与部署,各项服务在工作或出现故障时不会相互影响,提升了应用架构的灵活性以及对业务的响应速度。

组织架构决定产品形态,微服务是按照康威定律的理论来切分服务的。根据功能进行切分之后,服务解耦,内聚更强,变更更易。在提倡敏捷的今天,微服务已经成为应用架构的一种默认的选择。

持续交付(CI/CD):持续交付是不误时开发,不停机更新,小步快跑,反传统瀑布式开发模型,这要求开发版本和稳定版本并存,需要很多流程和工具支撑。

03

Advantages(独具优势)

Forrester 云原生报告指出,云原生是企业数字化转型的基础,是企业数字化平台的基石。在实现基础架构、应用架构升级和重构时,企业需要建立云原生优先(Cloud Native First)的战略,构建一体化全栈云原生平台,加速企业现代化进程。

云原生是一种应用“为云而生”的理念,即整个应用需从架构设计、开发方式、部署维护等各阶段、各方面都基于“云”的特点重新设计,从而充分利用和发挥云平台“弹性+分布式”的优势,获得最佳的运行效果,真正“长”在云上。通过对上述四大核心组成因素的拆解,可以从中归纳出云原生技术的四点优势:

快速迭代

利用云原生应用程序开发,多种技术、多种方案相互融合,为项目交付提供自动化和编排的快速迭代方案。

自动部署

云原生的方法对于传统的方法而言,直击代码质量低下、发布流程繁琐的痛点,通过其具备的自动化和组合功能,针对编译、测试、部署等过程建立良好流程基础,快速交付。

独立高效

云原生带来的微服务化框架,打破了传统的开发模式,对于一个应用来说,一个微服务就是一个可独立发布的应用;对于一个团队来说,为各个部门,不同岗位提供更多协同与沟通上的的思路。

无停机时间

借助 Kubernetes 等容器编排器,在基本上零停机时间的情况下实现部署软件更新。

04

Future trends(未来趋势)

Gartner 数据显示,未来云计算市场规模将保持每年 20% 以上速度增长,预计到 2025 年,将有 80% 的企业会关掉自己的传统数据中心,转向云平台,而这个数据在 2020 年,仅为 10%。

根据 Canalys 发布的《2021 年中国云计算市场报告》显示,中国的云基础设施市场规模已达 274 亿美元,整体同比增长 45%,预计将在 2026 年达到 847 亿美元。

比如,过往员工入转调离需要人力手工录入、进行权限管理。使用了云原生技术后,企业可以用自动化的账号生命周期管理代替手动式账号管理,人员入职-创建账号-选择部门-授权应用-授权角色-停用-离职-归档-删除,实现自动化生命周期管理。

Authing 身份云的云原生基础设施包含云上环境部署和云上 DevOps 两个方面,在云上采用多云混合架构,以中立云服务的模式部署在多云之间,合理规划不同云组件之间的联系。

作为云原生基础设施的一份子,Authing 坚持云中立概念,深化多云平台的资源组整合,在利用云原生技术能力的同时,不断探寻服务能力边界。作为国内唯一云原生的身份服务提供商,Authing 在技术侧强势领先。同时支持公共云、混合云和私有云部署,采用 Kubernetes 容器化技术,支持分钟级别弹性扩容,最大可支持亿级别用户认证访问场景。Authing 在 IAM 的基础之上结合云计算的能力,构建了全新的 IDaaS 解决方案。

经验分享 程序员 微信小程序 职场和发展