5

聊聊什么是云原生?

 4 years ago
source link: http://cloud.51cto.com/art/202102/644802.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

IJFFRj3.jpg!mobile

> 一千个读者眼里有一千个哈姆雷特,本号近半年零零散散写了一些云原生、Devops的文章, 最近系统阅读微软Docs, 今天开始结合自己的实践专题意译[云原生]。

近几年,云原生成为了软件行业的驱动力。

这是一种构建大型复杂系统的新方式,也是一种充分利用现代软件开发实践、技术和云基础架构的方法,这个方法改变了设计、实施、部署、系统运作的方式。

云原生系统被设计为拥抱快速变化、大规模和弹性。

云原生基金会提供的官方定义:

云原生技术能够让团队在现代、动态环境(如公共、私有和混合云)中构建和运行可伸缩的应用程序,容器、服务网格、微服务、不可变基础设施和声明性api实现了这个方法。

这些技术使松散耦合的系统具备弹性伸缩能力、可管理性和可观测性。结合健壮的自动化技术,使得工程师可以最小的工作量进行频繁且可预测的迭代部署。

用户的需求越来越多,应用程序也变得越来越复杂。用户期望需求可以得到快速响应、增加创新性功能和零停机时间。

云原生是关于速度和敏捷性的,可以让业务系统从“启用业务功能”演变为“能够加速业务速度和增长”的战略转型武器。

这是一些实施了这些技术的公司。考虑一下他们已经实现的速度、敏捷性和可伸缩性。

公司 生产实践 Netflix 在生产中提供600多种服务。每天部署一百次。 Uber 在生产中有1,000多种服务。每周部署数千次。 微信 拥有3,000多种生产服务。每天部署1,000次

如您所见,Netflix,Uber和微信公开了由数百个独立微服务组成的系统。这种架构风格使他们能够快速响应市场状况。他们可以做到实时更新复杂应用程序中的部分区域,并根据需要分别缩放这些区域。

云原生的速度和敏捷性来自多种因素。

首先是云基础设施,下图显示的另外五个基础支柱也为云原生系统提供了支撑。

MnayMv6.jpg!mobile

云基础设施

云原生系统充分利用了云服务模型。

云原生系统旨在在动态、虚拟化云环境中蓬勃发展,广泛使用平台即服务(PaaS)计算设施和托管服务。

他们将基础设施视为一次性的:只需几分钟即可配置,并通过自动化按需调整大小、缩放、移动或销毁。

Devops中被广泛认可的概念“宠物与牲畜”:

iAjeie6.jpg!mobile

宠物服务模型

在宠物服务模型中,服务实例被当作宠物,每个宠物都有一个独特的名字,例如宙斯、波塞冬和雅典娜。他们“独特,并得到刻意的关注,当他们生病时,你会让他们恢复健康”。你可以通过增大它们的体型来扩大规模,当有宠物生病时,每个人都会关注到。

宠物服务器的示例包括大型机,单独的服务器,负载平衡器和防火墙,数据库系统等。

牲畜服务模型

牲畜服务模型将每个服务实例配置为虚拟机或容器,它们是相同的,并分配了系统编号,例如Service-01,Service-02等。你可以通过创建更多"扩展实例"来扩展,当某一个不可用时,不会有人关注到。

牲畜模型的例子包括Web服务器阵列,nosql集群,消息队列集群,搜索集群,缓存反向代理集群,大数据集群等。

牲畜模型信奉“不可变基础设施”:服务器在部署后永远不会被修改,如果需要更新,修复或修改某些内容,则会根据包含相应更改的镜像构建新服务器以替换旧服务器。经过验证后,它们就会投入使用,而旧的则会退役。

云原生系统采用牲畜服务模型。随着基础设施伸缩而持续运行,与它们所运行的计算机无关。

Ref

https://joachim8675309.medium.com/devops-concepts-pets-vs-cattle-2380b5aab313

https://docs.microsoft.com/en-us/dotnet/architecture/cloud-native/definition

这是一个专题,后面会意译出云原生其他五大支柱: 现代设计理念、微服务、容器化、 支撑性服务、自动化,请持续关注。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK