聊聊什么是云原生?

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

[[380736]]

本文转载自微信公众号「全栈码农画像」,作者小码甲。转载本文请联系全栈码农画像公众号。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

云基础设施

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

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

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

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

宠物服务模型

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

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

牲畜服务模型

牲畜服务模型将每个服务实例配置为虚拟机或容器,它们是相同的,并分配了系统编号,例如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

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

 

责任编辑:武晓燕 来源: 全栈码农画像
相关推荐

2022-05-23 11:03:53

云原生技术DockerIstio

2022-04-25 12:39:57

云原生云计算

2024-03-19 08:15:09

云原生云计算容器

2022-12-14 16:44:24

云原生公共云开发

2023-05-15 07:33:06

云原生自身业务云厂商

2023-01-26 00:18:53

云原生数据库云资源

2022-07-31 20:00:59

云原生云计算

2022-02-07 22:55:13

云原生数据库技术

2022-06-22 09:24:30

云原生Go 语言

2021-06-23 10:58:07

云计算云原生阿里云

2019-08-27 16:48:07

云原生云计算微服务

2015-08-17 10:26:02

云计算云应用程序十二要素

2017-08-14 16:14:57

云原生容器云平台

2022-10-24 20:25:40

云原生SpringJava

2021-07-20 08:03:43

微服务应用程序

2020-06-17 07:40:26

监控系统zabbix

2021-07-26 05:10:13

JavaJakarta EEJSR

2022-04-06 10:40:32

云原生容器微服务

2022-03-18 10:43:12

WebSocketHTML5TCP 连接

2019-09-26 18:30:03

点赞
收藏

51CTO技术栈公众号