From 63cc45c3f09db46ee5eec66c15bbcd2fdb433f58 Mon Sep 17 00:00:00 2001 From: Andong LIAO Date: Mon, 16 May 2022 23:12:03 +0800 Subject: [PATCH 01/81] [zh] Localize 'api_gateway' (#893) * [zh] Localize 'api_gateway' fix #850 * [zh] remove english description * [zh] move the hyperlink to the right place, add spacing --- content/zh-cn/api_gateway.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 content/zh-cn/api_gateway.md diff --git a/content/zh-cn/api_gateway.md b/content/zh-cn/api_gateway.md new file mode 100644 index 0000000000..b854762760 --- /dev/null +++ b/content/zh-cn/api_gateway.md @@ -0,0 +1,20 @@ +--- +title: API 网关 +status: Completed +category: 技术 +--- + + +## 是什么 + +API 网关是一种通过聚合多个应用程序的 [API](/application_programming_interface/),并实现一站式管理的工具。它允许组织将关键性功能移交到一个可集中管理的地方,例如身份验证和授权、限制应用程序之间的请求数量。一个 API 网关则作为一个公共的接口,向 API 消费者(通常来自外部)提供服务。 + +## 解决的问题 + +当你的应用需要为外部消费者提供 API 时,你通常需要一个统一的入口来管理和控制所有的访问。此外,如果你需要对这些交互添加某种功能,也可以在不更改任何应用代码的情况下为所有的流量实现新功能。 + +## 如何帮助 + +通过为多个 API 提供一个统一的访问入口,API 网关能够让组织更容易地将交叉性业务或安全性逻辑移交到一个可集中管理的地方。应用的消费端也只需要访问单个地址就可以满足其所有需求。 + +通过为系统中的所有 web 服务提供统一的访问入口,API 网关还可以简化诸如安全性和[可观测性](/observability/)之类的运维问题。由于所有请求都流经 API 网关,因此它可以中心化的为这些请求添加诸如指标收集、速率限制和授权等功能。 From 703651f961b735168109d3b3c711a5faa7677a42 Mon Sep 17 00:00:00 2001 From: Andong LIAO Date: Tue, 17 May 2022 20:30:43 +0800 Subject: [PATCH 02/81] [zh] optimize the description on home page (#896) * [zh] optimize the description on home page * Update content/zh-cn/_index.md Co-authored-by: Brian Yan <18373181742@163.com> Co-authored-by: Brian Yan <18373181742@163.com> --- content/zh-cn/_index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/zh-cn/_index.md b/content/zh-cn/_index.md index 1b4546952a..b9240db8db 100644 --- a/content/zh-cn/_index.md +++ b/content/zh-cn/_index.md @@ -5,15 +5,15 @@ title: "云原生词汇表" # 云原生词汇表 -云原生词汇表是由 CNCF 商业价值小组委员会 (BVS, Business Value Subcommittee) 领导的一个项目。该项目目的是在不需要先验技术知识的情况下,以清晰通俗的语言解释云原生概念。 +云原生词汇表是由 CNCF 商业价值小组委员会 (BVS, Business Value Subcommittee) 领导的一个项目。该项目的目的是在不需要任何先决技术知识的情况下,以通俗易懂的语言阐释云原生概念。

A woman and two men presenting technical info on a stage

## 社区贡献 -对本机词汇表的更改、添加和改进对所有人开放。我们使用由 CNCF 管理的社区驱动流程来开发和完善这个共享词典。该词汇表提供了一个厂商中立的平台,用于管理云原生技术的共享词汇表。欢迎所有参与者根据本项目的目的和章程作出贡献。 +我们欢迎所有人对本词汇表提出修改、添加和改进建议。我们采用了 CNCF 所管理的社区驱动流程来开发和改进这个共享词典。该词汇表提供了一个厂商中立的平台,用于管理云原生技术的共享词汇表。欢迎所有参与者在遵守本项目的目的和章程的前提下作出贡献。 -任何想要贡献的人都可以提交 GitHub issue 或 创建 PR。欲了解更多信息,请查看 [如何贡献](/zh-cn/contribute/) 和遵循 [样式指南](/zh-cn/style-guide/),并加入 CNCF Slack 中的 #glossary 频道。这里有 #glossary-localizations 频道,供想要将 glossary 翻译成母语的人使用。 +任何想要贡献的人都可以提交 GitHub issue 或 创建 PR。欲了解更多信息,请查看 [如何贡献](/zh-cn/contribute/) 和遵循 [样式指南](/zh-cn/style-guide/),并加入 CNCF Slack 中的 #glossary 频道。这里还有 #glossary-localizations 频道,供想要将 glossary 翻译成母语的人使用。 ## 致谢 From 9af43904b46e1185cc699c945a9d8618ba064938 Mon Sep 17 00:00:00 2001 From: Andong LIAO Date: Wed, 18 May 2022 12:55:35 +0800 Subject: [PATCH 03/81] [zh] Localize 'infrastructure_as_a_service' (#898) * [zh] Localize 'infrastructure_as_a_service' * [zh] refer to existing zh terms in iaas --- content/zh-cn/infrastructure_as_a_service.md | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 content/zh-cn/infrastructure_as_a_service.md diff --git a/content/zh-cn/infrastructure_as_a_service.md b/content/zh-cn/infrastructure_as_a_service.md new file mode 100644 index 0000000000..11ba2fcdd0 --- /dev/null +++ b/content/zh-cn/infrastructure_as_a_service.md @@ -0,0 +1,21 @@ +--- +title: 基础设施即代码 (IaaS) +status: Completed +category: 技术 +--- + +## 是什么 + +基础设施即代码,或者 IaaS ,是一种 [云计算](/zh-cn/cloud_computing/) 服务模型,它提供 [物理](/bare_metal_machine/) 或 [虚拟](/zh-cn/virtualization/) 的计算、存储和网络资源,使用按需按量的计费模式。云提供商拥有和管理软件和硬件设施,可供消费者在公共、私有或混合云部署和使用。 + +## 解决的问题 + +在搭建传统的本地设施时,组织常常受困于如何保证资源的有效利用。数据中心建立时必须考虑潜在的高峰需求,即使这样的需求只占1%的使用时间。而在低需求期间,这些计算资源是空闲的。 + +而且,如果工作负载超过预期需求,处理工作负载的计算资源则会出现短缺。这种缺乏可伸缩性的使用方式,将导致成本增加和资源使用率降低。 + +## 如何帮助 + +通过 IaaS ,组织可以避免为其应用程序购买和维护计算和数据中心资源。按需使用的基础设施允许他们根据需要租用计算资源,并推迟大型资本支出,或 [CAPEX](https://en.wikipedia.org/wiki/Capital_expenditure) ,同时给予他们扩大或缩小规模的灵活性。 + +IaaS 降低了试验或尝试新应用程序的初期成本,并提供了快速部署基础设施的工具。云提供商是开发或测试环境的绝佳选择,它可以帮助开发人员低成本的进行试验和创新。 From 995d2cfba2b3eece4849bdfcde76984e30e837b6 Mon Sep 17 00:00:00 2001 From: Jiangyu Wang Date: Wed, 18 May 2022 14:16:40 +0800 Subject: [PATCH 04/81] Create horizontal_scaling.md --- content/zh-cn/horizontal_scaling.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 content/zh-cn/horizontal_scaling.md diff --git a/content/zh-cn/horizontal_scaling.md b/content/zh-cn/horizontal_scaling.md new file mode 100644 index 0000000000..aa4aeb4dea --- /dev/null +++ b/content/zh-cn/horizontal_scaling.md @@ -0,0 +1,23 @@ +--- +title: 水平伸缩 +status: Completed +category: 概念 +--- + +## 是什么 + +水平伸缩是一种通过添加更多[节点](/nodes/)来增加系统容量的技术,而不是向单个节点添加更多计算资源(后者称为[垂直伸缩](/vertical_scaling/))。假设我们有一个 4GB RAM 的系统,并且想要将其容量增加到 16GB RAM,水平伸缩意味着通过添加 4 x 4GB RAM 而不是切换到 16GB RAM 系统来实现。 + +这种方法通过添加新实例或[节点](/nodes/)来提高应用程序的性能,以更好地均衡工作负载。简而言之,它旨在减少服务器的负载,而不是扩大单个服务器的容量。 + +## 解决的问题 + +随着对应用程序的需求增长超出该应用程序实例的当前容量,我们需要找到一种方法来[扩展](/scalability/)(增加容量)系统。我们可以向系统添加更多节点(水平伸缩)或向现有节点添加更多计算资源(垂直伸缩)。 + +## 如何帮助 + +水平伸缩允许应用程序在底层集群设置的范围内进行伸缩。通过向系统添加更多实例,应用程序可以处理更多请求。如果单个节点每秒可以处理 1,000 个请求,则每增加一个节点,每秒的请求总数应该会增加大约 1,000 个。这使得应用程序可同时执行更多工作,而无需特别增加任何单个节点的容量。 + +## 相关词汇 +* [垂直伸缩](/vertical_scaling/) +* [自动伸缩](/auto_scaling/) From 209617152857f01f8c783e983e1f97486a7666bb Mon Sep 17 00:00:00 2001 From: Jiangyu Wang Date: Wed, 18 May 2022 14:26:03 +0800 Subject: [PATCH 05/81] Create vertical_scaling.md --- content/zh-cn/vertical_scaling.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 content/zh-cn/vertical_scaling.md diff --git a/content/zh-cn/vertical_scaling.md b/content/zh-cn/vertical_scaling.md new file mode 100644 index 0000000000..57396e7810 --- /dev/null +++ b/content/zh-cn/vertical_scaling.md @@ -0,0 +1,21 @@ +--- +title: 垂直伸缩 +status: Completed +category: 概念 +--- + +## 是什么 + +垂直伸缩,也称为“向上和向下伸缩”,是一种通过在工作负载增加时向单个[节点](/nodes/)添加CPU和内存来增加系统容量的技术。假设您有一台 4GB RAM 的计算机,并且想要将其容量增加到 16GB RAM,垂直伸缩就意味着切换到 16GB RAM 系统。 (请参阅[水平伸缩](/horizontal_scaling/)了解不同的伸缩方法。) + +## 解决的问题 + +随着对应用程序的需求增长超出该应用程序实例的当前容量,我们需要找到一种方法来扩展(增加容量)系统。我们可以向现有节点添加更多计算资源(垂直伸缩)或向系统添加更多节点([水平伸缩](/horizontal_scaling/))。[可扩展性](/scalability/)有助于提高竞争力、效率、声誉和质量。 + +## 如何帮助 + +垂直伸缩允许您在不更改应用程序代码的情况下调整服务器大小。这与水平伸缩形成对比,在水平伸缩中,应用程序必须可以被复制来进行伸缩,而这可能需要代码更新。垂直伸缩通过添加计算资源来增加现有应用程序的容量,允许应用程序处理更多请求并同时执行更多工作。 + +## 相关词汇 +* [水平伸缩](/horizontal_scaling/) +* [自动伸缩](/auto_scaling/) From 8190345991ddeaa93538f1e5e08850bdafc0f61b Mon Sep 17 00:00:00 2001 From: Jiangyu Wang Date: Sun, 22 May 2022 11:36:52 +0800 Subject: [PATCH 06/81] Create chaos_engineering.md --- content/zh-cn/chaos_engineering.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/zh-cn/chaos_engineering.md diff --git a/content/zh-cn/chaos_engineering.md b/content/zh-cn/chaos_engineering.md new file mode 100644 index 0000000000..87c1ea2cdc --- /dev/null +++ b/content/zh-cn/chaos_engineering.md @@ -0,0 +1,17 @@ +--- +title: 混沌工程 +status: Completed +category: 概念 +--- + +## 是什么 + +混沌工程或 CE 是在生产中对 [分布式系统](/distributed_systems/) 进行实验的学科,以建立对系统承受动荡和意外情况时能力的信心。 + +## 解决的问题 + +[SRE](/site_reliability_engineering/) 和 [DevOps](/devops/) 实践侧重于提高产品弹性和 [可靠性](/reliability/) 的技术。系统在故障容灾时确保服务质量的能力通常是对软件开发提出的要求。这里涉及到几个方面可能导致应用程序中断,例如基础设施、平台或(基于[微服务](/microservices/))的应用程序的其他部分。高频地持续部署新功能到生产环境会增加服务中断和恶性事件发生的可能性,乃至于对业务产生重大影响。 + +## 如何帮助 + +混沌工程是一种满足弹性要求的技术。它用于实现对基础架构、平台和应用程序等意外发生时的故障容灾。混沌工程师使用混沌实验主动注入随机故障,以验证应用程序、基础架构或平台是否可以自我修复,并且故障不会对客户产生明显影响。混沌实验旨在发现盲点(例如监控或自动伸缩技术)并在恶性事件发生期间增强团队之间的沟通。这种方法有助于提高复杂系统的弹性和团队对其的信心,尤其是在生产环境。 From 2a8ba59cdd7d4a1cac85a09e9cb5bc6de531edd0 Mon Sep 17 00:00:00 2001 From: Jiangyu Wang Date: Mon, 23 May 2022 10:34:01 +0800 Subject: [PATCH 07/81] Update vertical_scaling.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 扩展 - > 伸缩 for scalability --- content/zh-cn/vertical_scaling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/vertical_scaling.md b/content/zh-cn/vertical_scaling.md index 57396e7810..c3ebfd2c04 100644 --- a/content/zh-cn/vertical_scaling.md +++ b/content/zh-cn/vertical_scaling.md @@ -10,7 +10,7 @@ category: 概念 ## 解决的问题 -随着对应用程序的需求增长超出该应用程序实例的当前容量,我们需要找到一种方法来扩展(增加容量)系统。我们可以向现有节点添加更多计算资源(垂直伸缩)或向系统添加更多节点([水平伸缩](/horizontal_scaling/))。[可扩展性](/scalability/)有助于提高竞争力、效率、声誉和质量。 +随着对应用程序的需求增长超出该应用程序实例的当前容量,我们需要找到一种方法来伸展(增加容量)系统。我们可以向现有节点添加更多计算资源(垂直伸缩)或向系统添加更多节点([水平伸缩](/horizontal_scaling/))。[可伸缩性](/scalability/)有助于提高竞争力、效率、声誉和质量。 ## 如何帮助 From 38f0b89d6b3c896066af8a17f65dc0dbe60f7688 Mon Sep 17 00:00:00 2001 From: Jiangyu Wang Date: Fri, 27 May 2022 01:14:16 +0800 Subject: [PATCH 08/81] [zh] Localize auto_scaling.md (#897) * Create auto_scaling.md * Update content/zh-cn/auto_scaling.md Co-authored-by: Brian Yan <18373181742@163.com> * unify expression * Update auto_scaling.md Co-authored-by: Brian Yan <18373181742@163.com> Co-authored-by: Jacob953 <710297349@qq.com> --- content/zh-cn/auto_scaling.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 content/zh-cn/auto_scaling.md diff --git a/content/zh-cn/auto_scaling.md b/content/zh-cn/auto_scaling.md new file mode 100644 index 0000000000..a1ffe68b28 --- /dev/null +++ b/content/zh-cn/auto_scaling.md @@ -0,0 +1,18 @@ +--- +title: 自动伸缩 +status: Completed +category: 属性 +--- + +自动伸缩,通常是指在计算资源方面,系统能够进行自动 [伸缩](/zh-cn/scalability/) 的能力。自动伸缩系统可在需要时自动添置资源,通过伸缩来满足不断变化的用户需求。 +自动伸缩的过程各不相同,可基于不同指标进行配置,例如内存或处理时间。托管云服务相较于大多数本地部署环境,有更多的可选项和实施项,因此往往都搭配有自动伸缩功能。 + +在此之前,基础设施和应用程序的架构设计会考虑到系统峰值的使用情况。这种架构意味着大部分资源没有得到充分利用,并且在面对不断变化的用户需求时缺乏弹性。 +缺乏弹性则意味着低谷时的业务成本增加,而在高峰时又会由于需求过盛引起的服务中断而导致业务流失。 + +通过利用云,[虚拟化](/zh-cn/virtualization/)和[容器化](/zh-cn/containerization/)应用程序及其依赖项等手段,组织可以构建随用户需求而伸缩的应用程序。 +他们可以监控应用程序的流量并自动伸缩,从而提供最佳的用户体验。以 Netflix 每周五晚上的收视率增长为例,自动伸缩意味着动态添置更多资源:即增加服务器数量以支持更多视频播放需求,并在需求回落后同步缩减。 + +## 相关词汇 +* [水平伸缩](/zh-cn/horizontal_scaling/) +* [垂直伸缩](/zh-cn/vertical_scaling/) From 22ec55a641b0b52822a7bbf81c44681eb68af816 Mon Sep 17 00:00:00 2001 From: Jacob953 <710297349@qq.com> Date: Fri, 27 May 2022 01:16:08 +0800 Subject: [PATCH 09/81] Update vertical_scaling.md --- content/zh-cn/vertical_scaling.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/content/zh-cn/vertical_scaling.md b/content/zh-cn/vertical_scaling.md index c3ebfd2c04..9745f17a50 100644 --- a/content/zh-cn/vertical_scaling.md +++ b/content/zh-cn/vertical_scaling.md @@ -6,16 +6,18 @@ category: 概念 ## 是什么 -垂直伸缩,也称为“向上和向下伸缩”,是一种通过在工作负载增加时向单个[节点](/nodes/)添加CPU和内存来增加系统容量的技术。假设您有一台 4GB RAM 的计算机,并且想要将其容量增加到 16GB RAM,垂直伸缩就意味着切换到 16GB RAM 系统。 (请参阅[水平伸缩](/horizontal_scaling/)了解不同的伸缩方法。) +垂直伸缩,也称为“向上和向下伸缩”,是一种通过在工作负载增加时向单个[节点](/nodes/)添加CPU和内存来增加系统容量的技术。 +假设您有一台 4GB RAM 的计算机,并且想要将其容量增加到 16GB RAM,垂直伸缩就意味着切换到 16GB RAM 系统。(请参阅[水平伸缩](/zh-cn/horizontal_scaling/)了解不同的伸缩方法。) ## 解决的问题 -随着对应用程序的需求增长超出该应用程序实例的当前容量,我们需要找到一种方法来伸展(增加容量)系统。我们可以向现有节点添加更多计算资源(垂直伸缩)或向系统添加更多节点([水平伸缩](/horizontal_scaling/))。[可伸缩性](/scalability/)有助于提高竞争力、效率、声誉和质量。 +随着对应用程序的需求增长超出该应用程序实例的当前容量,我们需要找到一种方法来伸展(增加容量)系统。我们可以向现有节点添加更多计算资源(垂直伸缩)或向系统添加更多节点([水平伸缩](/zh-cn/horizontal_scaling/))。[可伸缩性](/zh-cn/scalability/)有助于提高竞争力、效率、声誉和质量。 ## 如何帮助 -垂直伸缩允许您在不更改应用程序代码的情况下调整服务器大小。这与水平伸缩形成对比,在水平伸缩中,应用程序必须可以被复制来进行伸缩,而这可能需要代码更新。垂直伸缩通过添加计算资源来增加现有应用程序的容量,允许应用程序处理更多请求并同时执行更多工作。 +垂直伸缩允许您在不更改应用程序代码的情况下调整服务器大小。这与水平伸缩形成对比,在水平伸缩中,应用程序必须可以被复制来进行伸缩,而这可能需要代码更新。 +垂直伸缩通过添加计算资源来增加现有应用程序的容量,允许应用程序处理更多请求并同时执行更多工作。 ## 相关词汇 -* [水平伸缩](/horizontal_scaling/) -* [自动伸缩](/auto_scaling/) +* [水平伸缩](/zh-cn/horizontal_scaling/) +* [自动伸缩](/zh-cn/auto_scaling/) From f6c0d5d159520146bd2a2172378eab07aa2fe793 Mon Sep 17 00:00:00 2001 From: Andong LIAO Date: Fri, 27 May 2022 01:19:46 +0800 Subject: [PATCH 10/81] [zh] Localize 'application_programming_interface (#902) * [zh] translate api * [zh] refine the transalation of scalability --- content/zh-cn/api_gateway.md | 2 +- .../zh-cn/application_programming_interface.md | 17 +++++++++++++++++ content/zh-cn/cloud_computing.md | 2 +- content/zh-cn/cloud_native_apps.md | 2 +- content/zh-cn/containers_as_a_service.md | 2 +- content/zh-cn/data_center.md | 2 +- content/zh-cn/distributed_systems.md | 2 +- content/zh-cn/kubernetes.md | 2 +- content/zh-cn/microservices.md | 2 +- content/zh-cn/scalability.md | 6 +++--- content/zh-cn/serverless.md | 2 +- 11 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 content/zh-cn/application_programming_interface.md diff --git a/content/zh-cn/api_gateway.md b/content/zh-cn/api_gateway.md index b854762760..aafdb30dd1 100644 --- a/content/zh-cn/api_gateway.md +++ b/content/zh-cn/api_gateway.md @@ -7,7 +7,7 @@ category: 技术 ## 是什么 -API 网关是一种通过聚合多个应用程序的 [API](/application_programming_interface/),并实现一站式管理的工具。它允许组织将关键性功能移交到一个可集中管理的地方,例如身份验证和授权、限制应用程序之间的请求数量。一个 API 网关则作为一个公共的接口,向 API 消费者(通常来自外部)提供服务。 +API 网关是一种通过聚合多个应用程序的 [API](/zh-cn/application_programming_interface/),并实现一站式管理的工具。它允许组织将关键性功能移交到一个可集中管理的地方,例如身份验证和授权、限制应用程序之间的请求数量。一个 API 网关则作为一个公共的接口,向 API 消费者(通常来自外部)提供服务。 ## 解决的问题 diff --git a/content/zh-cn/application_programming_interface.md b/content/zh-cn/application_programming_interface.md new file mode 100644 index 0000000000..4e4cef1502 --- /dev/null +++ b/content/zh-cn/application_programming_interface.md @@ -0,0 +1,17 @@ +--- +title: 应用程序接口 (API) +status: Completed +category: 技术 +--- + +## 是什么 + +API (Application Programming Interface, 即应用程序接口) 是计算机程序间交互的一种方式。就像人类可以通过网页与网站进行交互一样,API 允许计算机程序之间进行交互。与人类的交互不同,API 可以限制对方可以问什么和不能问什么。对交互的限制有助于在程序之间创建稳定、实用的信息传输。 + +## 解决的问题 + +随着应用程序变得越来越复杂,小的代码更改也可能会对其他功能产生巨大的影响。如果应用程序想要在扩展的同时保持其稳定性,就需要用模块化的方法来管理应用程序的功能。没有 API,应用程序之间就缺乏一个交互的参照标准。如果没有共享的参照标准,应用程序如何进行 [伸缩](/zh-cn/scalability/) 和集成将是一个挑战。 + +## 如何帮助 + +API 允许计算机程序或应用程序以一种明确的、可理解的方式进行交互和共享信息。它们是现代应用程序的基本构建块,并为开发人员提供了一种将应用程序集成在一起的方法。每当您听说一组 [微服务](/zh-cn/microservices/) 在一起工作时,就可以推断它们是通过某种 API 进行交互的。 diff --git a/content/zh-cn/cloud_computing.md b/content/zh-cn/cloud_computing.md index d35b731009..a14ac0e872 100644 --- a/content/zh-cn/cloud_computing.md +++ b/content/zh-cn/cloud_computing.md @@ -14,4 +14,4 @@ category: 概念 ## 如何帮助 -云提供商为组织提供按需租用计算资源并按使用付费的能力。 这允许进行两项主要创新:组织可以在不浪费时间计划和花费金钱或资源在新的物理基础设施上的情况下进行尝试,并且他们可以根据需要和按需[扩展](/zh-cn/scalability/)。云计算允许组织根据需要采用尽可能多或尽可能少的基础设施。 +云提供商为组织提供按需租用计算资源并按使用付费的能力。 这允许进行两项主要创新:组织可以在不浪费时间计划和花费金钱或资源在新的物理基础设施上的情况下进行尝试,并且他们可以根据需要和按需[伸缩](/zh-cn/scalability/)。云计算允许组织根据需要采用尽可能多或尽可能少的基础设施。 diff --git a/content/zh-cn/cloud_native_apps.md b/content/zh-cn/cloud_native_apps.md index 07f2ffc07b..1fc43efd15 100644 --- a/content/zh-cn/cloud_native_apps.md +++ b/content/zh-cn/cloud_native_apps.md @@ -7,7 +7,7 @@ category: 概念 ## What it is 云原生应用程序专门设计用于利用 [云计算](/zh-cn/cloud_computing/) 中的创新。 -这些应用程序可以轻松地与其各自的云架构集成,充分利用云的资源和 [可扩展性](/zh-cn/scalability/) 功能。 +这些应用程序可以轻松地与其各自的云架构集成,充分利用云的资源和 [可伸缩性](/zh-cn/scalability/) 功能。 它还指利用云计算驱动的基础设施创新的应用程序。 今天的云原生应用程序包括在云提供商的数据中心和本地云原生平台上运行的应用程序。 diff --git a/content/zh-cn/containers_as_a_service.md b/content/zh-cn/containers_as_a_service.md index 34c13b1098..3d2fd578f6 100644 --- a/content/zh-cn/containers_as_a_service.md +++ b/content/zh-cn/containers_as_a_service.md @@ -10,7 +10,7 @@ category: 技术 这项服务可以部署在企业内部或云中。 CaaS 供应商提供了一个框架或协调平台,使容器部署和管理的关键 IT 功能自动化。 -它帮助开发者建立安全和 [可扩展](/zh-cn/scalability/) 的容器化应用。 +它帮助开发者建立安全和 [可伸缩](/zh-cn/scalability/) 的容器化应用。 因为用户只购买他们需要的资源(调度能力、负载平衡等),他们可以节省资金并提高效率。 容器创造了一致的环境,以快速开发和交付可以在任何地方运行的 [云原生应用](/zh-cn/cloud_native_apps/)。 diff --git a/content/zh-cn/data_center.md b/content/zh-cn/data_center.md index 6d4146e624..3100f07c2a 100644 --- a/content/zh-cn/data_center.md +++ b/content/zh-cn/data_center.md @@ -14,4 +14,4 @@ category: 技术 ## 如何帮助 -对于云计算,数据中心至关重要。 由于可以根据 [可扩展性](/zh-cn/scalability/) 配置资源和基础设施,因此企业可以在数据中心租用云计算资源,而无需多虑预测的资源过多过少带来的问题。 由于数据中心遍布世界各地,这允许在地理上接近需求的地方提供资源,而无需实际运送和设置设备。 +对于云计算,数据中心至关重要。 由于可以根据 [可伸缩性](/zh-cn/scalability/) 配置资源和基础设施,因此企业可以在数据中心租用云计算资源,而无需多虑预测的资源过多过少带来的问题。 由于数据中心遍布世界各地,这允许在地理上接近需求的地方提供资源,而无需实际运送和设置设备。 diff --git a/content/zh-cn/distributed_systems.md b/content/zh-cn/distributed_systems.md index 53bc780797..a0007ff960 100644 --- a/content/zh-cn/distributed_systems.md +++ b/content/zh-cn/distributed_systems.md @@ -16,7 +16,7 @@ category: 概念 没有一台计算机强大到足以承载整个应用程序。通过连接多台计算机,计算能力几乎变得无限大。 如果没有分布式计算,我们今天依赖的许多应用就不可能实现。 -传统上,系统会纵向 [扩展](/zh-cn/scalability/)。这就是当你在一台单独的机器上添加更多的 CPU 或内存。 +传统上,系统会纵向 [伸缩](/zh-cn/scalability/)。这就是当你在一台单独的机器上添加更多的 CPU 或内存。 垂直扩展很耗时,需要停机,而且很快就会达到极限。 ## 如何帮助 diff --git a/content/zh-cn/kubernetes.md b/content/zh-cn/kubernetes.md index 26205b26cc..a38a968dac 100644 --- a/content/zh-cn/kubernetes.md +++ b/content/zh-cn/kubernetes.md @@ -13,7 +13,7 @@ Kubernetes在 [集群](/zh-cn/cluster/) 的 [节点](/nodes/) 上调度 [容器] 它捆绑了几个基础设施结构,有时被称为 "基元",如应用程序的实例、负载平衡器、持久性存储等,以一种可以被组成应用程序的方式。 Kubernetes 实现了自动化和可扩展性,使用户能够以可重复的方式声明性地部署应用程序。 -Kubernetes 生态系统中的软件产品和项目利用这种自动化和可扩展性来扩展 Kubernetes [API](/application_programming_interface/) 。 +Kubernetes 生态系统中的软件产品和项目利用这种自动化和可扩展性来扩展 Kubernetes [API](/zh-cn/application_programming_interface/) 。 这使他们能够利用 Kubernetes 的自动化,并使他们的工具更容易被有经验的 Kubernetes 从业者所接受。 ## 解决的问题 diff --git a/content/zh-cn/microservices.md b/content/zh-cn/microservices.md index 6dfde9f189..a85945ed32 100644 --- a/content/zh-cn/microservices.md +++ b/content/zh-cn/microservices.md @@ -12,7 +12,7 @@ category: 概念 ## 解决的问题 -微服务是对单体应用所带来的挑战的一种回应。一般来说,一个应用程序的不同部分需要分别进行 [扩展](/zh-cn/scalability/)。 +微服务是对单体应用所带来的挑战的一种回应。一般来说,一个应用程序的不同部分需要分别进行 [伸缩](/zh-cn/scalability/)。 例如,一个在线商店将有更多的产品视图而不是结账。这意味着你需要更多的产品视图功能的运行,而不是结账。 在一个单一的应用程序中,这些逻辑位不能被单独部署。如果你不能单独扩展产品功能,你将不得不复制整个应用程序和所有其他你不需要的组件--这是一种低效的资源利用。 单机式应用程序也使开发人员容易屈服于设计陷阱。因为所有的代码都在一个地方,所以更容易使这些代码 [高耦合](/tightly_coupled_architectures/),更难执行关注点分离的原则。 diff --git a/content/zh-cn/scalability.md b/content/zh-cn/scalability.md index 03be9f341f..8e3e592729 100644 --- a/content/zh-cn/scalability.md +++ b/content/zh-cn/scalability.md @@ -1,9 +1,9 @@ --- -title: 可扩展性 +title: 可伸缩性 status: Completed category: 属性 --- -可扩展性指的是一个系统能有多大的发展。这就是增加做任何系统应该做的事情的能力。 例如,[Kubernetes](/zh-cn/kubernetes/) [集群](/zh/cluster/) 通过增加或减少 [容器化](/zh-cn/containerization/) 应用程序的数量来进行扩展,但这种可扩展性取决于几个因素。 它有多少[节点](/nodes/),每个节点可以处理多少个[容器](/zh-cn/container/),控制平面可以支持多少条记录和操作? +可伸缩性指的是一个系统能有多大的发展。这就是增加做任何系统应该做的事情的能力。 例如,[Kubernetes](/zh-cn/kubernetes/) [集群](/zh/cluster/) 通过增加或减少 [容器化](/zh-cn/containerization/) 应用程序的数量来进行伸缩,但这种可伸缩性取决于几个因素。 它有多少[节点](/nodes/),每个节点可以处理多少个[容器](/zh-cn/container/),控制平面可以支持多少条记录和操作? -可扩展的系统使添加更多容量更容易。 主要有两种缩放方法。 一方面,有 [水平扩展](/horizontal_scaling/) 添加更多节点来处理增加的负载。 相比之下,在 [垂直扩展](/vertical_scaling/) 中,单个节点的功能更强大,可以执行更多事务(例如,通过向单个机器添加更多内存或 CPU)。 可扩展的系统能够轻松更改并满足用户需求。 +可伸缩的系统使添加更多容量更容易。 主要有两种缩放方法。 一方面,有 [水平伸缩](/horizontal_scaling/) 添加更多节点来处理增加的负载。 相比之下,在 [垂直伸缩](/vertical_scaling/) 中,单个节点的功能更强大,可以执行更多事务(例如,通过向单个机器添加更多内存或 CPU)。 可伸缩的系统能够轻松更改并满足用户需求。 diff --git a/content/zh-cn/serverless.md b/content/zh-cn/serverless.md index 2e4a41dbea..b926288edf 100644 --- a/content/zh-cn/serverless.md +++ b/content/zh-cn/serverless.md @@ -5,7 +5,7 @@ Category: Technology --- ## 是什么 -Serverless 是一种云原生开发模型,允许开发人员构建和运行应用程序,而无需管理服务器。 Serverless 中仍有服务器,但它们被 [抽象](/abstraction/) 出来,远离应用程序开发。 云提供商处理配置、维护和 [扩展](/zh-cn/scalability/) 服务器基础架构的日常工作。 开发人员可以简单地将他们的代码打包在 [容器](/zh-cn/container/) 中进行部署。 部署后,Serverless 应用程序会响应需求并根据需要自动扩展和缩减。 公共云提供商的 Serverless 产品通常通过事件驱动的执行模型按需计量。 因此,当无服务器功能处于空闲状态时,它不会花费任何费用。 +Serverless 是一种云原生开发模型,允许开发人员构建和运行应用程序,而无需管理服务器。 Serverless 中仍有服务器,但它们被 [抽象](/abstraction/) 出来,远离应用程序开发。 云提供商处理配置、维护和 [伸缩](/zh-cn/scalability/) 服务器基础架构的日常工作。 开发人员可以简单地将他们的代码打包在 [容器](/zh-cn/container/) 中进行部署。 部署后,Serverless 应用程序会响应需求并根据需要自动扩展和缩减。 公共云提供商的 Serverless 产品通常通过事件驱动的执行模型按需计量。 因此,当无服务器功能处于空闲状态时,它不会花费任何费用。 ## 解决的问题 在标准的 [基础设施即服务 (IaaS)](/infrastructure_as_a_service/) [云计算](/zh-cn/cloud_computing/) 模型下,用户预先购买容量单位,这意味着您需要向公共云提供商支付永远在线的服务器组件的费用来运行您的应用程序。 From 03592f7682b1b6e05262877817b5b4c6d5d6516a Mon Sep 17 00:00:00 2001 From: Jiangyu Wang Date: Fri, 27 May 2022 01:22:03 +0800 Subject: [PATCH 11/81] Create infrastructure_as_code.md (#904) --- content/zh-cn/infrastructure_as_code.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/zh-cn/infrastructure_as_code.md diff --git a/content/zh-cn/infrastructure_as_code.md b/content/zh-cn/infrastructure_as_code.md new file mode 100644 index 0000000000..eef8d710d3 --- /dev/null +++ b/content/zh-cn/infrastructure_as_code.md @@ -0,0 +1,17 @@ +--- +title: 基础设施即代码 +status: Completed +category: 概念 +--- + +## 是什么 + +基础设施即代码是将基础设施的定义存储为一个或多个文件的做法。这取代了通常通过 shell 脚本或其他配置工具手动配置基础架构即服务的传统模型。 + +## 解决的问题 + +云原生方式构建应用程序要求基础设施是一次性的和可复现的。它还需要以自动化和可重复的方式按需 [伸缩](/scalability/),甚至可能无需人工干预。手动配置则无法满足 [云原生应用](/cloud_native_apps/) 对响应能力和灵活伸缩的诉求。而且手动基础架构变更不可复现,很容易碰到伸缩瓶颈,并引入错误配置。 + +## 如何帮助 + +通过将服务器、负载均衡器和子网等数据中心资源表示为代码,它允许基础架构团队对所有配置拥有单一的数据源,并允许他们在 [CI](/continuous_integration/ )/[CD](/continuous_delivery/) 通道中管理数据中心,实现版本控制和部署策略。 From 798a938fe1ee20efbf88bab37102ad35ceecbe0a Mon Sep 17 00:00:00 2001 From: Andong Liao Date: Sat, 28 May 2022 19:05:37 +0800 Subject: [PATCH 12/81] [zh] localize 'agile_software_development' into chinese Signed-off-by: Andong Liao --- content/zh-cn/agile_software_development.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/zh-cn/agile_software_development.md diff --git a/content/zh-cn/agile_software_development.md b/content/zh-cn/agile_software_development.md new file mode 100644 index 0000000000..63c3a5ed93 --- /dev/null +++ b/content/zh-cn/agile_software_development.md @@ -0,0 +1,17 @@ +--- +title: 敏捷软件开发 +status: Completed +category: 概念 +--- + +## 是什么 + +强调迭代式开发和自组织团队的一组实践。与只有在项目结束时才产生价值的瀑布式项目不同,敏捷软件开发更关注于持续的、增量的价值交付,以及交付流程本身的演进和提升。 + +## 解决的问题 + +在软件项目中,让所有利益相关者都能够定义、沟通并理解需求即使并非不可能,也是非常困难的。并且,客户还希望他们的软件项目在保质、保量、不超预算的情况下,能够如期交付。由于能实现周期性的交付,敏捷软件开发能够持续地响应需求,并更快地适应不同的情况,这与瀑布式策略恰好相反。 + +## 如何帮助 + +敏捷软件开发也涵盖了所有传统(瀑布式)策略的阶段,比如需求工程、计划、实现、评审、测试和交付。最大的区别是软件项目的整个时间跨度将被切分成多个迭代,每个迭代都包含了上述所有阶段。在每次迭代后,团队可以与客户一起评审所创造的价值,并根据最终目标适时地调整需求。此外,开发团队也可以复盘要采取哪些行动项以改进当前的交付流程。 From b5faa14b38601dd63e784aaf014eaafeed299b68 Mon Sep 17 00:00:00 2001 From: Andong Liao Date: Sat, 28 May 2022 19:09:09 +0800 Subject: [PATCH 13/81] [zh] fixed some inconsistent subheadings Signed-off-by: Andong Liao --- content/zh-cn/cloud_native_apps.md | 6 +++--- content/zh-cn/cloud_native_security.md | 2 +- content/zh-cn/cloud_native_tech.md | 2 +- content/zh-cn/cluster.md | 2 +- content/zh-cn/container-image.md | 2 +- content/zh-cn/devops.md | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/content/zh-cn/cloud_native_apps.md b/content/zh-cn/cloud_native_apps.md index 1fc43efd15..35d9e7abd8 100644 --- a/content/zh-cn/cloud_native_apps.md +++ b/content/zh-cn/cloud_native_apps.md @@ -4,14 +4,14 @@ status: Completed category: 概念 --- -## What it is +## 是什么 云原生应用程序专门设计用于利用 [云计算](/zh-cn/cloud_computing/) 中的创新。 这些应用程序可以轻松地与其各自的云架构集成,充分利用云的资源和 [可伸缩性](/zh-cn/scalability/) 功能。 它还指利用云计算驱动的基础设施创新的应用程序。 今天的云原生应用程序包括在云提供商的数据中心和本地云原生平台上运行的应用程序。 -## Problem it addresses +## 解决的问题 传统上,本地环境以相当定制的方式提供计算资源。 每个数据中心都有与特定环境 [紧密耦合](/tightly_coupled_architectures/) 应用程序的服务,通常严重依赖于基础设施的手动配置,例如 [虚拟机](/zh-cn/virtual_machine/) 和服务。 @@ -19,7 +19,7 @@ category: 概念 不是为云设计的应用程序无法利用云环境的弹性和扩展能力。 例如,需要手动干预才能正确启动的应用程序无法自动扩展,也无法在发生故障时自动重启。 -## How it helps +## 如何帮助 虽然云原生应用程序没有“一刀切”的路径,但它们确实有一些共性。 云原生应用程序具有弹性、可管理性,并由配套的云服务套件提供帮助。 diff --git a/content/zh-cn/cloud_native_security.md b/content/zh-cn/cloud_native_security.md index d4233a07e4..f27cf40b3e 100644 --- a/content/zh-cn/cloud_native_security.md +++ b/content/zh-cn/cloud_native_security.md @@ -11,7 +11,7 @@ category: 概念 云原生安全旨在确保与传统安全模型相同的标准,同时适应云原生环境的特殊性,即快速的代码更改和高度短暂的基础设施。 云原生安全与称为 [测试左移](/devsecops/) 的实践高度相关。 -## 强调的问题 +## 解决的问题 传统的安全模型是根据许多不再有效的假设构建的。 云原生应用程序变化频繁,使用大量开源工具和库,通常运行在供应商控制的基础设施中,并且会受到快速的基础设施变化的影响。 diff --git a/content/zh-cn/cloud_native_tech.md b/content/zh-cn/cloud_native_tech.md index e36e3a4c83..6c8d7cbc20 100644 --- a/content/zh-cn/cloud_native_tech.md +++ b/content/zh-cn/cloud_native_tech.md @@ -10,7 +10,7 @@ category: 概念 使组织能够在公共云、私有云和混合云等现代动态环境中构建和运行可扩展的应用程序,他们坚持“云的承诺”并充分利用云计算的优势。 它们从头开始设计,以利用云计算和容器的功能,服务网格、微服务和不可变的基础设施就是这种方法的例证。 -## 强调的问题 +## 解决的问题 云原生技术栈有许多不同的技术类别,可应对各种挑战。 如果你看看 [CNCF 云原生全景图](https://landscape.cncf.io/),你会看到它涉及到多少不同的领域。 diff --git a/content/zh-cn/cluster.md b/content/zh-cn/cluster.md index 61aef79806..7ac2f44224 100644 --- a/content/zh-cn/cluster.md +++ b/content/zh-cn/cluster.md @@ -11,7 +11,7 @@ category: 概念 Kubernetes 集群是一组服务(或工作负载),它们在各自的容器中运行,通常在不同的机器上。 所有这些 [容器化](/zh-cn/containerization/) 服务的集合,通过网络连接,代表一个集群。 -## 强调的问题 +## 解决的问题 在单台计算机上运行的软件会出现单点故障——如果这台计算机崩溃了,或者有人不小心拔掉了电源线,那么一些关键的业务系统就可能被下线。 这就是为什么现代软件通常被构建为 [分布式应用](/zh-cn/distributed_apps/),以集群的形式组合在一起。 diff --git a/content/zh-cn/container-image.md b/content/zh-cn/container-image.md index 77ece20f06..2f6a114ce8 100644 --- a/content/zh-cn/container-image.md +++ b/content/zh-cn/container-image.md @@ -11,7 +11,7 @@ category: 概念 容器镜像是应用程序容器化的结果,通常存储在容器注册表中,在那里可以下载并使用容器运行时接口(CRI)作为一个孤立的进程运行。 容器镜像框架必须遵循开放容器倡议(OCI)定义的标准模式。 -## 强调的问题 +## 解决的问题 传统上,应用服务器是按环境配置的,而应用则被部署到这些环境中。 环境之间的任何错误配置都是有问题的,常常导致停机或部署失败。 diff --git a/content/zh-cn/devops.md b/content/zh-cn/devops.md index c43f4e7ba7..32b1d6255a 100644 --- a/content/zh-cn/devops.md +++ b/content/zh-cn/devops.md @@ -7,7 +7,7 @@ category: 概念 ## 是什么 开发运维是一种方法论,其中团队拥有从应用程序开发到生产操作的整个过程,因此 DevOps,它不仅仅是实施一套技术,还需要文化和流程的彻底转变。 DevOps 需要一组工程师来处理小组件(相对于整个功能),从而减少交接——一个常见的错误来源。 -## 强调的问题 +## 解决的问题 传统上,在具有 [紧密耦合](/tightly_coupled_architectures/) [单体应用程序](/zh-cn/monolithic_apps/) 的复杂组织中,工作通常分散在多个组之间。 这导致了多次交接和较长的交货时间。 每次组件或更新准备就绪时,都会将其放入队列中以供下一个团队使用。 因为个人只参与了项目的一小部分,这种方法导致缺乏所有权。 他们的目标是将工作交给下一个小组,而不是为客户提供正确的功能——明显的优先级错位。 到代码最终投入生产时,它经过了这么多开发人员,排了这么多队列,如果代码不起作用,很难追查问题的根源。 DevOps 颠覆了这种方法。 From a0c6c8de991ef7d897211f819733a2807706703f Mon Sep 17 00:00:00 2001 From: Lenshood Date: Tue, 31 May 2022 17:41:20 +0800 Subject: [PATCH 14/81] localize idempotence.md (#919) Signed-off-by: zhangxuhai --- content/zh-cn/idempotence.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 content/zh-cn/idempotence.md diff --git a/content/zh-cn/idempotence.md b/content/zh-cn/idempotence.md new file mode 100644 index 0000000000..d0d867b92e --- /dev/null +++ b/content/zh-cn/idempotence.md @@ -0,0 +1,7 @@ +--- +title: 幂等性 +status: Completed +category: 属性 +--- + +在数学或计算机科学中,幂等性描述了一种操作,无论你执行多少次,都会得到相同的结果。如果参数相同,一个幂等操作就不会影响它调用的应用程序。 From bcecd48ce9f30fe7bdaf5ba573860d5974f08624 Mon Sep 17 00:00:00 2001 From: Andong LIAO Date: Sat, 4 Jun 2022 17:34:57 +0800 Subject: [PATCH 15/81] refine the translation of scale (#926) Signed-off-by: Andong Liao --- content/zh-cn/cloud_native_apps.md | 4 ++-- content/zh-cn/cloud_native_security.md | 2 +- content/zh-cn/cloud_native_tech.md | 4 ++-- content/zh-cn/container-image.md | 4 ++-- content/zh-cn/containers_as_a_service.md | 2 +- content/zh-cn/distributed_apps.md | 2 +- content/zh-cn/distributed_systems.md | 4 ++-- content/zh-cn/horizontal_scaling.md | 8 ++++---- content/zh-cn/serverless.md | 6 +++--- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/content/zh-cn/cloud_native_apps.md b/content/zh-cn/cloud_native_apps.md index 35d9e7abd8..8a0a2e2a1c 100644 --- a/content/zh-cn/cloud_native_apps.md +++ b/content/zh-cn/cloud_native_apps.md @@ -16,8 +16,8 @@ category: 概念 传统上,本地环境以相当定制的方式提供计算资源。 每个数据中心都有与特定环境 [紧密耦合](/tightly_coupled_architectures/) 应用程序的服务,通常严重依赖于基础设施的手动配置,例如 [虚拟机](/zh-cn/virtual_machine/) 和服务。 这反过来又将开发人员及其应用程序限制在该特定数据中心。 -不是为云设计的应用程序无法利用云环境的弹性和扩展能力。 -例如,需要手动干预才能正确启动的应用程序无法自动扩展,也无法在发生故障时自动重启。 +不是为云设计的应用程序无法利用云环境的弹性和伸缩能力。 +例如,需要手动干预才能正确启动的应用程序无法自动伸缩,也无法在发生故障时自动重启。 ## 如何帮助 diff --git a/content/zh-cn/cloud_native_security.md b/content/zh-cn/cloud_native_security.md index f27cf40b3e..3df7dd2ec4 100644 --- a/content/zh-cn/cloud_native_security.md +++ b/content/zh-cn/cloud_native_security.md @@ -15,7 +15,7 @@ category: 概念 传统的安全模型是根据许多不再有效的假设构建的。 云原生应用程序变化频繁,使用大量开源工具和库,通常运行在供应商控制的基础设施中,并且会受到快速的基础设施变化的影响。 -代码审查、长质量保证周期、基于主机的漏洞扫描和最后一分钟的安全审查无法与云原生应用程序一起扩展。 +代码审查、长质量保证周期、基于主机的漏洞扫描和最后一分钟的安全审查无法与云原生应用程序一起伸缩。 ## 如何帮助 diff --git a/content/zh-cn/cloud_native_tech.md b/content/zh-cn/cloud_native_tech.md index 6c8d7cbc20..0ae305ba25 100644 --- a/content/zh-cn/cloud_native_tech.md +++ b/content/zh-cn/cloud_native_tech.md @@ -7,14 +7,14 @@ category: 概念 ## 是什么 云原生技术,也称为云原生技术栈,是用于构建 [云原生应用程序](/zh-cn/cloud_native_apps/) 的技术。 -使组织能够在公共云、私有云和混合云等现代动态环境中构建和运行可扩展的应用程序,他们坚持“云的承诺”并充分利用云计算的优势。 +使组织能够在公共云、私有云和混合云等现代动态环境中构建和运行可伸缩的应用程序,他们坚持“云的承诺”并充分利用云计算的优势。 它们从头开始设计,以利用云计算和容器的功能,服务网格、微服务和不可变的基础设施就是这种方法的例证。 ## 解决的问题 云原生技术栈有许多不同的技术类别,可应对各种挑战。 如果你看看 [CNCF 云原生全景图](https://landscape.cncf.io/),你会看到它涉及到多少不同的领域。 -但在高层次上,它们解决了一组主要挑战:传统 IT 运营模式的缺点。挑战包括难以创建可扩展、容错、自我修复的应用程序,以及资源利用效率低下等。 +但在高层次上,它们解决了一组主要挑战:传统 IT 运营模式的缺点。挑战包括难以创建可伸缩、容错、自我修复的应用程序,以及资源利用效率低下等。 ## 如何帮助 diff --git a/content/zh-cn/container-image.md b/content/zh-cn/container-image.md index 2f6a114ce8..e0d4a9ae64 100644 --- a/content/zh-cn/container-image.md +++ b/content/zh-cn/container-image.md @@ -16,11 +16,11 @@ category: 概念 传统上,应用服务器是按环境配置的,而应用则被部署到这些环境中。 环境之间的任何错误配置都是有问题的,常常导致停机或部署失败。 一个应用程序的环境需要是可重复的和定义明确的;否则,与环境有关的错误的机会就会增加。 -当应用程序的环境定义不足或不准确时,应用程序的横向和纵向扩展就会成为挑战。 +当应用程序的环境定义不足或不准确时,应用程序的横向和纵向伸缩就会成为挑战。 ## 如何帮助 容器镜像将一个应用程序与它的任何运行时的依赖性捆绑在一起,例如一个应用程序服务器。 这提供了所有环境的一致性,包括开发人员的机器。 -容器镜像可用于实例化所需的多个容器,允许更大的可扩展性。 +容器镜像可用于实例化所需的多个容器,允许更大的可伸缩性。 diff --git a/content/zh-cn/containers_as_a_service.md b/content/zh-cn/containers_as_a_service.md index 3d2fd578f6..72e5abcd82 100644 --- a/content/zh-cn/containers_as_a_service.md +++ b/content/zh-cn/containers_as_a_service.md @@ -21,6 +21,6 @@ CaaS 供应商提供了一个框架或协调平台,使容器部署和管理的 ## 如何帮助 当把容器化应用部署到 CaaS 平台时,用户可以通过日志聚合和监控工具获得对系统性能的可见性。 -CaaS 还包括 [自动扩展](/auto_scaling/) 和协调管理的内置功能。 +CaaS 还包括 [自动伸缩](/zh-cn/auto_scaling/) 和协调管理的内置功能。 它使团队能够建立高可见性和高可用性的 [分布式系统](/zh-cn/distributed_systems/)。 此外,通过允许快速部署,CaaS 提高了团队的开发速度。在容器确保一致的部署目标的同时,CaaS 通过减少管理部署所需的 [DevOps](/zh-cn/devops/) 资源,降低了工程运营成本。 diff --git a/content/zh-cn/distributed_apps.md b/content/zh-cn/distributed_apps.md index 5f5f760326..6f1cd1515e 100644 --- a/content/zh-cn/distributed_apps.md +++ b/content/zh-cn/distributed_apps.md @@ -19,5 +19,5 @@ category: 概念 ## 如何帮助 当把一个应用程序拆分成不同的部分并在许多地方运行时,整个系统可以容忍更多的故障。 -它还允许应用程序利用单个应用程序实例所不具备的扩展功能,即 [水平扩展](/horizontal_scaling/)的能力。 +它还允许应用程序利用单个应用程序实例所不具备的伸缩功能,即 [水平伸缩](/zh-cn/horizontal_scaling/)的能力。 然而,这也是有代价的:增加了复杂性和操作开销--你现在正在运行很多应用组件,而不是一个应用。 diff --git a/content/zh-cn/distributed_systems.md b/content/zh-cn/distributed_systems.md index a0007ff960..f9b7c97e83 100644 --- a/content/zh-cn/distributed_systems.md +++ b/content/zh-cn/distributed_systems.md @@ -17,10 +17,10 @@ category: 概念 如果没有分布式计算,我们今天依赖的许多应用就不可能实现。 传统上,系统会纵向 [伸缩](/zh-cn/scalability/)。这就是当你在一台单独的机器上添加更多的 CPU 或内存。 -垂直扩展很耗时,需要停机,而且很快就会达到极限。 +垂直伸缩很耗时,需要停机,而且很快就会达到极限。 ## 如何帮助 -分布式系统允许 [水平扩展](/horizontal_scaling/)(例如,在需要时向系统添加更多节点)。这可以是自动化的,允许系统处理工作负荷或资源消耗的突然增加。 +分布式系统允许 [水平伸缩](/zh-cn/horizontal_scaling/)(例如,在需要时向系统添加更多节点)。这可以是自动化的,允许系统处理工作负荷或资源消耗的突然增加。 非分布式系统面临着故障的风险,因为如果一台机器发生故障,整个系统都会故障。分布式系统可以设计成这样,即使一些机器发生故障,整个系统仍然可以继续工作,产生相同的结果。 diff --git a/content/zh-cn/horizontal_scaling.md b/content/zh-cn/horizontal_scaling.md index aa4aeb4dea..c35b67bd05 100644 --- a/content/zh-cn/horizontal_scaling.md +++ b/content/zh-cn/horizontal_scaling.md @@ -6,18 +6,18 @@ category: 概念 ## 是什么 -水平伸缩是一种通过添加更多[节点](/nodes/)来增加系统容量的技术,而不是向单个节点添加更多计算资源(后者称为[垂直伸缩](/vertical_scaling/))。假设我们有一个 4GB RAM 的系统,并且想要将其容量增加到 16GB RAM,水平伸缩意味着通过添加 4 x 4GB RAM 而不是切换到 16GB RAM 系统来实现。 +水平伸缩是一种通过添加更多[节点](/nodes/)来增加系统容量的技术,而不是向单个节点添加更多计算资源(后者称为[垂直伸缩](/zh-cn/vertical_scaling/))。假设我们有一个 4GB RAM 的系统,并且想要将其容量增加到 16GB RAM,水平伸缩意味着通过添加 4 x 4GB RAM 而不是切换到 16GB RAM 系统来实现。 这种方法通过添加新实例或[节点](/nodes/)来提高应用程序的性能,以更好地均衡工作负载。简而言之,它旨在减少服务器的负载,而不是扩大单个服务器的容量。 ## 解决的问题 -随着对应用程序的需求增长超出该应用程序实例的当前容量,我们需要找到一种方法来[扩展](/scalability/)(增加容量)系统。我们可以向系统添加更多节点(水平伸缩)或向现有节点添加更多计算资源(垂直伸缩)。 +随着对应用程序的需求增长超出该应用程序实例的当前容量,我们需要找到一种方法来[伸缩](/zh-cn/scalability/)(增加容量)系统。我们可以向系统添加更多节点(水平伸缩)或向现有节点添加更多计算资源(垂直伸缩)。 ## 如何帮助 水平伸缩允许应用程序在底层集群设置的范围内进行伸缩。通过向系统添加更多实例,应用程序可以处理更多请求。如果单个节点每秒可以处理 1,000 个请求,则每增加一个节点,每秒的请求总数应该会增加大约 1,000 个。这使得应用程序可同时执行更多工作,而无需特别增加任何单个节点的容量。 ## 相关词汇 -* [垂直伸缩](/vertical_scaling/) -* [自动伸缩](/auto_scaling/) +* [垂直伸缩](/zh-cn/vertical_scaling/) +* [自动伸缩](/zh-cn/auto_scaling/) diff --git a/content/zh-cn/serverless.md b/content/zh-cn/serverless.md index b926288edf..b39e9b421b 100644 --- a/content/zh-cn/serverless.md +++ b/content/zh-cn/serverless.md @@ -1,7 +1,7 @@ --- Title: Serverless Status: Completed -Category: Technology +Category: 技术 --- ## 是什么 @@ -9,7 +9,7 @@ Serverless 是一种云原生开发模型,允许开发人员构建和运行应 ## 解决的问题 在标准的 [基础设施即服务 (IaaS)](/infrastructure_as_a_service/) [云计算](/zh-cn/cloud_computing/) 模型下,用户预先购买容量单位,这意味着您需要向公共云提供商支付永远在线的服务器组件的费用来运行您的应用程序。 -用户有责任在高需求时扩展服务器容量,并在不在需要该容量时缩减容量。 即使在不使用应用程序时,运行应用程序所需的云基础设施也处于活动状态。 +用户有责任在高需求时伸缩服务器容量,并在不在需要该容量时缩减容量。 即使在不使用应用程序时,运行应用程序所需的云基础设施也处于活动状态。 ## 如何帮助 -相比之下,使用Serverless架构,应用程序仅在需要时启动。 当事件触发应用程序代码运行时,公共云提供商会为该代码动态分配资源。 当代码执行完成后,用户就停止为资源付款。除了成本和效率优势之外,Serverless还使开发人员从与应用程序扩展和服务器配置相关的日常和琐碎任务中解放出来。 借助Serverless,管理操作系统和文件系统、安全补丁、负载平衡、容量管理、扩展、日志记录和监控等日常任务都被交给云服务提供商。 +相比之下,使用Serverless架构,应用程序仅在需要时启动。 当事件触发应用程序代码运行时,公共云提供商会为该代码动态分配资源。 当代码执行完成后,用户就停止为资源付款。除了成本和效率优势之外,Serverless还使开发人员从与应用程序扩展和服务器配置相关的日常和琐碎任务中解放出来。 借助Serverless,管理操作系统和文件系统、安全补丁、负载平衡、容量管理、伸缩、日志记录和监控等日常任务都被交给云服务提供商。 From 7a748d03c721b5c39a0a61ddf3c6624b20565441 Mon Sep 17 00:00:00 2001 From: Juncheng <37217311+JunchengL@users.noreply.github.com> Date: Sun, 22 May 2022 12:35:53 +0200 Subject: [PATCH 16/81] Create firewall.md Signed-off-by: Juncheng <37217311+JunchengL@users.noreply.github.com> --- content/zh-cn/firewall.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 content/zh-cn/firewall.md diff --git a/content/zh-cn/firewall.md b/content/zh-cn/firewall.md new file mode 100644 index 0000000000..b224853ba8 --- /dev/null +++ b/content/zh-cn/firewall.md @@ -0,0 +1,14 @@ +--- +title: 防火墙 +status: Completed +category: 技术 +--- + +## 是什么 +防火墙是一个基于特定规则过滤网络流量的系统。防火墙可以是硬件、软件、或者是两者的组合。 + +## 强调的问题 +默认情况下,在遵循网络的路由规则下,网络将会允许任何人进出。由于这种默认行为,保护网络安全是有挑战性的。例如,在基于 [微服务](/zh-cn/microservices/) 的银行应用程序中,服务之间的沟通是通过其网络来相互传递高敏感性财务数据。假如没有防火墙,恶意行为者可能会渗透网络、拦截通信并且造成破坏。 + +## 如何帮助 +防火墙使用预设规则来检查网络流量。所有流量都会被过滤,任何来自不可信或可疑来源的流量都会被阻止 —— 只有设置为被接受的流量才能进入。防火墙在安全和受控的内部可信网络间建立了一道屏障。 From 9930cd1a3aa9fd0c2bd7d8e34740f1620234426c Mon Sep 17 00:00:00 2001 From: Brian Yan <18373181742@163.com> Date: Sat, 28 May 2022 02:10:03 +0800 Subject: [PATCH 17/81] Update firewall.md Signed-off-by: Juncheng <37217311+JunchengL@users.noreply.github.com> --- content/zh-cn/firewall.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/firewall.md b/content/zh-cn/firewall.md index b224853ba8..bcd59137ec 100644 --- a/content/zh-cn/firewall.md +++ b/content/zh-cn/firewall.md @@ -5,7 +5,7 @@ category: 技术 --- ## 是什么 -防火墙是一个基于特定规则过滤网络流量的系统。防火墙可以是硬件、软件、或者是两者的组合。 +防火墙是一个基于特定规则过滤网络流量的系统。防火墙可以是硬件、软件,或者是两者的组合。 ## 强调的问题 默认情况下,在遵循网络的路由规则下,网络将会允许任何人进出。由于这种默认行为,保护网络安全是有挑战性的。例如,在基于 [微服务](/zh-cn/microservices/) 的银行应用程序中,服务之间的沟通是通过其网络来相互传递高敏感性财务数据。假如没有防火墙,恶意行为者可能会渗透网络、拦截通信并且造成破坏。 From 5df1ac78cea3d9d35cddfdf7768e70c3e65be5fa Mon Sep 17 00:00:00 2001 From: Submarinee <17373067316@163.com> Date: Fri, 10 Jun 2022 16:54:50 +0800 Subject: [PATCH 18/81] localize platform_as_a_service.md --- content/zh-cn/platform_as_a_service.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 content/zh-cn/platform_as_a_service.md diff --git a/content/zh-cn/platform_as_a_service.md b/content/zh-cn/platform_as_a_service.md new file mode 100644 index 0000000000..e39cfc0bdc --- /dev/null +++ b/content/zh-cn/platform_as_a_service.md @@ -0,0 +1,14 @@ +--- +title: 平台即服务 (PaaS) +status: Completed +category: 技术 +--- + +## 是什么 +平台即服务(PaaS)是应用程序开发团队部署和运行其应用程序的外部平台。 Heroku、Cloud Foundry、App Engine 是 PaaS 产品的示例。 + +## 解决的问题 +要利用好 [微服务](/microservices/) 或 [分布式应用程序](/distributed_apps/) 等云原生模式,运维团队和开发人员需要能够免去大量运维工作, 其中包括供应基础设施、处理[服务发现](/service_discovery/) 和负载平衡以及[扩展](/scalability/) 应用程序等任务。 + +## 如何帮助 +平台即服务(PaaS)以完全自动化的方式为应用程序开发人员提供通用基础设施工具。 它使开发人员可以了解基础设施并减少对基础设施的担忧,并将更多的时间和精力用于编写应用程序代码。 它还提供了一些监控和 [可观察性](/observability/) 来帮助应用程序团队确保他们的应用程序是健康的。 From 10044cec558a19b6f76e0435a936fdfddbf1bddb Mon Sep 17 00:00:00 2001 From: Andong LIAO Date: Sat, 11 Jun 2022 18:22:46 +0800 Subject: [PATCH 19/81] [zh] Localize 'client_server_architecture' (#933) * [zh] cs archtecture Signed-off-by: Andong Liao * [zh] resolve comments and resubmit with sign Signed-off-by: Andong Liao --- content/zh-cn/client_server_architecture.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 content/zh-cn/client_server_architecture.md diff --git a/content/zh-cn/client_server_architecture.md b/content/zh-cn/client_server_architecture.md new file mode 100644 index 0000000000..4d5f9d9cdf --- /dev/null +++ b/content/zh-cn/client_server_architecture.md @@ -0,0 +1,19 @@ +--- +title: 主从式架构 +status: Completed +category: 概念 +--- + +## 是什么 + +在主从式架构(客户端-服务器架构)中,构成应用程序的逻辑(或代码)会被分成两个或多个组件:一个期望工作被完成的客户端(例如,运行在你的 web 浏览器中的 Gmail web 应用程序),以及一个或多个满足该请求的服务器(例如,运行在云中心的谷歌计算机上的“发送电子邮件”服务)。在这个例子中,你所写的外发邮件是由客户端(运行在您的 web 浏览器中的 web 应用程序)发送到服务器(Gmail 的计算机,它将您的外发邮件转发给对应的收件人)。 + +这与在一个地方完成所有工作的独立应用程序(如桌面应用程序)形成了对比。例如,像 Microsoft Word 这样的文字处理程序可能会完全安装并运行在你的计算机上。 + +## 解决的问题 + +主从式架构解决了自包含应用程序所带来的一个巨大挑战:定期更新。在一个自包含应用程序中的每次更新,用户都必须下载并安装最新版本。想象一下,你在浏览亚马逊之前,必须把亚马逊的所有产品目录下载到自己的电脑上! + +## 如何帮助 + +通过在远程服务器或服务中实现应用程序逻辑,操作人员可以在不需要修改客户端的逻辑的情况下进行应用程序更新。这意味着可以更频繁地进行更新。将数据存储在服务器上,允许许多客户端都看到并共享相同的数据。考虑一下使用在线文字处理程序与传统离线文字处理程序之间的区别。对于前者,你的文件存在于服务器端以便与其他用户共享,这些用户只需从服务器下载它们。而在传统世界中,文件需要复制到可移动媒体(软盘!)才能与他人共享。 From 5271122d748d15bd9ce7760d167e305225a4e38a Mon Sep 17 00:00:00 2001 From: Chester Cheung Date: Wed, 15 Jun 2022 09:54:58 +0800 Subject: [PATCH 20/81] Update content/zh-cn/platform_as_a_service.md Co-authored-by: Brian Yan <44219737+Rocksnake@users.noreply.github.com> --- content/zh-cn/platform_as_a_service.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/platform_as_a_service.md b/content/zh-cn/platform_as_a_service.md index e39cfc0bdc..6436fdd1d5 100644 --- a/content/zh-cn/platform_as_a_service.md +++ b/content/zh-cn/platform_as_a_service.md @@ -8,7 +8,7 @@ category: 技术 平台即服务(PaaS)是应用程序开发团队部署和运行其应用程序的外部平台。 Heroku、Cloud Foundry、App Engine 是 PaaS 产品的示例。 ## 解决的问题 -要利用好 [微服务](/microservices/) 或 [分布式应用程序](/distributed_apps/) 等云原生模式,运维团队和开发人员需要能够免去大量运维工作, 其中包括供应基础设施、处理[服务发现](/service_discovery/) 和负载平衡以及[扩展](/scalability/) 应用程序等任务。 +要利用好 [微服务](/zh-cn/microservices/) 或 [分布式应用程序](/zh-cn/distributed_apps/) 等云原生模式,运维团队和开发人员需要能够免去大量运维工作, 其中包括供应基础设施、处理[服务发现](/service_discovery/) 和负载平衡以及[扩展](/zh-cn/scalability/) 应用程序等任务。 ## 如何帮助 平台即服务(PaaS)以完全自动化的方式为应用程序开发人员提供通用基础设施工具。 它使开发人员可以了解基础设施并减少对基础设施的担忧,并将更多的时间和精力用于编写应用程序代码。 它还提供了一些监控和 [可观察性](/observability/) 来帮助应用程序团队确保他们的应用程序是健康的。 From 064b15d3fea085489f69a10d772bb461d8badecc Mon Sep 17 00:00:00 2001 From: tianzong48 Date: Wed, 15 Jun 2022 16:18:59 +0800 Subject: [PATCH 21/81] [zh-cn] Update DevOps (#941) * [zh-cn] Update DevOps Glossary `DevOps` is widely used, we can put it in title just as `CI` and `CD`. Signed-off-by: tianzong48 * Update content/zh-cn/devops.md Co-authored-by: Brian Yan <44219737+Rocksnake@users.noreply.github.com> Signed-off-by: Submarinee <45026656+Submarinee@users.noreply.github.com> Co-authored-by: Submarinee <45026656+Submarinee@users.noreply.github.com> --- content/zh-cn/devops.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/devops.md b/content/zh-cn/devops.md index 32b1d6255a..0b2b4b0092 100644 --- a/content/zh-cn/devops.md +++ b/content/zh-cn/devops.md @@ -1,5 +1,5 @@ --- -title: 开发运维 +title: 开发运维 (DevOps) status: Completed category: 概念 --- From 354e185d2f7415f3c8f405e706a7b848becc29ed Mon Sep 17 00:00:00 2001 From: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> Date: Wed, 15 Jun 2022 16:29:12 +0800 Subject: [PATCH 22/81] docs: add missing slash slash in `` do not match Signed-off-by: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> --- content/zh-cn/contribute/_index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/zh-cn/contribute/_index.md b/content/zh-cn/contribute/_index.md index b271c4033a..9c0d85955d 100644 --- a/content/zh-cn/contribute/_index.md +++ b/content/zh-cn/contribute/_index.md @@ -31,7 +31,7 @@ menu: ![提出一个议题](/images/how-to/claiming-an-issue.png) -此外,请加入 CNCF Slack 的 [#glossary](https://cloud-native.slack.com/archives/C02TX20MQBB) 频道,让维护者知道你为一个新术语提出了一个议题(最好标记 @Catherine Paganini, @jmo, @Seokho Son, @Jihoon Seo, 和/或 @iamnoah 以确保他们不会错过它)。请注意,你一次只能认领一个术语。如果你想做多个术语,请在申请下一个术语之前完成前一个术语。 +此外,请加入 CNCF Slack 的 [#glossary](https://cloud-native.slack.com/archives/C02TX20MQBB) 频道,让维护者知道你为一个新术语提出了一个议题(最好标记 @Catherine Paganini, @jmo, @Seokho Son, @Jihoon Seo, 和/或 @iamnoah 以确保他们不会错过它)。请注意,你一次只能认领一个术语。如果你想做多个术语,请在申请下一个术语之前完成前一个术语。 一旦他们把它分配给你,你就可以开始工作了。接下来的步骤,请参考 [提交一个新术语(创建一个PR)](#submitting-a-new-term)部分。 @@ -54,7 +54,7 @@ menu: ### 分流你的议题 接下来,维护者将对该议题进行分流。这意味着他们将评估该术语是否应成为术语表的一部分(注意,不是每个术语都会被接受。术语应该是既定的、广泛使用的云计算原生术语)。 -请让维护者知道你已经在 Slack 上提交了一个术语,否则他们可能会错过它。最好标记 @Catherine Paganini, @jmo, @Seokho Son, @Jihoon Seo, 和/或 @iamnoah。如果该术语被批准,并且你想从事该工作,他们会将其分配给你。 +请让维护者知道你已经在 Slack 上提交了一个术语,否则他们可能会错过它。最好标记 @Catherine Paganini, @jmo, @Seokho Son, @Jihoon Seo, 和/或 @iamnoah。如果该术语被批准,并且你想从事该工作,他们会将其分配给你。 请注意,你一次只能申请一个术语。如果你想做多个术语,请在申请下一个术语之前完成前一个术语。 From 2adde87abfa706cba688455f4d2300a215b19a4d Mon Sep 17 00:00:00 2001 From: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> Date: Wed, 15 Jun 2022 16:32:33 +0800 Subject: [PATCH 23/81] docs: fix terminologie and format Signed-off-by: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> --- content/zh-cn/style-guide/_index.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/zh-cn/style-guide/_index.md b/content/zh-cn/style-guide/_index.md index d92c01867a..c251a8eb65 100644 --- a/content/zh-cn/style-guide/_index.md +++ b/content/zh-cn/style-guide/_index.md @@ -122,13 +122,13 @@ category: 概念 当在你的定义中使用时,一定要 **链接到现有的词汇表术语**(只有第一次提到的时候应该有超链接)。 -**例子**:看看 [服务网状](/zh-cn/service_mesh/)的 "是什么 "部分。它链接到了微服务、服务、可靠性和可观察性的定义。此外,它还使用了一个真实的例子,将微服务环境中的网络挑战(非技术人员无法理解的问题)与 wifi 问题(使用笔记本电脑的人都能理解的问题)进行比较。在可能的情况下,尝试建立这种联系。 +**例子**:看看 [服务网格](/zh-cn/service_mesh/)的 "是什么" 部分。它链接到了微服务、服务、可靠性和可观察性的定义。此外,它还使用了一个真实的例子,将微服务环境中的网络挑战(非技术人员无法理解的问题)与 wifi 问题(使用笔记本电脑的人都能理解的问题)进行比较。在可能的情况下,尝试建立这种联系。 -#### 从谷歌或Word文档开始 +#### 从Google 或 Word 文档开始 -我们建议从 Google 或 Word 文档开始,让它静置几天,然后再重新审视。这将使你能够抓住那些可以用更简单和更容易理解的方式来表达的短语或表达方式。此外,确保在提交公关前进行拼写检查。 +我们建议从 Google 或 Word 文档开始,让它静置几天,然后再重新审视。这将使你能够抓住那些可以用更简单和更容易理解的方式来表达的短语或表达方式。此外,确保在提交 PR 前进行拼写检查。 -为了确保在工作期间没有其他人提交PR,请确保申请一个问题(或创建一个),并将其分配给你。 更多信息请参见 [如何贡献](/zh-cn/contribute/) 文档。 +为了确保在工作期间没有其他人提交 PR,请确保申请一个问题(或创建一个),并将其分配给你。 更多信息请参见 [如何贡献](/zh-cn/contribute/) 文档。 在开始之前,请阅读一些已发表的词汇表术语,以了解其详细程度和难度,以及何时举例合适。 From 5874d6faa961e13fb2a0fa6953e2591d107a923b Mon Sep 17 00:00:00 2001 From: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> Date: Wed, 15 Jun 2022 16:33:28 +0800 Subject: [PATCH 24/81] docs: update terminologie in zh-cn Signed-off-by: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> --- content/zh-cn/continuous_delivery.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/continuous_delivery.md b/content/zh-cn/continuous_delivery.md index 2b4bb75fb3..db66ca0fd2 100644 --- a/content/zh-cn/continuous_delivery.md +++ b/content/zh-cn/continuous_delivery.md @@ -19,7 +19,7 @@ CD 关键是包括确保软件在部署前得到充分测试的程序,并提 ## 如何帮助 -CD 策略创建了一个完全自动化的生产路径,使用各种部署策略测试和部署软件,如 [canary](/zh-cn/canary_deployment/) 或 [blue-green](/zh-cn/blue_green_deployment/) 发布。 +CD 策略创建了一个完全自动化的生产路径,使用各种部署策略测试和部署软件,如 [金丝雀部署](/zh-cn/canary_deployment/) 或 [蓝绿部署](/zh-cn/blue_green_deployment/) 发布。 这使得开发人员可以频繁地部署代码,让他们放心地认为新的修订版已经过测试。 通常情况下,CD 策略中使用基于主干的开发,而不是功能分支或拉动请求。 From 26328ca0de765d11c1d42eb665009619c318ebd4 Mon Sep 17 00:00:00 2001 From: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> Date: Wed, 15 Jun 2022 16:45:02 +0800 Subject: [PATCH 25/81] docs: add missing blank Signed-off-by: Yuedong Wu <57584831+lunarwhite@users.noreply.github.com> --- content/zh-cn/style-guide/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/style-guide/_index.md b/content/zh-cn/style-guide/_index.md index c251a8eb65..5b7634f0b8 100644 --- a/content/zh-cn/style-guide/_index.md +++ b/content/zh-cn/style-guide/_index.md @@ -124,7 +124,7 @@ category: 概念 **例子**:看看 [服务网格](/zh-cn/service_mesh/)的 "是什么" 部分。它链接到了微服务、服务、可靠性和可观察性的定义。此外,它还使用了一个真实的例子,将微服务环境中的网络挑战(非技术人员无法理解的问题)与 wifi 问题(使用笔记本电脑的人都能理解的问题)进行比较。在可能的情况下,尝试建立这种联系。 -#### 从Google 或 Word 文档开始 +#### 从 Google 或 Word 文档开始 我们建议从 Google 或 Word 文档开始,让它静置几天,然后再重新审视。这将使你能够抓住那些可以用更简单和更容易理解的方式来表达的短语或表达方式。此外,确保在提交 PR 前进行拼写检查。 From eb5bb13e50a90095416aa2fa4513dd949345e7d5 Mon Sep 17 00:00:00 2001 From: Andong LIAO Date: Fri, 17 Jun 2022 11:46:17 +0800 Subject: [PATCH 26/81] [zh] translate abstraction (#947) Signed-off-by: Andong Liao --- content/zh-cn/abstraction.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 content/zh-cn/abstraction.md diff --git a/content/zh-cn/abstraction.md b/content/zh-cn/abstraction.md new file mode 100644 index 0000000000..fb226f6a46 --- /dev/null +++ b/content/zh-cn/abstraction.md @@ -0,0 +1,9 @@ +--- +title: 抽象 +status: Completed +category: 属性 +--- + +在计算的上下文中,抽象是一种对 [services](/service/) 的消费者(消费者可以是计算机程序或人类)隐藏其细节的表示法,使系统更通用也更容易理解。你的笔记本电脑的操作系统就是一个很好的例子。它把计算机工作的所有细节都抽象出来了。你不需要知道任何关于CPU、内存以及程序如何被运行,你只需操作操作系统,操作系统会处理这些细节。所有这些细节都隐藏在操作系统的“幕布”或抽象概念后面。 + +系统通常有多个抽象层。这大大简化了开发工作。在编程时,开发人员构建与特定抽象层兼容的组件,而不必担心可能非常异构的所有底层细节。如果组件能与抽象层一起工作,它就能与系统一起工作 —— 无论底层是什么样的。 From 87340022115e6e729bc08cced04d5fe5186439ed Mon Sep 17 00:00:00 2001 From: Wen Zhou <45026656+Submarinee@users.noreply.github.com> Date: Tue, 21 Jun 2022 16:55:56 +0800 Subject: [PATCH 27/81] [zh] localize database_as_a_service.md (#945) * localize database_as_a_service.md * Update database_as_a_service.md Co-authored-by: Brian Yan <44219737+Rocksnake@users.noreply.github.com> --- content/zh-cn/database_as_a_service.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/zh-cn/database_as_a_service.md diff --git a/content/zh-cn/database_as_a_service.md b/content/zh-cn/database_as_a_service.md new file mode 100644 index 0000000000..8438b2ce98 --- /dev/null +++ b/content/zh-cn/database_as_a_service.md @@ -0,0 +1,17 @@ +--- +title: 数据库即服务 (DBaaS) +status: Completed +category: 技术 +--- + +## 是什么 + +数据库即服务 (DBaaS) 是由[云](/zh-cn/cloud_computing/)运营商(公共或私有)管理的服务,它支持应用程序,而无需应用程序团队执行传统的数据库管理功能。 DBaaS 允许应用程序开发人员利用数据库,而无需成为专家或聘请数据库管理员 (DBA) 来保持数据库最新状态。 + +## 解决的问题 + +传统上,在本地设置中,组织必须定期投资额外的存储和处理能力,以适应可能昂贵的数据库扩展。 此外,开发人员在 IT 基础架构团队的帮助下配置和配置数据库,从而降低了数据库驱动应用程序的部署速度。 加载和执行它们也需要更长的时间。 + +## 如何帮助 + +DBaaS 允许开发人员将所有管理/行政操作外包给基于云的服务提供商。 服务提供商确保数据库顺利运行,包括配置管理、备份、补丁、升级、服务监控等,并通过用户友好的界面进行管理。 DBaaS 可帮助组织更快地开发企业级应用程序,同时最大限度地降低数据库成本。 From 3f4a9fa2a878021874f9f07cc5253a93d02b1926 Mon Sep 17 00:00:00 2001 From: Jacob953 Date: Wed, 22 Jun 2022 14:42:22 +0800 Subject: [PATCH 28/81] format code style --- content/zh-cn/serverless.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/content/zh-cn/serverless.md b/content/zh-cn/serverless.md index b39e9b421b..3bd1677b12 100644 --- a/content/zh-cn/serverless.md +++ b/content/zh-cn/serverless.md @@ -5,11 +5,14 @@ Category: 技术 --- ## 是什么 + Serverless 是一种云原生开发模型,允许开发人员构建和运行应用程序,而无需管理服务器。 Serverless 中仍有服务器,但它们被 [抽象](/abstraction/) 出来,远离应用程序开发。 云提供商处理配置、维护和 [伸缩](/zh-cn/scalability/) 服务器基础架构的日常工作。 开发人员可以简单地将他们的代码打包在 [容器](/zh-cn/container/) 中进行部署。 部署后,Serverless 应用程序会响应需求并根据需要自动扩展和缩减。 公共云提供商的 Serverless 产品通常通过事件驱动的执行模型按需计量。 因此,当无服务器功能处于空闲状态时,它不会花费任何费用。 ## 解决的问题 + 在标准的 [基础设施即服务 (IaaS)](/infrastructure_as_a_service/) [云计算](/zh-cn/cloud_computing/) 模型下,用户预先购买容量单位,这意味着您需要向公共云提供商支付永远在线的服务器组件的费用来运行您的应用程序。 用户有责任在高需求时伸缩服务器容量,并在不在需要该容量时缩减容量。 即使在不使用应用程序时,运行应用程序所需的云基础设施也处于活动状态。 ## 如何帮助 -相比之下,使用Serverless架构,应用程序仅在需要时启动。 当事件触发应用程序代码运行时,公共云提供商会为该代码动态分配资源。 当代码执行完成后,用户就停止为资源付款。除了成本和效率优势之外,Serverless还使开发人员从与应用程序扩展和服务器配置相关的日常和琐碎任务中解放出来。 借助Serverless,管理操作系统和文件系统、安全补丁、负载平衡、容量管理、伸缩、日志记录和监控等日常任务都被交给云服务提供商。 + +相比之下,使用 Serverless 架构,应用程序仅在需要时启动。 当事件触发应用程序代码运行时,公共云提供商会为该代码动态分配资源。 当代码执行完成后,用户就停止为资源付款。除了成本和效率优势之外,Serverless 还使开发人员从与应用程序扩展和服务器配置相关的日常和琐碎任务中解放出来。 借助 Serverless,管理操作系统和文件系统、安全补丁、负载平衡、容量管理、伸缩、日志记录和监控等日常任务都被交给云服务提供商。 From 6e3d0d1faeee6dc920d5e29df4b89c124a310f1e Mon Sep 17 00:00:00 2001 From: Andong Liao Date: Fri, 24 Jun 2022 17:59:58 +0800 Subject: [PATCH 29/81] [zh] translate nodes Signed-off-by: Andong Liao --- content/zh-cn/nodes.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/zh-cn/nodes.md diff --git a/content/zh-cn/nodes.md b/content/zh-cn/nodes.md new file mode 100644 index 0000000000..187553ca8a --- /dev/null +++ b/content/zh-cn/nodes.md @@ -0,0 +1,17 @@ +--- +title: 节点 +status: Completed +category: 概念 +--- + +## 是什么 + +节点是一台能与其他计算机(或节点)协同工作以完成一个共同任务的计算机。以你的笔记本电脑、调制解调器或打印机为例。它们都通过你的 wifi 网络进行通信和协作,各自代表一个节点。在[云计算](/zh-cn/cloud_computing/)中,节点可以是一台物理计算机,也可以是一台虚拟计算机(即虚拟机),甚至可以是[容器](/zh-cn/container/)。 + +## 解决的问题 + +虽然一个应用程序可以(很多应用程序确实是)运行在一台独立的机器上,但这样做存在一些风险。也就是说,底层系统的故障将会破坏应用程序。为了解决这个问题,开发人员开始创建[分布式应用程序](/zh-cn/distributed_apps/),其中每个进程都在自己的节点上运行。因此,节点作为[集群](/zh-cn/cluster/)或节点组的一部分运行着应用程序或进程,而这些节点一起工作以实现共同的目标。 + +## 如何帮助 + +节点为你提供了一个可以分配给集群的独特计算单元(内存、CPU、网络)。在云原生平台或应用程序中,一个节点代表一个可执行工作的单元。理想情况下,单个节点是不作区分的,因为任何特定类型的节点与其相同类型的节点应该是不可区分的。 From c56b8192fc8d4e0ac3f1c9ea95ff174012313662 Mon Sep 17 00:00:00 2001 From: Chester Cheung Date: Sat, 25 Jun 2022 11:48:51 +0800 Subject: [PATCH 30/81] Update content/zh-cn/nodes.md Co-authored-by: Brian Yan <44219737+Rocksnake@users.noreply.github.com> --- content/zh-cn/nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/nodes.md b/content/zh-cn/nodes.md index 187553ca8a..53e3ae811a 100644 --- a/content/zh-cn/nodes.md +++ b/content/zh-cn/nodes.md @@ -6,7 +6,7 @@ category: 概念 ## 是什么 -节点是一台能与其他计算机(或节点)协同工作以完成一个共同任务的计算机。以你的笔记本电脑、调制解调器或打印机为例。它们都通过你的 wifi 网络进行通信和协作,各自代表一个节点。在[云计算](/zh-cn/cloud_computing/)中,节点可以是一台物理计算机,也可以是一台虚拟计算机(即虚拟机),甚至可以是[容器](/zh-cn/container/)。 +节点是一台能与其他计算机(或节点)协同工作以完成一个共同任务的计算机。以你的笔记本电脑、调制解调器或打印机为例。它们都通过你的 wifi 网络进行通信和协作,各自代表一个节点。在[云计算](/zh-cn/cloud_computing/)中,节点可以是一台物理机,也可以是一台虚拟机(即 VM),甚至可以是[容器](/zh-cn/container/)。 ## 解决的问题 From fc8557215affaa8bdc776ec8f07ede79adf0f4da Mon Sep 17 00:00:00 2001 From: Chester Cheung Date: Sat, 25 Jun 2022 11:49:07 +0800 Subject: [PATCH 31/81] Update content/zh-cn/nodes.md Co-authored-by: Jihoon Seo <46767780+jihoon-seo@users.noreply.github.com> --- content/zh-cn/nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/nodes.md b/content/zh-cn/nodes.md index 53e3ae811a..9e94ae7cb0 100644 --- a/content/zh-cn/nodes.md +++ b/content/zh-cn/nodes.md @@ -10,7 +10,7 @@ category: 概念 ## 解决的问题 -虽然一个应用程序可以(很多应用程序确实是)运行在一台独立的机器上,但这样做存在一些风险。也就是说,底层系统的故障将会破坏应用程序。为了解决这个问题,开发人员开始创建[分布式应用程序](/zh-cn/distributed_apps/),其中每个进程都在自己的节点上运行。因此,节点作为[集群](/zh-cn/cluster/)或节点组的一部分运行着应用程序或进程,而这些节点一起工作以实现共同的目标。 +虽然一个应用程序可以(很多应用程序确实是)运行在一台独立的机器上,但这样做存在一些风险。也就是说,底层系统的故障将会破坏应用程序。为了解决这个问题,开发人员开始创建[分布式应用程序](/zh-cn/distributed-apps/),其中每个进程都在自己的节点上运行。因此,节点作为[集群](/zh-cn/cluster/)或节点组的一部分运行着应用程序或进程,而这些节点一起工作以实现共同的目标。 ## 如何帮助 From 0ec1577efe12d33d85950fe15d8e485ff9b04de1 Mon Sep 17 00:00:00 2001 From: Chester Cheung Date: Sat, 25 Jun 2022 11:49:37 +0800 Subject: [PATCH 32/81] Update content/zh-cn/nodes.md --- content/zh-cn/nodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/nodes.md b/content/zh-cn/nodes.md index 9e94ae7cb0..a63edbbfaa 100644 --- a/content/zh-cn/nodes.md +++ b/content/zh-cn/nodes.md @@ -6,7 +6,7 @@ category: 概念 ## 是什么 -节点是一台能与其他计算机(或节点)协同工作以完成一个共同任务的计算机。以你的笔记本电脑、调制解调器或打印机为例。它们都通过你的 wifi 网络进行通信和协作,各自代表一个节点。在[云计算](/zh-cn/cloud_computing/)中,节点可以是一台物理机,也可以是一台虚拟机(即 VM),甚至可以是[容器](/zh-cn/container/)。 +节点是一台能与其他计算机(或节点)协同工作以完成一个共同任务的计算机。以你的笔记本电脑、调制解调器或打印机为例。它们都通过你的 wifi 网络进行通信和协作,各自代表一个节点。在[云计算](/zh-cn/cloud-computing/)中,节点可以是一台物理机,也可以是一台虚拟机(即 VM),甚至可以是[容器](/zh-cn/container/)。 ## 解决的问题 From bcc28c8c82c97e22c745c0c95272bacdd5444198 Mon Sep 17 00:00:00 2001 From: Petrie Liu <244236866@qq.com> Date: Mon, 27 Jun 2022 22:13:02 +0800 Subject: [PATCH 33/81] [zh] complete CNCF Slack link (#1003) * complete CNCF Slack link Signed-off-by: Petrie * revert invalid change Signed-off-by: Petrie --- content/zh-cn/_index.md | 2 +- content/zh-cn/contribute/_index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/zh-cn/_index.md b/content/zh-cn/_index.md index 781bd6eedf..69b6f4cda5 100644 --- a/content/zh-cn/_index.md +++ b/content/zh-cn/_index.md @@ -12,7 +12,7 @@ title: "云原生词汇表" 我们欢迎所有人对本词汇表提出修改、添加和改进建议。我们采用了 CNCF 所管理的社区驱动流程来开发和改进这个共享词典。该词汇表提供了一个厂商中立的平台,用于管理云原生技术的共享词汇表。欢迎所有参与者在遵守本项目的目的和章程的前提下作出贡献。 -任何想要贡献的人都可以提交 GitHub issue 或 创建 PR。欲了解更多信息,请查看 [如何贡献](/zh-cn/contribute/) 和遵循 [样式指南](/zh-cn/style-guide/),并加入 CNCF Slack 中的 #glossary 频道。这里还有 #glossary-localizations 频道,供想要将 glossary 翻译成母语的人使用。 +任何想要贡献的人都可以提交 GitHub issue 或 创建 PR。欲了解更多信息,请查看 [如何贡献](/zh-cn/contribute/) 和遵循 [样式指南](/zh-cn/style-guide/),并加入 CNCF Slack 中的 [#glossary](https://cloud-native.slack.com/archives/C02TX20MQBB) 频道。这里还有 [#glossary-localizations](https://cloud-native.slack.com/archives/C02N2RGFXDF) 频道,供想要将 glossary 翻译成母语的人使用。 ## 致谢 diff --git a/content/zh-cn/contribute/_index.md b/content/zh-cn/contribute/_index.md index 9cada23578..1bc5f518ef 100644 --- a/content/zh-cn/contribute/_index.md +++ b/content/zh-cn/contribute/_index.md @@ -127,4 +127,4 @@ menu: ## 云原生词汇表翻译帮助 -为了帮助将云原生词汇表翻译成您的母语,请加入 CNCF Slack 上的 #glossary-localizations 频道并告诉我们。您可以加入现有团队或创建新团队(要查看需要什么,请查看 [Localization Guide](https://github.com/cncf/glossary/blob/main/LOCALIZATION.md))。也请参加我们每月的词汇表工作组会议。你可以在 [CNCF 日历](https://www.cncf.io/calendar/) 中找到会议详情。我们期待在那里与您见面! +为了帮助将云原生词汇表翻译成您的母语,请加入 CNCF Slack 上的 [#glossary-localizations](https://cloud-native.slack.com/archives/C02N2RGFXDF) 频道并告诉我们。您可以加入现有团队或创建新团队(要查看需要什么,请查看 [Localization Guide](https://github.com/cncf/glossary/blob/main/LOCALIZATION.md))。也请参加我们每月的词汇表工作组会议。你可以在 [CNCF 日历](https://www.cncf.io/calendar/) 中找到会议详情。我们期待在那里与您见面! From c3de087934fdefadac5719e12d858e125ce81587 Mon Sep 17 00:00:00 2001 From: Edson C Date: Fri, 1 Jul 2022 14:20:25 -0300 Subject: [PATCH 34/81] Merge `dev-pt` into `main` (#1010) --- content/pt-br/cloud-computing.md | 14 +++++++++++++ content/pt-br/cloud-native-apps.md | 4 ++-- content/pt-br/cloud-native-tech.md | 17 ++++++++++++++++ content/pt-br/containerization.md | 2 +- content/pt-br/data-center.md | 17 ++++++++++++++++ content/pt-br/serverless.md | 17 ++++++++++++++++ content/pt-br/site-reliability-engineering.md | 17 ++++++++++++++++ content/pt-br/software-as-a-service.md | 17 ++++++++++++++++ content/pt-br/stateful-apps.md | 17 ++++++++++++++++ content/pt-br/stateless-apps.md | 17 ++++++++++++++++ content/pt-br/transport-layer-security.md | 20 +++++++++++++++++++ content/pt-br/version-control.md | 17 ++++++++++++++++ content/pt-br/vertical-scaling.md | 17 ++++++++++++++++ content/pt-br/virtual-machine.md | 19 ++++++++++++++++++ content/pt-br/virtualization.md | 17 ++++++++++++++++ content/pt-br/zero-trust-architecture.md | 17 ++++++++++++++++ 16 files changed, 243 insertions(+), 3 deletions(-) create mode 100644 content/pt-br/cloud-computing.md create mode 100644 content/pt-br/cloud-native-tech.md create mode 100644 content/pt-br/data-center.md create mode 100644 content/pt-br/serverless.md create mode 100644 content/pt-br/site-reliability-engineering.md create mode 100644 content/pt-br/software-as-a-service.md create mode 100644 content/pt-br/stateful-apps.md create mode 100644 content/pt-br/stateless-apps.md create mode 100644 content/pt-br/transport-layer-security.md create mode 100644 content/pt-br/version-control.md create mode 100644 content/pt-br/vertical-scaling.md create mode 100644 content/pt-br/virtual-machine.md create mode 100644 content/pt-br/virtualization.md create mode 100644 content/pt-br/zero-trust-architecture.md diff --git a/content/pt-br/cloud-computing.md b/content/pt-br/cloud-computing.md new file mode 100644 index 0000000000..64f8a5e926 --- /dev/null +++ b/content/pt-br/cloud-computing.md @@ -0,0 +1,14 @@ +--- +title: Computação em Nuvem +status: Completed +category: conceito +--- + +## O que é +Computação em nuvem é um modelo que oferece recursos computacionais, como CPU, rede e disco, sob demanda através da internet. A computação em nuvem permite que usuários acessem e usem poder computacional a partir de um local físico remoto. Provedores de nuvem, como AWS, GCP, Azure, Digital Ocean e outros, oferecem a terceiros a capacidade de alugar acesso a recursos computacionais em múltiplas localizações geográficas. + +## Problema relacionado +As organizações tradicionalmente enfrentavam dois problemas principais ao tentar expandir seu uso de poder computacional. Ou elas adquiriam, suportavam, projetavam e pagavam por locais para armazenar sua rede e servidores físicos, ou elas expandiam e mantinham esses locais. A computação em nuvem permite que organizações terceirizem parte da sua demanda computacional para outra organização. + +## Como isso ajuda +Provedores de nuvem oferecem às organizações a capacidade de alugar recursos computacionais sob demanda e pagar pelo seu uso. Isso permite duas grandes inovações: as organizações podem experimentar coisas sem perder tempo planejando e sem gastar dinheiro ou recursos em infraestrutura física e também podem [escalar](/scalability/) conforme necessário e sob demanda. A computação em nuvem permite que as organizações adotem a quantidade de infraestrutura que for necessária. diff --git a/content/pt-br/cloud-native-apps.md b/content/pt-br/cloud-native-apps.md index e183b1126f..ae9912d815 100644 --- a/content/pt-br/cloud-native-apps.md +++ b/content/pt-br/cloud-native-apps.md @@ -6,11 +6,11 @@ category: conceito ## O que é -As aplicações nativas em nuvem são projetadas especificamente para aproveitar as inovações em [computação em nuvem](/cloud-computing/). Essas aplicações se integram facilmente às suas respectivas arquiteturas de nuvem, aproveitando, assim, os recursos e o [dimensionamento](/scalability/) da nuvem. Também se refere a aplicativos que aproveitam as inovações da infraestrutura impulsionadas pela computação em nuvem. Hoje, as aplicações nativas em nuvem incluem aplicativos que são executados tanto em datacenter de um provedor de nuvem pública, quanto em plataformas de nuvens privadas. +As aplicações nativas em nuvem são projetadas especificamente para aproveitar as inovações em [computação em nuvem](/pt-br/cloud-computing/). Essas aplicações se integram facilmente às suas respectivas arquiteturas de nuvem, aproveitando, assim, os recursos e o [dimensionamento](/scalability/) da nuvem. Também se refere a aplicativos que aproveitam as inovações da infraestrutura impulsionadas pela computação em nuvem. Hoje, as aplicações nativas em nuvem incluem aplicativos que são executados tanto em datacenter de um provedor de nuvem pública, quanto em plataformas de nuvens privadas. ## Problema relacionado -Tradicionalmente, os ambientes locais forneciam recursos de computação de maneira bastante personalizada. Cada datacenter tinha seus serviços [fortemente acomplados](/tightly-coupled-architectures/) aos aplicativos e a ambientes específicos, muitas vezes contando com o provisionamento manual para infraestrutura, como serviços e [máquinas virtuais](/virtual-machine/). Isso, por sua vez, restringiu os desenvolvedores e seus aplicativos a esse datacenter específico. Aplicativos que não foram projetados para a nuvem não poderiam aproveitar os recursos de resiliência e dimensionamento de um ambiente em nuvem. Por exemplo, os aplicativos que exigem intervenção manual para iniciar corretamente não podem escalar automaticamente, nem podem ser reiniciados automaticamente em caso de falha. +Tradicionalmente, os ambientes locais forneciam recursos de computação de maneira bastante personalizada. Cada datacenter tinha seus serviços [fortemente acoplados](/tightly-coupled-architectures/) aos aplicativos e a ambientes específicos, muitas vezes contando com o provisionamento manual para infraestrutura, como serviços e [máquinas virtuais](/pt-br/virtual-machine/). Isso, por sua vez, restringiu os desenvolvedores e seus aplicativos a esse datacenter específico. Aplicativos que não foram projetados para a nuvem não poderiam aproveitar os recursos de resiliência e dimensionamento de um ambiente em nuvem. Por exemplo, os aplicativos que exigem intervenção manual para iniciar corretamente não podem escalar automaticamente, nem podem ser reiniciados automaticamente em caso de falha. ## Como isso ajuda diff --git a/content/pt-br/cloud-native-tech.md b/content/pt-br/cloud-native-tech.md new file mode 100644 index 0000000000..548edd18df --- /dev/null +++ b/content/pt-br/cloud-native-tech.md @@ -0,0 +1,17 @@ +--- +title: Tecnologia Nativa da Nuvem +status: Completed +category: conceito +--- + +## O que é + +As tecnologias nativas da nuvem, também conhecidas como a *stack* nativa da nuvem, são as tecnologias usadas para criar [aplicativos nativos da nuvem](/pt-br/cloud-native-apps/). Essas tecnologias permitem que as organizações criem e executem aplicações escaláveis em ambientes modernos e dinâmicos, tais como as nuvens públicas, privadas e híbridas, ao mesmo tempo em que aproveitam ao máximo os benefícios da [computação em nuvem](/pt-br/cloud-computing/). Eles são projetados desde o início para explorar os recursos de computação em nuvem e contêineres, serviços em malha, microsserviços e infraestrutura imutável exemplificam essa abordagem. + +## Problema relacionado + +A *stack* nativa da nuvem tem muitas categorias com tecnologia diferentes, abordando uma variedade de desafios. Se você der uma olhada no [CNCF Cloud Native Landscape](https://landscape.cncf.io/), verá quantas áreas diferentes são mantidas. Mas em um alto nível, eles abordam um conjunto principal de desafios: as desvantagens dos tradicionais modelos de TI. Os desafios incluem dificuldades na criação de aplicativos escaláveis, tolerantes a falhas e auto-regenerável, bem como utilização ineficiente de recursos, entre outros. + +## Como isso ajuda + +Embora cada tecnologia aborde um problema muito específico, como um grupo, as tecnologias nativas da nuvem permitem sistemas superficialmente acoplados que são resilientes, gerenciáveis e observáveis. Combinados com automação robusta, eles permitem que os engenheiros façam mudanças de alto impacto com frequência e previsivelmente com o mínimo de esforço. As características desejáveis dos sistemas nativos da nuvem são mais fáceis de alcançar com a *stack* nativa da nuvem. diff --git a/content/pt-br/containerization.md b/content/pt-br/containerization.md index ea919cad3f..822a103496 100644 --- a/content/pt-br/containerization.md +++ b/content/pt-br/containerization.md @@ -6,7 +6,7 @@ category: tecnologia ## O que é -A conteinerização é o processo de agrupar uma aplicação e suas dependências em uma [imagem de contêiner](/container-image/). O processo de criação do contêiner requer adesão ao padrão [Open Container Initiative](https://opencontainers.org) (OCI). Desde que a saída seja uma imagem de contêiner que atenda a esse padrão, a ferramenta de conteinerização usada não importa. +A conteinerização é o processo de agrupar uma aplicação e suas dependências em uma [imagem de contêiner](/pt-br/container-image/). O processo de criação do contêiner requer adesão ao padrão [Open Container Initiative](https://opencontainers.org) (OCI). Desde que a saída seja uma imagem de contêiner que atenda a esse padrão, a ferramenta de conteinerização usada não importa. ## Problema relacionado diff --git a/content/pt-br/data-center.md b/content/pt-br/data-center.md new file mode 100644 index 0000000000..06d82dcd03 --- /dev/null +++ b/content/pt-br/data-center.md @@ -0,0 +1,17 @@ +--- +title: Data Center +status: Feedback Appreciated +category: tecnologia +--- + +## O que é + +Um *data center* é um edifício ou uma instalação especializada e projetada especificamente para abrigar computadores, na maioria das vezes servidores. Os *data centers* tendem a ser conectados a linhas dedicadas de internet de alta velocidade, especialmente no caso de *data centers* focados em [computação em nuvem](/pt-br/cloud-computing/). Os *data centers* também possuem equipamentos para manter o serviço em caso de eventos inesperados, como geradores para fornecer energia durante interrupções, bem como um poderoso ar-condicionado para lidar com o calor residual produzido pelos computadores. + +## Problema relacionado + +Em vez de cada empresa ter que hospedar localmente seu próprio servidor, os data centers permitem que empresas e indivíduos aproveitem o conhecimento especializado e a eficiência da escala dos *data centers*. Isso significa, por exemplo, não ter que se preocupar com o gerenciamento de fonte de alimentação de energia, tecnologia de combate à incêndio, ar-condicionado ou conectividade de internet de alta velocidade. + +## Como isso ajuda + +Para a computação em nuvem, os *data centers* são cruciais. Como os recursos e a infraestrutura podem ser provisionados de acordo com a [escala da demanda](/scalability/), as empresas podem alugar recursos de computação em nuvem em um *data center* sem ter que se preocupar com a previsão - e potencialmente o recurso ou pagamento excessivo - de recursos de computação. Como os *data centers* existem em todo o mundo, isso permite o provisionamento de recursos geograficamente próximos da demanda sem ter que enviar e configurar equipamentos fisicamente. diff --git a/content/pt-br/serverless.md b/content/pt-br/serverless.md new file mode 100644 index 0000000000..b5e11d055e --- /dev/null +++ b/content/pt-br/serverless.md @@ -0,0 +1,17 @@ +--- +Title: Serverless +Status: Completed +Category: tecnologia +--- + +## O que é + +Serverless é um modelo de desenvolvimento nativo na nuvem que permite que desenvolvedores criem aplicações sem que seja necessário gerenciar servidores. Ainda existem servidores no modelo serverless, mas eles são [abstraídos](/pt-br/abstraction/) do desenvolvimento. Um provedor de computação em nuvem se encarrega do provisionamento, manutenção e [escala](/scalability/) da infraestrutura de servidores. Desenvolvedores podem simplesmente carregar o código em [contêineres](/pt-br/container/) para implantação. Uma vez implantadas, aplicações serverless respondem automaticamente à demanda, escalando para cima e para baixo conforme necessário. O preço cobrado por provedores de computação em nuvem para funções serverless geralmente é realizada com base na sua utilização sob demanda. Como resultado disto, quando uma função serverless não está em execução ela não tem custo algum. + +## Problema relacionado + +Em um modelo de [computação em nuvem](/pt-br/cloud-computing/) com [Infraestrutura-como-Serviço (IaaS)](/infrastructure-as-a-service/), usuários adquirem unidades de capacidade, o que significa que o provedor da nuvem fornece componentes de servidores sempre disponíveis para a execução de aplicações. É responsabilidade do usuário fazer com que os servidores escalem para cima durante períodos de alta demanda e que escalem para baixo quando a capacidade fornecida não é mais necessária. A infraestrutura de nuvem utilizada para executar uma aplicação fica, no entanto, ativa mesmo quando a aplicação não está sendo utilizada. + +## Como isso ajuda + +Na arquitetura serverless as aplicações são iniciadas conforme necessárias. Quando um evento ocorre o provedor da nuvem aloca os recursos dinamicamente para que o código da aplicação possa ser executado. O usuário deixa de pagar no momento em que o código finaliza sua execução. Além dos benefícios de custo e eficiência, a utilização de serverless libera pessoas desenvolvedoras de rotinas e tarefas relacionadas ao provisionamento de servidores e escala da aplicação. Com serverless tarefas rotineiras como gerenciar sistemas operacionais, correções de segurança, balanceamento de carga, gerenciamento de capacidade, escala, coleta de registros e monitoramento são todas atribuídas ao provedor do serviço de computação em nuvem. diff --git a/content/pt-br/site-reliability-engineering.md b/content/pt-br/site-reliability-engineering.md new file mode 100644 index 0000000000..4d07293b52 --- /dev/null +++ b/content/pt-br/site-reliability-engineering.md @@ -0,0 +1,17 @@ +--- +title: Engenharia de Confiabilidade de Sites +status: Completed +category: conceito +--- + +## O que é + +Engenharia de Confiabilidade de Sites (do inglês *Site Reliability Engineering* - SRE) é uma disciplina que combina operações e engenharia de software. Este último é aplicado especificamente a problemas de infraestrutura e operações. Ou seja, em vez de criar recursos do produto, os Engenheiros de Confiabilidade criam sistemas para rodar aplicativos. Existem semelhanças com o DevOps, mas enquanto o DevOps se concentra em colocar o código em produção, o SRE garante que o código em execução na produção funcione corretamente. + +## Problema relacionado + +Garantir que os aplicativos sejam executados de forma confiável requer vários recursos, desde monitoramento de desempenho, alerta, depuração até solução de problemas. Sem isso, os operadores do sistema só podem reagir a problemas vs. trabalhar proativamente para evitá-los - o tempo de inatividade só se torna uma questão de tempo. + +## Como isso ajuda + +Uma abordagem SRE minimiza o custo, o tempo e o esforço do processo de desenvolvimento de software, melhorando continuamente. O sistema mede e monitora continuamente a infraestrutura e os componentes da aplicação. Quando algo dá errado, o sistema aponta os Engenheiros de Confiabilidade para quando, onde e como corrigi-lo. Essa abordagem ajuda a criar sistemas de software altamente escaláveis e confiáveis, automatizando tarefas operacionais. diff --git a/content/pt-br/software-as-a-service.md b/content/pt-br/software-as-a-service.md new file mode 100644 index 0000000000..1599e13698 --- /dev/null +++ b/content/pt-br/software-as-a-service.md @@ -0,0 +1,17 @@ +--- +Title: Software como Serviço +Status: Completed +Category: tecnologia +--- + +## O que é + +O Software como Serviço (do inglês *Software as a service* - SaaS) permite que os usuários se conectem e usem serviços baseados em nuvem. Exemplos comuns são as ferramentas de e-mail, de calendário e de escritório (como Gmail, Amazon Web Services, GitHub, Slack). O SaaS fornece soluções completas de software com base de pagamento conforme o uso. Todas as tarefas de operações e manutenção, e dados do aplicativo, são tratadas pelo provedor de serviços. + +## Problema relacionado + +Tradicionalmente, o software de negócios é instalado em computadores individuais, exigindo que um administrador mantenha e atualize. Por exemplo: uma organização pode usar software local para gerenciamento de relacionamento com o cliente. Este software precisa ser comprado, instalado, protegido, mantido e atualizado regularmente pelo departamento interno de Tecnologia da Informação (TI), sobrecarregando a equipe de TI. O custo inicial associado a licenças, instalação e hardware potencialmente adicional pode ser proibitivo. Também pode ser difícil responder à demanda e a [escala](/scalability/) para cima e para baixo, conforme necessário, rapidamente em resposta ao crescimento ou mudança. + +## Como isso ajuda + +Os aplicativos SaaS funcionam sem exigir nenhum esforço específico da sua organização interna de TI. Eles são instalados, mantidos, atualizados e protegidos pelo fornecedor. Questões de escala, disponibilidade e capacidade são tratadas pelo provedor de serviços e, com um modelo de pagamento conforme o uso, podem ser uma maneira acessível para as organizações aproveitarem os aplicativos corporativos. diff --git a/content/pt-br/stateful-apps.md b/content/pt-br/stateful-apps.md new file mode 100644 index 0000000000..ddc1601e51 --- /dev/null +++ b/content/pt-br/stateful-apps.md @@ -0,0 +1,17 @@ +--- +title: Aplicações Stateful +status: Completed +category: conceito +--- + +## O que é + +Quando falamos das aplicações stateful e [stateless](/pt-br/stateless-apps/), nos referimos a todos os dados que a aplicação precisa armazenar para funcionar como projetada. Qualquer tipo de loja online que lembre do seu carrinho é uma aplicação stateful, por exemplo. + +## Problema relacionado + +O uso de uma aplicação geralmente requer várias requisições. Por exemplo, ao fazer as transações bancárias on-line, você se autenticará digitando sua senha (requisição #1), então você pode transferir o dinheiro para um amigo (requisição #2) e, finalmente, você vai querer ver os detalhes da transferência (requisição #3). Para funcionar corretamente, cada etapa tem que se lembrar das anteriores, e o banco precisa se lembrar do estado das contas de todos. Hoje, a maioria das aplicações que usamos é parcialmente stateful, pois armazena coisas como preferências e configurações para melhorar a experiência do usuário. + +## Como isso ajuda + +Existem várias maneiras de armazenar o estado de uma aplicação stateful. O mais simples é manter esse estado na memória e não persistir em nenhum outro lugar. O problema com isso é que, sempre que a aplicação precisa ser reiniciada, todo o estado será perdido. Para evitar isso, o estado deve persistir localmente (no disco) ou em sistemas de banco de dados. diff --git a/content/pt-br/stateless-apps.md b/content/pt-br/stateless-apps.md new file mode 100644 index 0000000000..88e329c2ef --- /dev/null +++ b/content/pt-br/stateless-apps.md @@ -0,0 +1,17 @@ +--- +title: Aplicações Stateless +status: Feedback Appreciated +category: tecnologia +--- + +## O que é + +Um aplicação stateless não salva nenhum dado de sessão do cliente no servidor onde a aplicação está. Cada sessão é realizada como se fosse a primeira vez e as respostas não dependem de dados de uma sessão anterior e fornecem funcionalidade para usar os serviços de impressão, rede de entrega de conteúdo ou os servidores web para processar todas as requisições de curto prazo. Por exemplo, alguém está pesquisando uma pergunta no mecanismo de pesquisa e pressionou o Enter. Caso a operação de pesquisa seja interrompida ou fechada por algum motivo, você terá que iniciar uma nova, pois não há dados salvos para sua requisição anterior. + +## Problema relacionado + +Aplicações stateless resolvem o problema da resiliência, porque diferente dos pods em um [cluster](/pt-br/cluster/) podem funcionar de forma independente, com várias requisições chegando a elas ao mesmo tempo. Se houver um problema, você pode reiniciar facilmente a aplicação e ela retornará ao seu estado inicial com pouco ou nenhum tempo de inatividade. Como tal, os benefícios das aplicações stateless incluem a resiliência, a elasticidade e a alta disponibilidade. No entanto, a maioria das aplicações que usamos hoje é pelo menos parcialmente [stateful](/pt-br/stateful_apps/), pois armazenam coisas como preferências e configurações para melhorar a experiência do usuário. + +## Como isso ajuda + +Em resumo, em uma aplicação stateless, a única coisa pela qual seu cluster é responsável é o código e outros conteúdos estáticos que estão hospedados nele. É isso, sem alterações de bancos de dados, sem gravações e sem sobras de arquivos quando o pod é excluído. [Contêineres](/pt-br/container/) stateless são mais fáceis de implantar, e você não precisa se preocupar em salvar os dados do contêiner em volumes de armazenamento persistentes. Você também não precisa se preocupar em fazer uma cópia de segurança dos dados. diff --git a/content/pt-br/transport-layer-security.md b/content/pt-br/transport-layer-security.md new file mode 100644 index 0000000000..753357f155 --- /dev/null +++ b/content/pt-br/transport-layer-security.md @@ -0,0 +1,20 @@ +--- +title: TLS +status: Completed +category: conceito +--- + +## O que é isso + +Transport Layer Security (TLS) é um protocolo projetado para fornecer maior segurança à comunicação através de uma rede. Garante a entrega segura de dados enviados pela Internet, evitando possíveis monitoramentos e/ou alterações dos dados. Este protocolo é amplamente utilizado em aplicações como mensagens, e-mail, etc. + + +## Problema relacionado + +Sem o TLS, informações confidenciais, como hábitos de navegação, correspondência por e-mail, bate-papos on-line e chamadas de conferência, podem ser facilmente rastreadas e modificadas por outras pessoas durante a transmissão. Permitir que as aplicações de servidor e cliente suportem TLS garante que os dados transmitidos entre elas sejam criptografados e não possam ser visualizados por terceiros. + + +## Como isso ajuda + +O TLS usa uma combinação de técnicas de codificação que fornecem segurança ao transmitir dados através de uma rede. O TLS permite uma conexão criptografada entre uma aplicação cliente e um servidor, tal como um navegador da web e um site bancário. Ele também permite que as aplicações clientes identifiquem positivamente o servidor que está conectado, o que reduz o risco de um cliente se comunicar com um site fraudulento. Isso garante que terceiros não possam ver e monitorar dados transmitidos entre aplicações usando o TLS, o que protege informações confidenciais e privadas, como números de cartão de crédito, senhas, localização, etc. + diff --git a/content/pt-br/version-control.md b/content/pt-br/version-control.md new file mode 100644 index 0000000000..58ee11fc0f --- /dev/null +++ b/content/pt-br/version-control.md @@ -0,0 +1,17 @@ +--- +title: Controle de Versão +status: Completed +category: tecnologia +--- + +## O que é + +O controle de código (ou controle de versão) é a prática de rastrear e gerenciar alterações de um documento. É um sistema que registra alterações de um arquivo ou conjunto de arquivos ao longo do tempo para que você possa recuperar versões específicas mais tarde. + +## Problema relacionado + +Os sistemas de controle de versão resolvem os seguintes problemas: fazendo backup do documento ou do código à medida que ele muda ao longo do tempo, permite que vários usuários resolvam conflitos quando há alterações sobrepostas e armazenando um registro de alterações ao longo do tempo. O código do aplicativo muitas vezes pode ser complexo e crítico para os processos principais do negócio, por isso é importante rastrear quem mudou o quê, quando foi alterado e por quê. Além disso, muitos, se não a maioria dos aplicativos, são modificados por vários desenvolvedores, e muitas vezes há conflitos entre as alterações introduzidas por diferentes desenvolvedores. + +## Como isso ajuda + +O controle de versão ajuda os desenvolvedores a preservar a eficiência, armazenando um registro de alterações e fornecendo uma facilidade para resolver conflitos. Ele permite que eles armazenem o código do aplicativo em um repositório e simplifiquem a colaboração. O desenvolvimento moderno de aplicativos depende muito de sistemas de controle de versão, como o git, para armazenar seu código. diff --git a/content/pt-br/vertical-scaling.md b/content/pt-br/vertical-scaling.md new file mode 100644 index 0000000000..0af9d6e530 --- /dev/null +++ b/content/pt-br/vertical-scaling.md @@ -0,0 +1,17 @@ +--- +title: Escalonamento Vertical +status: Completed +category: conceito +--- + +## O que é + +O escalonamento vertical, também conhecido como "escalonamento para cima e para baixo", é uma técnica em que a capacidade de um sistema adiciona CPU e memória aos [nós](/nodes/) individuais à medida que a carga de trabalho aumenta. Digamos que você tenha um computador de 4GB de RAM e queira aumentar sua capacidade para 16GB de RAM, escalar verticalmente significa mudar para um sistema de 16GB de RAM. (Consulte [escalonamento horizontal](/horizontal-scaling/) para obter uma abordagem de dimensionamento diferente.) + +## Problema relacionado + +À medida que a demanda por um aplicativo cresce além da capacidade atual dessa instância do aplicativo, precisamos encontrar uma maneira de redimensionar (adicionar capacidade) ao sistema. Podemos adicionar mais recursos de computação aos nós existentes (escala vertical) ou mais nós ao sistema ([escala horizontal](/horizontal-scaling/)). [Escalabilidade](/scalability/) contribui para a competitividade, eficiência, reputação e qualidade. + +## Como isso ajuda + +O escalonamento vertical permite que você redimensione seu servidor sem alterar o código do aplicativo. Isso contrapõe com o escalonamento horizontal, onde o aplicativo deve ser replicado para escalar, que potencialmente exige atualizações do código. O escalonamento vertical aumenta a capacidade de um aplicativo existente, adicionando recursos de computação, permitindo que o aplicativo processe mais solicitações e faça mais trabalho simultaneamente. diff --git a/content/pt-br/virtual-machine.md b/content/pt-br/virtual-machine.md new file mode 100644 index 0000000000..f93926069a --- /dev/null +++ b/content/pt-br/virtual-machine.md @@ -0,0 +1,19 @@ +--- +title: Máquina Virtual +status: Completed +category: tecnologia +--- + +## O que é + +Uma máquina virtual ou VM (do inglês "Virtual Machine") é a inexistência de vínculo de um computador e seu sistema operacional a um hardware específico. As VMs dependem da [virtualização](/pt-br/virtualization/) para transformar um único computador físico em vários computadores virtuais. Essa separação permite que organizações e provedores de infraestrutura criem e destruam facilmente VMs sem afetar o hardware fisicamente. + +## Problema relacionado + +As máquinas virtuais se aproveitam da virtualização. Quando uma máquina [bare metal](/pt-br/bare-metal-machine/) está vinculada a um único sistema operacional, os recursos da máquina que podem ser usados são um pouco limitado. Além disso, quando um sistema operacional está vinculado a uma única máquina física, sua disponibilidade está diretamente ligada a esse hardware. Se a máquina física estiver desligada devido a falhas de manutenção ou hardware, o sistema operacional também estará. + +## Como isso ajuda + +Ao remover a relação direta entre um sistema operacional e uma única máquina física, você resolve vários problemas de máquinas *bare metal*: tempo de provisionamento, utilização de hardware e resiliência. + +Sem nenhum hardware novo para ser comprado, instalado ou configurado para suportá-lo, o tempo de provisionamento de um novo computador é drasticamente melhorado. As VMs permitem que você use melhor seus recursos de hardware físico existentes, colocando várias máquinas virtuais em uma única máquina física. Não vinculadas a uma determinada máquina física, as VMs também são mais resilientes do que as máquinas físicas. Quando uma máquina física precisar ficar desligada, as VMs em execução nela podem ser movidas para outra máquina com pouco ou nenhum tempo de inatividade. diff --git a/content/pt-br/virtualization.md b/content/pt-br/virtualization.md new file mode 100644 index 0000000000..97d025ba6c --- /dev/null +++ b/content/pt-br/virtualization.md @@ -0,0 +1,17 @@ +--- +title: Virtualização +status: completed +category: tecnologia +--- + +## O que é + +A virtualização, no contexto da computação nativa da nuvem, refere-se ao processo de pegar um computador físico, às vezes chamado de servidor, e permitir que ele execute vários sistemas operacionais isolados. Esses sistemas operacionais isolados e seus recursos de computação dedicados (CPU, memória e rede) são chamados de máquinas virtuais ou VMs (do inglês "Virtual Machine"). Quando falamos de uma máquina virtual, estamos falando de um computador definido por software. Algo que parece e age como um computador real, mas está compartilhando hardware com outras máquinas virtuais. Por exemplo, você pode alugar um "computador" da AWS - esse computador na verdade é uma VM. + +## Problema relacionado + +A virtualização resolve uma série de problemas, incluindo a melhoria do uso de hardware físico, permitindo que mais aplicativos sejam executados na mesma máquina física enquanto ainda estão isolados uns dos outros por segurança. + +## Como isso ajuda + +Os aplicativos em execução nas máquinas virtuais não têm conhecimento de que estão compartilhando um computador físico. A virtualização também permite que os usuários do datacenter levantem um novo "computador" virtualizado (VM) em minutos sem se preocupar com as restrições físicas de adicionar um novo computador físico ao datacenter. As VMs também permitem que os usuários acelerem o tempo para obter um novo computador virtual. \ No newline at end of file diff --git a/content/pt-br/zero-trust-architecture.md b/content/pt-br/zero-trust-architecture.md new file mode 100644 index 0000000000..f20204859c --- /dev/null +++ b/content/pt-br/zero-trust-architecture.md @@ -0,0 +1,17 @@ +--- +title: Arquitetura de Confiança Zero +status: Completed +category: conceito +--- + +## O que é + +A arquitetura de confiança zero (do inglês "Zero trust architecture") prescreve uma abordagem para o projeto e implementação de sistemas de TI onde a confiança é completamente removida. O princípio central é "nunca confie, sempre verifique", dispositivos ou sistemas em si, enquanto se comunicam com outros componentes de um sistema, sempre se verificam antes de fazê-lo. Atualmente, em muitas redes, dentro da rede corporativa, os sistemas e dispositivos internos podem se comunicar livremente uns com os outros, pois estão dentro do perímetro confiável da rede corporativa. A arquitetura de confiança zero adota a abordagem oposta, que, embora dentro do perímetro da rede, os componentes dentro do sistema primeiro precisam passar pela verificação antes que qualquer comunicação seja feita. + +## Problema relacionado + +Com a abordagem tradicional baseada em confiança, onde sistemas e dispositivos que existem dentro de um perímetro de rede corporativa, a suposição é que, como há confiança, não há problema. No entanto, a arquitetura de confiança zero reconhece que a confiança é uma vulnerabilidade. No caso de um invasor ter obtido acesso a um dispositivo confiável, dependendo do nível de confiança e acesso que foi dado a esse dispositivo, o sistema agora está vulnerável a ataques, pois o invasor está dentro do perímetro "confiável" de rede e é capaz de se mover lateralmente por todo o sistema. Em uma arquitetura de confiança zero, a confiança é removida, portanto, reduzindo a superfície de ataque força o invasor a verificar antes de ir mais longe em todo o sistema. + +## Como isso ajuda + +Adotar uma arquitetura de confiança zero traz o principal benefício do aumento da segurança com uma redução na superfície de ataque. Remover a confiança do seu sistema corporativo aumenta o número e a força das barreiras de segurança pelos quais um invasor precisa passar para obter acesso a outras áreas do sistema. From 971043e3baac61c86124885465a2e0876cc8a03a Mon Sep 17 00:00:00 2001 From: Seokho Son Date: Mon, 4 Jul 2022 20:30:31 +0900 Subject: [PATCH 35/81] Update settings for maintainers (#1023) Signed-off-by: Seokho Son --- .github/settings.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/settings.yml b/.github/settings.yml index ec015551a8..942700352a 100644 --- a/.github/settings.yml +++ b/.github/settings.yml @@ -30,12 +30,14 @@ collaborators: - username: seokho-son permission: admin - # English approvers (approver for all files in repository) - username: jihoon-seo - permission: push + permission: maintain - username: iamNoah1 - permission: push + permission: maintain + + # English approvers (approver for all files in repository) + # Localization approvers From 799947d9f12ba7024c03ab57535687497078802e Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Wed, 6 Jul 2022 10:07:19 +0800 Subject: [PATCH 36/81] translate debugging into chinese (#1044) Signed-off-by: Petrie --- content/zh-cn/debugging.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 content/zh-cn/debugging.md diff --git a/content/zh-cn/debugging.md b/content/zh-cn/debugging.md new file mode 100644 index 0000000000..2fbe613e67 --- /dev/null +++ b/content/zh-cn/debugging.md @@ -0,0 +1,28 @@ +--- +title: 调试 +status: Completed +category: 概念 +--- + +## 是什么 + +调试是从计算机程序、软件或系统中查找并解决故障(或错误) 以获得预期结果的过程或活动。 +故障是导致不正确或不符合预期结果的缺陷或问题。 + +## 解决的问题 + +软件开发是一项复杂的活动,在不引入故障的情况下编写代码几乎是不可能的。 +这些故障导致代码在执行时可能无法按预期运行,或产生未定义的行为。 +根据应用程序的重要性,故障可能会产生重大的负面影响 —— 经济上甚至是人类生活。 +通常,应用程序代码必须在不同阶段或环境被测试。 +应用程序越关键,测试就必须越准确。 + +## 如何帮助 + +当出现故障时,工程师通过调试(例如,查找和修复)应用程序以减少生产系统中的不良行为。 +调试并不是一件容易的事,因为工程师必须追踪不良行为的根源。 +它需要有关代码本身和运行时执行上下文的知识。 +这是不同的调试技术和工具派上用场的地方。 +例如,分析日志、链路信息和指标信息,用于直接在生产中进行调试。 +开发人员可以使用交互式调试在运行时单步执行代码,同时分析相关的执行上下文。 +一旦定位到故障的根源,他们通过发起修复错误的请求或者发布新的补丁来更正代码行为。 \ No newline at end of file From f158fd13835ee2c808eb41518cb7a4a5b79a22c5 Mon Sep 17 00:00:00 2001 From: Michael Hausenblas Date: Thu, 7 Jul 2022 06:18:12 +0100 Subject: [PATCH 37/81] expands and refines o11y definition (#1004) * expands and refines o11y definition Signed-off-by: Michael Hausenblas Signed-off-by: Michael Hausenblas * Update content/en/observability.md Signed-off-by: Michael Hausenblas Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Signed-off-by: Michael Hausenblas Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Signed-off-by: Michael Hausenblas Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Signed-off-by: Michael Hausenblas Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Signed-off-by: Michael Hausenblas Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Signed-off-by: Michael Hausenblas Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Signed-off-by: Michael Hausenblas Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Signed-off-by: Michael Hausenblas Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * Update content/en/observability.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Michael Hausenblas * rewrites o11y definition to concept Signed-off-by: Michael Hausenblas --- content/en/observability.md | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/content/en/observability.md b/content/en/observability.md index e2e79ab7fe..26a5d5e769 100644 --- a/content/en/observability.md +++ b/content/en/observability.md @@ -1,19 +1,24 @@ --- title: Observability status: Completed -category: property -tags: ["fundamentals", "", ""] +category: concept +tags: ["methodology", "application", "infrastructure"] --- -Observability is a characteristic of an application that refers to -how well a system's state or status can be understood from its external outputs. -Computer systems are measured by observing CPU time, memory, disk space, latency, errors, etc. -The more observable a system is, the easier it is to understand how it’s doing by looking at it. +## What it is -The observability of a system has a significant impact on its operating cost. -Observable systems yield meaningful, actionable data to their operators, -allowing them to achieve favorable outcomes and less downtime. -Note that more information does not necessarily translate into a more observable system. -In fact, sometimes the amount of information generated by a system can make it harder to -identify valuable health signals from the noise generated by the application. -Observability requires the right data to make the right decisions. +Observability is the capability to continuously generate and discover actionable insights based on signals from the system under observation. +In other words, observability allows users to understand a system's state from its external output and take (corrective) action. + +## Problem it addresses + +Computer systems are measured by observing low-level signals such as CPU time, memory, disk space, and higher-level and business signals, including API response times, errors, transactions per second, etc. + +The observability of a system has a significant impact on its operating and development costs. +Observable systems yield meaningful, actionable data to their operators, allowing them to achieve favorable outcomes (faster incident response, increased developer productivity) and less toil and downtime. + +## How it helps + +Understanding that more information does not necessarily translate into a more observable system is pivotal. +In fact, sometimes, the amount of information generated by a system can make it harder to identify valuable health signals from the noise generated by the application. +Observability requires the right data at the right time for the right consumer (human or piece of software) to make the right decisions. From 1d6e12a2a9e7f9c8b1b7381f0646043b96336c14 Mon Sep 17 00:00:00 2001 From: Chris Abraham Date: Fri, 8 Jul 2022 13:04:20 +0700 Subject: [PATCH 38/81] tweak to config to get search working on PR instances (#1050) Signed-off-by: cjyabraham --- config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.toml b/config.toml index f3aaab0b26..3f01870575 100644 --- a/config.toml +++ b/config.toml @@ -1,4 +1,4 @@ -baseURL = "https://glossary.cncf.io/" +baseURL = "/" title = "Cloud Native Glossary" enableRobotsTXT = true From c04837c80cec9dae6aa477bac97439b4ceb1bc3e Mon Sep 17 00:00:00 2001 From: Tanmay Sarkar <84321236+sarkartanmay393@users.noreply.github.com> Date: Fri, 8 Jul 2022 18:27:03 +0530 Subject: [PATCH 39/81] [en] Modify `load-balancer.md` (#1008) * sarkartanmay393: Modified load-balancer.md Signed-off-by: Tanmay Sarkar * sarkartanmay393: Changes. Signed-off-by: Tanmay Sarkar * Update content/en/load-balancer.md Co-authored-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> Signed-off-by: Tanmay Sarkar <84321236+sarkartanmay393@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> Signed-off-by: Tanmay Sarkar <84321236+sarkartanmay393@users.noreply.github.com> * add semantic line breaks Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Add semantic line breaks Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Add semantic line breaks Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Add semantic line breaks Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Update content/en/load-balancer.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Update content/en/load-balancer.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Update content/en/load-balancer.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Update content/en/load-balancer.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Update content/en/load-balancer.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Update content/en/load-balancer.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Update content/en/load-balancer.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Update content/en/load-balancer.md Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Signed-off-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> * Removing link We only need to link to a term once in each entry. Signed-off-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> Co-authored-by: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> --- content/en/load-balancer.md | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/content/en/load-balancer.md b/content/en/load-balancer.md index 995477993f..38e47fed86 100644 --- a/content/en/load-balancer.md +++ b/content/en/load-balancer.md @@ -7,17 +7,20 @@ tags: ["", "", ""] ## What it is -A load balancer is a method to distribute incoming network traffic across a group of servers in the back-end. -The solution can be software or hardware based. +A load balancer is a tool that efficiently distributes incoming requests among multiple instances of an application. +Take a [microservice](/microservices/) architecture for example, where each service can be [scaled horizontally](/horizontal-scaling/). +A load balancer sits in front of a scaled microservice and ensures that no one instance gets the bulk of the requests. +Load balancers can be software or hardware-based. ## Problem it addresses -This helps solve the issue related to high availability and distributed systems. -When working on an application or service that needs to scale to hundreds of thousands of users, -one will often need to distribute that application on multiple servers. -The load balancer is the "traffic cop" that routes traffic. +Modern applications and websites generally serve hundreds of thousands of simultaneous end-user requests. +To handle all those requests, applications are often scaled horizontally. +But horizontal scaling introduces a new challenge. How do you distribute incoming traffic to all services equally? +This is where load balancers come in. ## How it helps -A load balancer will act as front-end for network traffic and clients. -It often has various methods to check which server(s) is up and has the lowest load to handle the request. +Load balancers dynamically distribute all incoming requests among multiple services, ensuring that no one service gets the bulk of it while others only get a few or none. +In short, it spreads the load across multiple services, following a defined schema (i.e., evenly or percentage-based). +Load balancers are essential to an application's overall performance and, ultimately, the user experience. From 801443f1ac4fbc3a506dbebc092036a8404b7dfd Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Mon, 11 Jul 2022 09:55:51 +0700 Subject: [PATCH 40/81] revert change to see if this fixes sitemap urls Signed-off-by: cjyabraham --- config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.toml b/config.toml index 3f01870575..f3aaab0b26 100644 --- a/config.toml +++ b/config.toml @@ -1,4 +1,4 @@ -baseURL = "/" +baseURL = "https://glossary.cncf.io/" title = "Cloud Native Glossary" enableRobotsTXT = true From b32545830820eaca6d8022b91852cbbbba13ea59 Mon Sep 17 00:00:00 2001 From: Petrie Date: Mon, 11 Jul 2022 21:52:35 +0800 Subject: [PATCH 41/81] translate service discovery Signed-off-by: Petrie --- content/zh-cn/service-discovery.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 content/zh-cn/service-discovery.md diff --git a/content/zh-cn/service-discovery.md b/content/zh-cn/service-discovery.md new file mode 100644 index 0000000000..3c1d7c59ed --- /dev/null +++ b/content/zh-cn/service-discovery.md @@ -0,0 +1,22 @@ +--- +title: 服务发现 +status: Completed +category: 概念 +--- + +## 是什么 + +服务发现是查找组成服务各个实例的过程。 +服务发现工具持续跟踪构成服务的各种节点或端点。 + +## 解决的问题 + +云原生架构是动态的和不确定的,这意味着它们不断在变化。 +[容器化](/zh/containerization/) 的应用程序在其生命周期内可能会多次启动和停止。 +每次这种情况发生时,它都会有一个新地址,任何应用程序想要找到它,都需要一个工具来提供新的地址信息。 + +## 如何帮助 + +服务发现持续跟踪网络中的应用程序,以便在需要时可以找到彼此。 +它提供了一个公共的地方来查找和识别不同服务。 +服务发现引擎是类似数据库的工具,用于存储当前有哪些服务以及如何找到它们。 From 2aca527c0546fa03bf33829acc93c14897a620e5 Mon Sep 17 00:00:00 2001 From: Petrie Date: Mon, 11 Jul 2022 22:03:23 +0800 Subject: [PATCH 42/81] fix link address Signed-off-by: Petrie --- content/zh-cn/service-discovery.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/service-discovery.md b/content/zh-cn/service-discovery.md index 3c1d7c59ed..c5ba1ffee3 100644 --- a/content/zh-cn/service-discovery.md +++ b/content/zh-cn/service-discovery.md @@ -12,7 +12,7 @@ category: 概念 ## 解决的问题 云原生架构是动态的和不确定的,这意味着它们不断在变化。 -[容器化](/zh/containerization/) 的应用程序在其生命周期内可能会多次启动和停止。 +[容器化](/zh-cn/containerization/) 的应用程序在其生命周期内可能会多次启动和停止。 每次这种情况发生时,它都会有一个新地址,任何应用程序想要找到它,都需要一个工具来提供新的地址信息。 ## 如何帮助 From 9dd0f880f65eb6fee2260eb0eb59136466bd1635 Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Mon, 11 Jul 2022 22:37:01 +0800 Subject: [PATCH 43/81] [zh]translate `loosely coupled architecture` (#1053) * translate loosely coupled architecture Signed-off-by: Petrie * fix link Signed-off-by: Petrie --- content/zh-cn/loosely-coupled-architecture.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 content/zh-cn/loosely-coupled-architecture.md diff --git a/content/zh-cn/loosely-coupled-architecture.md b/content/zh-cn/loosely-coupled-architecture.md new file mode 100644 index 0000000000..3b7986ea61 --- /dev/null +++ b/content/zh-cn/loosely-coupled-architecture.md @@ -0,0 +1,15 @@ +--- +title: 松耦合架构 +status: Completed +category: 属性 +--- + +松耦合架构([紧耦合架构](/zh-cn/tightly-coupled-architectures/)的相反范式)是一种架构风格, +其中应用程序的各个组件彼此独立构建。 +每个组件,有时称为 [微服务](/zh-cn/microservices/),都是为了执行特定功能而构建的, +以便被任意数量的其他服务使用。 +这种模式的实现通常比紧耦合架构慢。 +但有许多好处,特别是随着应用程序的不断扩展。 +松耦合的应用程序允许团队独立开发功能、部署和扩展, +这允许组织快速迭代各个组件。 +应用程序开发速度更快,团队结构可以围绕应用程序的能力构建,专注于他们的特定应用程序。 From 1b2818415555f4915079b4f4780582d3db816c47 Mon Sep 17 00:00:00 2001 From: Petrie Date: Mon, 11 Jul 2022 22:40:44 +0800 Subject: [PATCH 44/81] translate versioncontrol Signed-off-by: Petrie --- content/zh-cn/version-control.md | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 content/zh-cn/version-control.md diff --git a/content/zh-cn/version-control.md b/content/zh-cn/version-control.md new file mode 100644 index 0000000000..c0cf9ed4ab --- /dev/null +++ b/content/zh-cn/version-control.md @@ -0,0 +1,39 @@ +--- +title: 版本控制 +status: Completed +category: 技术 +--- + +## 是什么 + +Source control (or version control) is the practice of tracking and managing changes to a document. +源代码管理(或版本控制)是一种跟踪和管理文档更改的行为。 +It is a system that records changes to a file or set of files over time so that you can recall specific versions later. +它是一个持续记录单个文件或一组文件变化的系统,以便你在以后可以回退到特定版本。 + +## 解决的问题 + +Version control systems work to address the following problems, +版本控制系统致力于解决以下问题, +backing up a document or codebase as it changes over time, +备份随时间变化的文档或代码库, +allowing multiple users to resolve conflicts when there are overlapping changes, and +storing a log of changes over time. +允许在多个用户存在交叉修改时解决冲突,并随时间存储更改日志。 +Application code can often be complex and critical to key business processes, +处理关键业务的应用程序代码通常复杂且重要, +so it is important to track who changed what, when it was changed, and why. +因此,跟踪谁更改了内容、什么时候更改的以及更改原因是非常重要的。 +Also, many, if not most applications, are modified by multiple developers, +and there are often conflicts between the changes introduced by different developers. +此外,许多(甚至可以说大部分)应用程序是由多个开发人员修改的,并且不同开发人员引入的更改之间经常存在冲突。 + +## 如何帮助 + +Version control helps developers move fast and preserve efficiency +while storing a record of changes and providing a facility to resolve conflicts. +版本控制可帮助开发人员快速行动并保持效率,同时存储更改记录并提供解决冲突的工具。 +It allows them to store application code in a repository and simplify collaboration. +它可以将应用程序代码存储在代码仓库中并简化开发人员间的协作。 +Modern application development relies heavily on version control systems, like git, to store their code. +现代应用程序开发非常依赖版本控制系统,如 `git`,来存储他们的代码。 From 0210976ad8bb15b3314e471efa1fca162213c399 Mon Sep 17 00:00:00 2001 From: Petrie Date: Mon, 11 Jul 2022 22:42:35 +0800 Subject: [PATCH 45/81] remove origin Signed-off-by: Petrie --- content/zh-cn/version-control.md | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/content/zh-cn/version-control.md b/content/zh-cn/version-control.md index c0cf9ed4ab..c2444c5c15 100644 --- a/content/zh-cn/version-control.md +++ b/content/zh-cn/version-control.md @@ -6,34 +6,20 @@ category: 技术 ## 是什么 -Source control (or version control) is the practice of tracking and managing changes to a document. 源代码管理(或版本控制)是一种跟踪和管理文档更改的行为。 -It is a system that records changes to a file or set of files over time so that you can recall specific versions later. 它是一个持续记录单个文件或一组文件变化的系统,以便你在以后可以回退到特定版本。 ## 解决的问题 -Version control systems work to address the following problems, 版本控制系统致力于解决以下问题, -backing up a document or codebase as it changes over time, 备份随时间变化的文档或代码库, -allowing multiple users to resolve conflicts when there are overlapping changes, and -storing a log of changes over time. 允许在多个用户存在交叉修改时解决冲突,并随时间存储更改日志。 -Application code can often be complex and critical to key business processes, 处理关键业务的应用程序代码通常复杂且重要, -so it is important to track who changed what, when it was changed, and why. 因此,跟踪谁更改了内容、什么时候更改的以及更改原因是非常重要的。 -Also, many, if not most applications, are modified by multiple developers, -and there are often conflicts between the changes introduced by different developers. 此外,许多(甚至可以说大部分)应用程序是由多个开发人员修改的,并且不同开发人员引入的更改之间经常存在冲突。 ## 如何帮助 -Version control helps developers move fast and preserve efficiency -while storing a record of changes and providing a facility to resolve conflicts. 版本控制可帮助开发人员快速行动并保持效率,同时存储更改记录并提供解决冲突的工具。 -It allows them to store application code in a repository and simplify collaboration. 它可以将应用程序代码存储在代码仓库中并简化开发人员间的协作。 -Modern application development relies heavily on version control systems, like git, to store their code. 现代应用程序开发非常依赖版本控制系统,如 `git`,来存储他们的代码。 From 728fd54a355f7ddb2d636a5f4679f1bc82123d96 Mon Sep 17 00:00:00 2001 From: Petrie Date: Mon, 11 Jul 2022 22:47:14 +0800 Subject: [PATCH 46/81] remove code quote git Signed-off-by: Petrie --- content/zh-cn/version-control.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/version-control.md b/content/zh-cn/version-control.md index c2444c5c15..5511235f7b 100644 --- a/content/zh-cn/version-control.md +++ b/content/zh-cn/version-control.md @@ -22,4 +22,4 @@ category: 技术 版本控制可帮助开发人员快速行动并保持效率,同时存储更改记录并提供解决冲突的工具。 它可以将应用程序代码存储在代码仓库中并简化开发人员间的协作。 -现代应用程序开发非常依赖版本控制系统,如 `git`,来存储他们的代码。 +现代应用程序开发非常依赖版本控制系统,如 git,来存储他们的代码。 From 181070fc53deb46ef9a175fa0a461058ab59ba75 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Jul 2022 15:26:21 +0000 Subject: [PATCH 47/81] chore(deps): bump rojopolis/spellcheck-github-actions Bumps [rojopolis/spellcheck-github-actions](https://github.com/rojopolis/spellcheck-github-actions) from 0.24.0 to 0.25.0. - [Release notes](https://github.com/rojopolis/spellcheck-github-actions/releases) - [Changelog](https://github.com/rojopolis/spellcheck-github-actions/blob/master/CHANGELOG.md) - [Commits](https://github.com/rojopolis/spellcheck-github-actions/compare/0.24.0...0.25.0) --- updated-dependencies: - dependency-name: rojopolis/spellcheck-github-actions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/es-spellcheck.yml | 2 +- .github/workflows/spellcheck.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/es-spellcheck.yml b/.github/workflows/es-spellcheck.yml index 5544fc0aa0..cca8b296c3 100644 --- a/.github/workflows/es-spellcheck.yml +++ b/.github/workflows/es-spellcheck.yml @@ -25,6 +25,6 @@ jobs: steps: - uses: actions/checkout@v3 - name: GitHub Spellcheck Action - uses: rojopolis/spellcheck-github-actions@0.24.0 + uses: rojopolis/spellcheck-github-actions@0.25.0 with: config_path: content/es/.spellcheck.yml diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml index 2f09433587..ae55a40077 100644 --- a/.github/workflows/spellcheck.yml +++ b/.github/workflows/spellcheck.yml @@ -25,4 +25,4 @@ jobs: - uses: actions/checkout@v3 - name: GitHub Spellcheck Action - uses: rojopolis/spellcheck-github-actions@0.24.0 + uses: rojopolis/spellcheck-github-actions@0.25.0 From 489ff6a084aa8118ce0cd9ab0f5fccd014396649 Mon Sep 17 00:00:00 2001 From: cjyabraham Date: Wed, 13 Jul 2022 15:40:59 +0700 Subject: [PATCH 48/81] fix old links to favicons in docsy Signed-off-by: cjyabraham --- layouts/partials/favicons.html | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 layouts/partials/favicons.html diff --git a/layouts/partials/favicons.html b/layouts/partials/favicons.html new file mode 100644 index 0000000000..5a52832f83 --- /dev/null +++ b/layouts/partials/favicons.html @@ -0,0 +1,10 @@ + + + + + From edded5bc5be778b197b03758d309d4da5f5358ee Mon Sep 17 00:00:00 2001 From: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> Date: Thu, 14 Jul 2022 14:58:10 +0200 Subject: [PATCH 49/81] add some guidelines for localization teams (#1075) * add some guidelines for localization teams Signed-off-by: Noah Ispas (iamNoah1) * Small edits Co-authored-by: Catherine Paganini <74001907+CathPag@users.noreply.github.com> --- LOCALIZATION.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/LOCALIZATION.md b/LOCALIZATION.md index 63e12749ff..18404d3a1e 100644 --- a/LOCALIZATION.md +++ b/LOCALIZATION.md @@ -5,6 +5,7 @@ we'd love to start localizing it into different languages. - [Initiate a new localization team](#initiating-a-new-localization-team) - [Join an existing localization team](#join-an-existing-localization-team) + - [Localization team guidelines](#localization-team-guidelines) Contributions to improving the following localization guides and localization policies are also welcome. @@ -132,6 +133,14 @@ Once the PR is merged, the localized content will go live on its website 🎉 To join an existing team, hop on the #glossary-localizations and #glossary-localization-[language name] channels on the CNCF Slack. Introduce yourself, let the team know you want to contribute, and the team will take it from there. -If the team seems inactive (no response after several days), reach out to @Seokho Son, @Catherine Paganini, and @jmo on the #glossary-localizations channel. +If the team seems inactive (no response after several days), reach out to @Seokho Son, @Catherine Paganini, @jmo, @Jihoon Seo or @Noah Ispas on the #glossary-localizations channel. -Note, that every localization team may have their own process of working on localizing terms. However, one thing is common for all localization teams and important to keep in mind: Contributions have to be based on the `dev-xx` branch and PRs need to target `dev-xx`. \ No newline at end of file +--- + +# Localization team guidelines +Every localization team may have its own process of working on localizing terms. However, here are some guidelines that are common for all localization teams: + +1. Only terms with the status `Completed` in the English version are ready to be localized. +2. All contributions related to localization have to be based on the `dev-xx` branch, and PRs need to target `dev-xx`. +3. Localization teams need to get changes from the `main` branch in their `dev-xx` branch from time to time. Therefore a PR should be opened where the `main` branch is merged into `dev-xx`. The glossary maintainers will then choose the rebase method to complete the PR and keep the history linear. +4. A localized term does not have to match the English version completely. Also, the localized and English versions of terms can coexist independently throughout updates. Localization teams can decide to which degree localized terms have to match their English version and how to handle updates on the English term. From cd65beb66c0e69f36b8276ecc7c1699041043686 Mon Sep 17 00:00:00 2001 From: Noah Ispas <13436814+iamNoah1@users.noreply.github.com> Date: Thu, 14 Jul 2022 18:10:32 +0200 Subject: [PATCH 50/81] remove adrianna from all files (#1066) * remove adriana from all files Signed-off-by: Noah Ispas (iamNoah1) * Update CODEOWNERS Co-authored-by: Jihoon Seo <46767780+jihoon-seo@users.noreply.github.com> --- .github/settings.yml | 4 ---- CODEOWNERS | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/settings.yml b/.github/settings.yml index 942700352a..694a06dadc 100644 --- a/.github/settings.yml +++ b/.github/settings.yml @@ -79,9 +79,6 @@ collaborators: - username: DaveVentura permission: push - - username: Petria3s - permission: push - # l10n it approvers - username: fsbaraglia permission: push @@ -247,7 +244,6 @@ branches: users: - iamNoah1 - DaveVentura - - Petria3s teams: [] enforce_admins: null required_linear_history: null diff --git a/CODEOWNERS b/CODEOWNERS index 6baebb957f..5e6a5d5253 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -22,7 +22,7 @@ /content/hi/ @Garima-Negi @sayantani11 @anubha-v-ardhan @jayesh-srivastava # Approvers for German contents -/content/de/ @iamNoah1 @DaveVentura @Petria3s +/content/de/ @iamNoah1 @DaveVentura @CathPag # Approvers for Italian contents /content/it/ @fsbaraglia @meryem-ldn @annalisag-spark @sistella From 0fbb8be9bb629a0ad9d9a334280480cb8f1b3f1f Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Sun, 17 Jul 2022 10:39:12 +0800 Subject: [PATCH 51/81] [zh]translate `tightly coupled architectures` (#1054) * translate tightly coupled architectures Signed-off-by: Petrie * fix link Signed-off-by: Petrie --- content/zh-cn/tightly-coupled-architectures.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/zh-cn/tightly-coupled-architectures.md diff --git a/content/zh-cn/tightly-coupled-architectures.md b/content/zh-cn/tightly-coupled-architectures.md new file mode 100644 index 0000000000..a8c86b4ac0 --- /dev/null +++ b/content/zh-cn/tightly-coupled-architectures.md @@ -0,0 +1,17 @@ +--- +title: 紧耦合架构 +status: Completed +category: 属性 +--- + +紧耦合架构([松耦合架构](/zh-cn/loosely-coupled-architecture/)的相反范式)是一种架构风格, +其中许多应用程序组件相互依赖。 +这意味着一个组件的更改可能会影响其他组件。 +它通常比松耦合架构更容易实现, +但会使系统更容易受到级联故障的影响。 +它还意味着需要协调各个组件的部署, +这可能会拖累开发人员的生产力。 +紧耦合应用程序架构是一种相当传统的应用程序构建方式。 +在某些特定情况下,当我们不需要与[微服务](/zh-cn/microservices/) 开发的所有最佳实践一致时,它将变得很有用。 +这意味着更快、更简单地实现, +和[单体应用](/zh-cn/monolithic-apps/)很像 ,可以加快最初的开发周期。 From 7e6de7d8650de0a70cb207a958c1aa2f63397055 Mon Sep 17 00:00:00 2001 From: Petrie Date: Sun, 17 Jul 2022 19:45:54 +0800 Subject: [PATCH 52/81] translate continuous deployment Signed-off-by: Petrie --- content/zh-cn/continuous-deployment.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 content/zh-cn/continuous-deployment.md diff --git a/content/zh-cn/continuous-deployment.md b/content/zh-cn/continuous-deployment.md new file mode 100644 index 0000000000..59799c7c68 --- /dev/null +++ b/content/zh-cn/continuous-deployment.md @@ -0,0 +1,22 @@ +--- +title: 持续部署 (CD) +status: Completed +category: 概念 +--- + +## 是什么 + +持续部署,通常缩写为 CD,通过将已经完成的软件直接部署到生产环境,比[持续交付](/zh/continuous-delivery/)更进了一步。持续部署 (CD) 与[持续集成](/zh/continuous-integration/)(CI) 一起,通常被称为 CI/CD。 CI 流程测试给定应用程序的修改是否正确,CD 流程自动部署企业测试环境的代码更改到生产环境。 + +## 解决的问题 + +发布新的软件版本是一个劳动密集且容易出错的过程。这也是企业不想频繁发布新版本的原因,避免生产事故并减少工程师在正常工作时间之外需要随时响应的时间。传统的软件部署模型使组织陷入了一个恶性循环,即发布软件的过程无法同时满足企业在稳定性和软件迭代速度方面的需求。 + +## 如何帮助 + +通过自动化发布周期迫使企业更频繁地发布版本到生产环境,CD 为运维团队完成了 CI 为开发团队所做的事情。具体来说,它迫使运维团队将生产部署中痛苦且容易出错的部分自动化,从而降低整体风险。它还使企业能够更好地接受和适应生产环境变化,从而提高稳定性。 + +## 相关术语 + +- [持续集成](/zh/continuous-integration/) +- [持续交付](/zh/continuous-delivery/) From 4d18767c588a5084cfdec26cf407fb4f171daa1d Mon Sep 17 00:00:00 2001 From: Petrie Date: Mon, 18 Jul 2022 08:20:23 +0800 Subject: [PATCH 53/81] fix lang dir Signed-off-by: Petrie --- content/zh-cn/continuous-deployment.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/zh-cn/continuous-deployment.md b/content/zh-cn/continuous-deployment.md index 59799c7c68..a6345fc68b 100644 --- a/content/zh-cn/continuous-deployment.md +++ b/content/zh-cn/continuous-deployment.md @@ -6,7 +6,7 @@ category: 概念 ## 是什么 -持续部署,通常缩写为 CD,通过将已经完成的软件直接部署到生产环境,比[持续交付](/zh/continuous-delivery/)更进了一步。持续部署 (CD) 与[持续集成](/zh/continuous-integration/)(CI) 一起,通常被称为 CI/CD。 CI 流程测试给定应用程序的修改是否正确,CD 流程自动部署企业测试环境的代码更改到生产环境。 +持续部署,通常缩写为 CD,通过将已经完成的软件直接部署到生产环境,比[持续交付](/zh-cn/continuous-delivery/)更进了一步。持续部署 (CD) 与[持续集成](/zh-cn/continuous-integration/)(CI) 一起,通常被称为 CI/CD。 CI 流程测试给定应用程序的修改是否正确,CD 流程自动部署企业测试环境的代码更改到生产环境。 ## 解决的问题 @@ -18,5 +18,5 @@ category: 概念 ## 相关术语 -- [持续集成](/zh/continuous-integration/) -- [持续交付](/zh/continuous-delivery/) +- [持续集成](/zh-cn/continuous-integration/) +- [持续交付](/zh-cn/continuous-delivery/) From ca54575ab8bd81bbdb99e023ed47c9d405ec00af Mon Sep 17 00:00:00 2001 From: Petrie Liu Date: Mon, 18 Jul 2022 12:45:36 +0800 Subject: [PATCH 54/81] [zh]update related term refer to the original (#1088) * update related term refer to the original. Signed-off-by: Petrie * replace localized link Signed-off-by: Petrie --- content/zh-cn/continuous-delivery.md | 5 +++++ content/zh-cn/continuous-integration.md | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/content/zh-cn/continuous-delivery.md b/content/zh-cn/continuous-delivery.md index 6c97bef65c..5e2f0511e8 100644 --- a/content/zh-cn/continuous-delivery.md +++ b/content/zh-cn/continuous-delivery.md @@ -22,3 +22,8 @@ CD 关键是包括确保软件在部署前得到充分测试的程序,并提 CD 策略创建了一个完全自动化的生产路径,使用各种部署策略测试和部署软件,如 [金丝雀部署](/zh-cn/canary_deployment/) 或 [蓝绿部署](/zh-cn/blue_green_deployment/) 发布。 这使得开发人员可以频繁地部署代码,让他们放心地认为新的修订版已经过测试。 通常情况下,CD 策略中使用基于主干的开发,而不是功能分支或拉动请求。 + +## 相关术语 + +* [持续集成](/zh-cn/continuous-integration/) +* [持续部署](/zh-cn/continuous-deployment/) diff --git a/content/zh-cn/continuous-integration.md b/content/zh-cn/continuous-integration.md index 2386ef6e96..84bbc3341f 100644 --- a/content/zh-cn/continuous-integration.md +++ b/content/zh-cn/continuous-integration.md @@ -22,3 +22,8 @@ CI 是 [持续交付](/zh-cn/continuous-delivery/)(CD)的前提。 使用 CI 服务器来运行代码质量检查、测试甚至部署,这几乎是一种普遍的做法。 因此,它成为团队内部质量控制的一个具体实施。 CI 允许软件团队把每一个代码提交变成具体的失败或可行的候选发布。 + +## 相关术语 + +* [持续交付](/zh-cn/continuous-delivery/) +* [持续部署](/zh-cn/continuous-deployment/) From 9c1274dc6e5f2a4a6ca935d85357058db5afcbe7 Mon Sep 17 00:00:00 2001 From: James Hunt <10615884+thetwopct@users.noreply.github.com> Date: Tue, 19 Jul 2022 13:23:39 +0700 Subject: [PATCH 55/81] Updating custom theme for Glossary site (#1081) Signed-off-by: James Hunt <10615884+thetwopct@users.noreply.github.com> --- assets/scss/_archive.scss | 16 + assets/scss/_buttons.scss | 37 ++ assets/scss/_categories.scss | 39 ++ assets/scss/_footer.scss | 57 +++ assets/scss/_hamburger.scss | 92 +++++ assets/scss/_header.scss | 84 ++++ assets/scss/_main.scss | 10 + assets/scss/_search.scss | 78 ++++ assets/scss/_sidebar-left.scss | 79 ++++ assets/scss/_sidebar-right.scss | 9 + assets/scss/_styles_project.scss | 27 ++ assets/scss/_taxonomy.scss | 45 +++ assets/scss/_typography.scss | 51 +++ assets/scss/_variables_project.scss | 448 ++------------------- layouts/_default/search.html | 32 +- layouts/partials/feedback.html | 4 +- layouts/partials/footer.html | 152 +++++-- layouts/partials/navbar-lang-selector.html | 11 +- layouts/partials/navbar.html | 30 +- layouts/partials/search-input.html | 35 ++ layouts/partials/sidebar-tree.html | 16 +- 21 files changed, 864 insertions(+), 488 deletions(-) create mode 100644 assets/scss/_archive.scss create mode 100644 assets/scss/_buttons.scss create mode 100644 assets/scss/_categories.scss create mode 100644 assets/scss/_footer.scss create mode 100644 assets/scss/_hamburger.scss create mode 100644 assets/scss/_header.scss create mode 100644 assets/scss/_main.scss create mode 100644 assets/scss/_search.scss create mode 100644 assets/scss/_sidebar-left.scss create mode 100644 assets/scss/_sidebar-right.scss create mode 100644 assets/scss/_styles_project.scss create mode 100644 assets/scss/_taxonomy.scss create mode 100644 assets/scss/_typography.scss create mode 100644 layouts/partials/search-input.html diff --git a/assets/scss/_archive.scss b/assets/scss/_archive.scss new file mode 100644 index 0000000000..6404b5394b --- /dev/null +++ b/assets/scss/_archive.scss @@ -0,0 +1,16 @@ +.article-teaser { + h3 { + margin-top: 34px; + a { + color: $black; + } + } +} + +.articles-of-tag hr { + background: linear-gradient(180deg, #c4c4c4, hsla(0, 0%, 77%, 0)); + border-bottom: 0; + height: 10px; + opacity: 0.15; + width: 100%; +} diff --git a/assets/scss/_buttons.scss b/assets/scss/_buttons.scss new file mode 100644 index 0000000000..2174d06952 --- /dev/null +++ b/assets/scss/_buttons.scss @@ -0,0 +1,37 @@ +// buttons. +.button-reset { + background: none; + border: none; + box-sizing: border-box; + cursor: pointer; + display: block; + margin-left: 0; + margin-right: 0; + padding: 0; + width: unset; +} + +.cncf-button { + color: $white; + background-color: $black; + border: 0; + border-radius: 3px; + box-shadow: none; + box-sizing: border-box; + cursor: pointer; + font-size: 16px; + font-weight: 700; + letter-spacing: 0.02em; + line-height: 105%; + margin: 0; + max-width: 100%; + padding: 12px 40px; + text-align: center; + text-decoration: none; + text-transform: uppercase; + transition: all 0.25s ease-out; + word-break: break-word; + &:hover { + background-color: $gray-700; + } +} diff --git a/assets/scss/_categories.scss b/assets/scss/_categories.scss new file mode 100644 index 0000000000..e4daf9ed54 --- /dev/null +++ b/assets/scss/_categories.scss @@ -0,0 +1,39 @@ +// Category. +.category { + margin-top: 0; + margin-right: 0; + margin-bottom: 1.875rem; + @media (min-width: 768px) { + margin-bottom: 3.125rem; + } + margin-right: 12px; + color: $gray-700; + font-weight: 700; + letter-spacing: 0.2em; +} + +// Category labels. +i.technology, +i.property, +i.concept { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; + font-family: 'Font Awesome 5 Free'; + font-weight: 900; + padding-right: 0.5em; + color: $gray-700; +} +i.technology:before { + content: '\f7d9'; +} +i.property:before { + content: '\f1ad'; +} +i.concept:before { + content: '\f0eb'; +} diff --git a/assets/scss/_footer.scss b/assets/scss/_footer.scss new file mode 100644 index 0000000000..0f9edae0b2 --- /dev/null +++ b/assets/scss/_footer.scss @@ -0,0 +1,57 @@ +// footer. +footer { + min-height: unset; + background-color: $black; + color: #eee; + padding: 4rem 0 3rem; + a { + color: $primary; + font-weight: 600; + &:hover { + color: $primary; + text-decoration: none; + } + } + .brand img { + height: 40px; + } + small a { + color: #eee; + } +} + +// social links. +.social-links { + text-align: center; + @media (min-width: 992px) { + text-align: right; + } + a { + padding: 10px; + display: block; + } + svg { + fill: $white; + color: $white; + height: 25px; + max-width: 30px; + &:hover { + color: $link-color; + fill: $link-color; + } + } +} + +.horizontal-rule { + background-color: $white; + height: 1px; + width: 100%; + margin: 1rem 0; +} + +.copyright { + text-align: center; + @media (min-width: 992px) { + text-align: left; + } +} diff --git a/assets/scss/_hamburger.scss b/assets/scss/_hamburger.scss new file mode 100644 index 0000000000..43e2bb06b2 --- /dev/null +++ b/assets/scss/_hamburger.scss @@ -0,0 +1,92 @@ +/** + * Hamburger Menu + * Based on https://github.com/jonsuh/hamburgers + * + */ + +// Setup variables for the hamburger. +$hamburger-active-layer-color: $black; +$hamburger-layer-color: $black; +$hamburger-padding-x: 12px; +$hamburger-padding-y: 0px; +$hamburger-layer-width: 28px; +$hamburger-layer-height: 4px; +$hamburger-layer-spacing: 4px; +$hamburger-hover-opacity: 1; +$hamburger-active-hover-opacity: 1; + +// Output the hamburger CSS +.hamburger { + padding: $hamburger-padding-y $hamburger-padding-x; + cursor: pointer; + + transition-property: opacity, filter; + transition-duration: 0.15s; + transition-timing-function: linear; + + // Normalize the - + + diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index d20a0bbe82..91a876ac27 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,45 +1,111 @@ {{ $links := .Site.Params.links }}
-
-
-
- Cloud Native Computing Foundation -
-
- -
-
-
-
- - © {{ now.Year}} Cloud Native Glossary Authors | Documentation Distributed under CC BY 4.0 - {{ if not .Site.Params.ui.footer_about_disable }} - {{ with .Site.GetPage "about" }}

{{ .Title }}

{{ end }} - {{ end }} -
-
-
\ No newline at end of file +
+
+ {{ if (gt (len .Site.Home.Translations) 0) }} + {{ partial "navbar-lang-selector.html" . }} + {{ end }} +
+
+
+ Cloud Native Computing Foundation +
+ +
+
+ +
+ diff --git a/layouts/partials/navbar-lang-selector.html b/layouts/partials/navbar-lang-selector.html index 7459c621c3..2078474804 100644 --- a/layouts/partials/navbar-lang-selector.html +++ b/layouts/partials/navbar-lang-selector.html @@ -1,10 +1,13 @@ {{/* Link directly to documentation etc., if possible. */}} {{ $langPage := cond (gt (len .Translations) 0) . .Site.Home }} - - diff --git a/layouts/partials/navbar.html b/layouts/partials/navbar.html index a2b4f7c38a..c451a909c3 100644 --- a/layouts/partials/navbar.html +++ b/layouts/partials/navbar.html @@ -1,35 +1,43 @@ {{ $cover := .HasShortcode "blocks/cover" }} -