<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>NotionNext BLOG</title>
        <link>https://blog.devops.gold/</link>
        <description>这是一个由NotionNext生成的站点</description>
        <lastBuildDate>Fri, 23 Feb 2024 10:25:46 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-CN</language>
        <copyright>All rights reserved 2024, kevin_zz</copyright>
        <item>
            <title><![CDATA[康威定律、DevOps 和您的源代码]]></title>
            <link>https://blog.devops.gold/article/conways-law-devops-and-your-source-code</link>
            <guid>https://blog.devops.gold/article/conways-law-devops-and-your-source-code</guid>
            <pubDate>Wed, 24 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[这篇文章讲述了Conway’s Law如何影响公司的组织结构和软件架构。Conway’s Law指出，软件架构自然地匹配公司的组织结构。作者认为，源代码库的结构会自然地影响公司的组织结构，如果你正在实践“DevOps”，那么错误的结构将导致混乱。文章建议将定义服务基础设施的代码与服务的其余部分放在同一个源代码库中]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-4c9eb201184f44ce9eff3eb5de9eb89f"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-4e34a05a4c2d49fa8b46d4b8dba5610c"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:700px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://miro.medium.com/v2/resize:fit:1400/1*fFn3kWVRFyturHaa37hIDA.png?t=4e34a05a-4c2d-49fa-8b46-d4b8dba5610c" alt="康威定律，作者：ChatGPT" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">康威定律，作者：ChatGPT</figcaption></div></figure><blockquote class="notion-quote notion-block-a4b0e92a58a7413ba933038dd7018212"><div><a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://hart-michael.medium.com/conways-law-devops-and-your-source-code-6b85cd89496f">Conway’s Law, DevOps, and Your Source Code | by Michael Hart | Jan, 2024 | Medium</a></div></blockquote><div class="notion-text notion-block-4c185eabaebd4be5b179ba9ef6932021">源代码库的布局会影响公司的组织结构图，如果第一个布局出错，软件交付能力就会受到影响。</div><div class="notion-text notion-block-65ecc5a56e93463ca15694d77a168c62">康威定律（Conway&#x27;s Law）指出，软件架构会自然而然地与公司的组织结构图相匹配。我扩展了这一定律，认为你的源代码库结构会自然而然地影响你的组织结构，如果你正在实践 &quot;DevOps&quot;，错误的结构将导致混乱。</div><div class="notion-text notion-block-b944f1ad29084c80aef7d19437872879">定义服务基础架构的代码（通常称为 &quot;基础架构即代码&quot;）与服务的其他部分属于同一源代码库。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-54977eac8a994b1bb3e32e4747ad76ac" data-id="54977eac8a994b1bb3e32e4747ad76ac"><span><div id="54977eac8a994b1bb3e32e4747ad76ac" class="notion-header-anchor"></div><a class="notion-hash-link" href="#54977eac8a994b1bb3e32e4747ad76ac" title="康威定律"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b></b><b>康威定律</b></span></span></h2><div class="notion-text notion-block-0ba8920c6d1e424d87106418bab61c38">让我们快速回顾一下康威定律的内容。梅尔文-康威在他的开创性论文中将该定律总结为</div><blockquote class="notion-quote notion-block-cd83c07d98d44260915e4036f619a282"><div>任何组织在设计一个系统（广义上的系统）时，都会产生一个其结构是该组织通信结构的复制品的设计。</div></blockquote><div class="notion-text notion-block-38914ab5a43b401186392455be551f93">马丁-福勒（Martin Fowler）对法律进行了更详细的阐述：</div><blockquote class="notion-quote notion-block-db934ba2d7c141549944a2b487e0bd49"><div>康威定律的本质是观察到软件系统的架构与构建该系统的开发团队的组织结构极为相似。我最初是这样描述它的：如果一个团队编写一个编译器，那么它将是一个单通道编译器，但如果团队分为两个，那么它将是一个双通道编译器。</div></blockquote><div class="notion-text notion-block-a31370d1c8544b49a0977a9aa2067834">证明康威定律远远超出了本文的讨论范围，维基百科上的文章列出了一系列支持康威定律的证据，供希望进一步研究的人参考。为了今天的目的，我们假设康威定律是真的。</div><div class="notion-blank notion-block-d119316f5fc84e0f84109b213c5d5f9c"> </div><div class="notion-blank notion-block-1d85dac984d54fa4b90b3dd7fe4e6380"> </div><div class="notion-text notion-block-4911aef3f52f4625af745efa0392ea32">马丁-福勒（Martin Fowler）解释了康威定律的三种反应，这与我在实践中看到的情况相吻合。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-ad2885fd14c84c84a72f6f01ab1f71b0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:700px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://miro.medium.com/v2/resize:fit:1400/0*L-ZpoaHXXFf3TNVO?t=ad2885fd-14c8-4c84-a72f-6f01ab1f71b0" alt="notion image" loading="lazy" decoding="async"/></div></figure><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-4b749e222a754b47ae09adaf43d2790a"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:700px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://miro.medium.com/v2/resize:fit:1400/0*ZvAP0P-tbPun7IkM?t=4b749e22-2a75-4b47-ae09-adaf43d2790a" alt="notion image" loading="lazy" decoding="async"/></div></figure><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-afa5c711f0a9485087f8e138aa6837c8" data-id="afa5c711f0a9485087f8e138aa6837c8"><span><div id="afa5c711f0a9485087f8e138aa6837c8" class="notion-header-anchor"></div><a class="notion-hash-link" href="#afa5c711f0a9485087f8e138aa6837c8" title="DevOps"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b>DevOps</b></span></span></h2><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-79d34005de5846eda62da6e8e2b8ebb9"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:700px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://miro.medium.com/v2/resize:fit:1400/0*xKMHs4QY4DozDaIE?t=79d34005-de58-46ed-a62d-a6e8e2b8ebb9" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-d2d6c6fc3c704fb89580b9d00fe284be">实践 DevOps &quot;你构建，你运行 &quot;的软件开发团队负责服务生命周期的几个不同方面：</div><ol start="1" class="notion-list notion-list-numbered notion-block-2f0c6a24f8f4498796e477b422098013"><li>编写构成服务的应用代码</li></ol><ol start="2" class="notion-list notion-list-numbered notion-block-851d27c0f21c4fa1adf50e24e79c774e"><li>创建自动测试，包括单元测试和系统/集成测试</li></ol><ol start="3" class="notion-list notion-list-numbered notion-block-4e82ce791fa7452cbc005ab16374e297"><li>开发构成生产服务的 IaC</li></ol><ol start="4" class="notion-list notion-list-numbered notion-block-6535fe9dff7545bba0811164021ee595"><li>创建观察服务的仪表板和警报。</li></ol><div class="notion-text notion-block-ba053e45aa924baaa62531aa50e4d2f1">在许多组织中，前两个存储在一个存储库中，第三个存储在一个单独的存储库中，通常由不同的团队管理，而第四个存储库则是人工事后想到的。</div><div class="notion-text notion-block-77a885ec9320430cbfdb4d018e3243b2">顺便提一下，我所说的 IaC 是指将服务部署到开发、测试环境和生产环境所需的一切。这包括 Docker 文件、Helm 图表、Cloudformation 或 CDK、Terraform、shell 脚本、CI/CD 定义、SQL 脚本等。</div><div class="notion-text notion-block-3e7ffca93f5f4ce98195ba78ad747dfc">让我们深入探讨一下为什么应用程序代码、自动测试代码和 IaC 属于同一个资源库的几个更明确的原因。</div><ul class="notion-list notion-list-disc notion-block-be05fd4ae7ae44fe8cb1d2aca9b97482"><li>IaC 是代码。它不属于其他地方的任何特殊、奇怪或怪异的东西。根据我的经验，有些开发人员似乎可以维护复杂的应用程序代码和奇怪的测试结构（你见过 TDD 框架吗？)</li></ul><ul class="notion-list notion-list-disc notion-block-6a02c055962b4646b24d7008d555c36c"><li>没有部署定义的服务是不完整的。我甚至可以说，如果没有 IaC，应用程序代码大多是无用的，它无法真正发挥预期的功能。如果您的服务托管在 AWS 上的 Kubernetes 中，并且有一个 DynamoDB 表，那么如果没有用于打包的 Docker 文件、用于部署的 Helm 图表、用于定义 DynamoDB 表的 CloudFormation 或 Terraform 以及授予权限所需的 IAM 工件，应用程序代码本身就毫无用处。</li></ul><ul class="notion-list notion-list-disc notion-block-86b33d39dec2491f8b66f5b3fdfd2b6a"><li>当所有代码都位于同一个版本库中时，开发人员就更容易对服务进行推理。当 IaC 位于同一个版本库中时，对复杂服务进行更改会更简单，尤其是当这些更改跨越应用和基础架构代码时，例如更改 DynamoDB 定义或添加需要更改 IAM 策略的新 API 调用时。</li></ul><ul class="notion-list notion-list-disc notion-block-4abd33caed9247bc8e15a234e6642423"><li>如果所有工件都在一个版本库中，特别是在从主分支持续部署时，版本控制就会简单得多。</li></ul><ul class="notion-list notion-list-disc notion-block-6cd50e734f0f42f49e64189d74473df8"><li>应用 &quot;或 &quot;服务 &quot;代码与 IaC 之间的界限越来越模糊。十年前的传统服务可能是手工部署在虚拟机甚至物理硬件上的单一二进制文件。现代服务可能是一种无服务器应用程序，无法在云执行环境之外运行，IAM 角色允许访问 AWS 的 DynamoDB 或 Google 的 BigTable，其结构在 IaC 中定义。DynamoDB 或 BigTable 的定义实际上与 SQL 数据库的定义没有什么不同，后者通常存在于应用程序代码旁边。或者，服务可以由步骤函数(step functions)组成，其中一些应用工作流现在是在 IaC 中定义的。这些界限的模糊使得将所有代码保存在一个存储库中势在必行。</li></ul><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-f6398945d47242c6b95f6f8c3175a6e0"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:700px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://miro.medium.com/v2/resize:fit:1400/0*NWafUwou6Of_GJ2V?t=f6398945-d472-42c6-b95f-6f8c3175a6e0" alt="一战中的演习--伊梅尔曼转弯示意图。来源：维基百科维基百科" loading="lazy" decoding="async"/><figcaption class="notion-asset-caption">一战中的演习--伊梅尔曼转弯示意图。来源：维基百科维基百科</figcaption></div></figure><div class="notion-blank notion-block-4fa54f3fadd7494e8cb6b1c9c2e21d03"> </div><div class="notion-text notion-block-fdf3d36b10a64d378b342bb7c73b626e">将所有代码保存在一个版本库中的最佳理由是，如果不这样做会发生什么。根据 &quot;康威逆向操作法&quot;，如果将应用程序代码与部署所需的 IaC 分离开来，最终就会出现拥有 IaC 的独立团队，从而回到拥有独立开发团队和运营团队的旧时代，并带来与之相关的所有功能障碍。康威定律表明，最终出现两个团队是不可避免的。</div><div class="notion-text notion-block-de03d41b4d4c45d1b9fa6670e1556c03">关于我对 &quot;源代码库 &quot;的定义，我有一个简短的切入点--我实际上是用这个词来代表代码的逻辑分组，并在其周围设置了一系列权限。通常情况下，源代码库是以单个 GitHub 或 GitLab 源代码库的形式实现的，但运气不好的话，也可能是 Perforce 等软件中的一个子目录。</div><div class="notion-text notion-block-936a9b688e0f436b9c49587e632d3993">共享服务和类似平台工程小组的情况如何？肯定需要 IaC 来定义共享网络、共享 Kubernetes 集群、安全护栏等服务，这通常由专业团队负责。随着公司的发展，分拆出平台工程和安全团队是一种自然的演变，将共享服务的 IaC 保存在不同的存储库中通常是正确的做法。只要这些团队不成为 DevOps 团队，而且这些专业团队仍能以 DevOps 的方式处理自己的源代码。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-93560d90bdaf4ac4853ee668dd6fef8f" data-id="93560d90bdaf4ac4853ee668dd6fef8f"><span><div id="93560d90bdaf4ac4853ee668dd6fef8f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#93560d90bdaf4ac4853ee668dd6fef8f" title="结论"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title"><b></b><b>结论</b></span></span></h2><div class="notion-text notion-block-6b9b8a22f277465f8d8f38155ea8f6cb">在制定架构决策、规划源代码库布局和进行组织变革时，将康威定律放在首位是组织取得成功的关键。忽视或违背康威定律将导致组织和架构功能失调。</div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[2024年最佳Devops工具,平台,服务]]></title>
            <link>https://blog.devops.gold/article/2024-best-devops-tool-platformengineering</link>
            <guid>https://blog.devops.gold/article/2024-best-devops-tool-platformengineering</guid>
            <pubDate>Tue, 30 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Vicktor推荐的2024年最佳Devops工具,平台,服务]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-d6fdca6519bf4b75ba5fa91087dc31cd"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-4f03749aa0344deba5ea4a9592b563b9" data-id="4f03749aa0344deba5ea4a9592b563b9"><span><div id="4f03749aa0344deba5ea4a9592b563b9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#4f03749aa0344deba5ea4a9592b563b9" title="背景"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">背景</span></span></h3><blockquote class="notion-quote notion-block-982f7eb7980d4298990e69de822b32d2"><div>原视频<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=-qeoLfSGlFU">https://www.youtube.com/watch?v=-qeoLfSGlFU</a></div></blockquote><figure class="notion-asset-wrapper notion-asset-wrapper-video notion-block-e47c40cb11d44368a23ec0a1ac022bf2"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;padding-bottom:56.25%"><link rel="preload" href="https://i.ytimg.com/vi/-qeoLfSGlFU/hqdefault.jpg" as="image"/><div class="notion-yt-lite notion-asset-object-fit" style="object-fit:contain"><img src="https://i.ytimg.com/vi/-qeoLfSGlFU/hqdefault.jpg" class="notion-yt-thumbnail" alt="Video preview"/><div class="notion-yt-playbtn"></div></div></div></figure><div class="notion-blank notion-block-797a03b06a0044a28ddc4e68d3d12918"> </div><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-9704d03a7db04988896a670ee7bdbf50" data-id="9704d03a7db04988896a670ee7bdbf50"><span><div id="9704d03a7db04988896a670ee7bdbf50" class="notion-header-anchor"></div><a class="notion-hash-link" href="#9704d03a7db04988896a670ee7bdbf50" title="观点"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">观点</span></span></h3><blockquote class="notion-quote notion-block-4770612461874b1e857cd7dcb33e1233"><div>著名Devops频道DevOps Toolkit评选了他认为的2024年可能的最佳</div></blockquote><div class="notion-blank notion-block-1a2ce570391e4d77a4370aea83af09c2"> </div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-5640a2c9305049c3ada7529e6f25d40a"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:700px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://intranetproxy.alipay.com/skylark/lark/0/2024/png/47559/1704927981040-db7019a3-d6d6-4bc9-90bf-51b809760c35.png?t=5640a2c9-3050-49c3-ada7-529e6f25d40a" alt="notion image" loading="lazy" decoding="async"/></div></figure><h3 class="notion-h notion-h2 notion-h-indent-0 notion-block-9e8e67e82c1e43a3a09f187bfa0a3698" data-id="9e8e67e82c1e43a3a09f187bfa0a3698"><span><div id="9e8e67e82c1e43a3a09f187bfa0a3698" class="notion-header-anchor"></div><a class="notion-hash-link" href="#9e8e67e82c1e43a3a09f187bfa0a3698" title="具体分类列表"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">具体分类列表</span></span></h3><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-a6747867f84a4dc08ae1ce3cc2a4a481" data-id="a6747867f84a4dc08ae1ce3cc2a4a481"><span><div id="a6747867f84a4dc08ae1ce3cc2a4a481" class="notion-header-anchor"></div><a class="notion-hash-link" href="#a6747867f84a4dc08ae1ce3cc2a4a481" title="Service Catalogs:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Service Catalogs:</span></span></h4><div class="notion-text notion-block-8bf6c0b6c746477da92a01bf90701692">Backstage: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqbWpoUlIxbS1kdnRlVnpIejV4Q044eTVUc0pEUXxBQ3Jtc0trQ3oyTnlSazB6X0ZzSUU2VUl3ektHVVotbjBtcTFXenBLS1hRbFJuTmZTSmw5MkQzbFVJMnBfbDA1Z0QtcHN5QU9jRnBzR2RUdmFVdVN1c0JWam1ER3pSdmdCWWxwMWxZUzU0czBfQ0pHRktrTXplYw&amp;q=https%3A%2F%2Fbackstage.io%2F&amp;v=-qeoLfSGlFU">https://backstage.io</a></div><div class="notion-text notion-block-a3a873d4bd974355a1bde2cf744e24c3"><b>Port</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=ro-h7tsp0qI&amp;t=0s">• How To Build A UI For An Internal Developer Platform (IDP) With Port?</a></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-193308cd1cad43519ae4b40634dba156" data-id="193308cd1cad43519ae4b40634dba156"><span><div id="193308cd1cad43519ae4b40634dba156" class="notion-header-anchor"></div><a class="notion-hash-link" href="#193308cd1cad43519ae4b40634dba156" title="App Management (Kubernetes Manifests):"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">App Management (Kubernetes Manifests):</span></span></h4><div class="notion-text notion-block-3c7cca46f79942b39dfbe9cf82f423a5">Helm: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=ZMFYSm0ldQ0&amp;t=0s">• Helm vs Kustomize - The Fight Between Templating and Patching in Kubernetes</a></div><div class="notion-text notion-block-f5d6d37a530142feae1691d1515321f4">Kustomize: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=Twtbg6LFnAg&amp;t=0s">• Kustomize - How to Simplify Kubernetes Configuration Management</a></div><div class="notion-text notion-block-b03e9c42c4e140d18206bf8128797072">Carvel ytt: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=DLnXkH2keNg&amp;t=0s">• Carvel ytt Instead Of Helm? A Better Way To Manage Kubernetes Resources?</a></div><div class="notion-text notion-block-2e56ccfb0f124bd797ba913761a424d5">Jsonnet Tanka: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=-qpcsUXElYc&amp;t=0s">• Helm And Kustomize Replacement? Jsonnet With Grafana Tanka</a></div><div class="notion-text notion-block-b36554b4534f4fe6b8c8c3d468c9af0b">cdk8s: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=F2DKtax0NLU&amp;t=0s">• cdk8s - Kubernetes Manifests With GoLang, TypeScript, Python And Java</a></div><div class="notion-text notion-block-8c1f4bc72e3a4a6da983cc085e6f458b"><b>CUE</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=m6g0aWggdUQ&amp;t=0s">• Is CUE The Perfect Language For Kubernetes Manifests (Helm Templates Replacement)?</a></div><div class="notion-text notion-block-24ed81e351364d779ae5103d4757664e"><b>Timoni</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=bbE1BFCs548&amp;t=0s">• Is Timoni With CUE a Helm Replacement?</a></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-f0d72b3034eb4108b6071ea1ab1b25ad" data-id="f0d72b3034eb4108b6071ea1ab1b25ad"><span><div id="f0d72b3034eb4108b6071ea1ab1b25ad" class="notion-header-anchor"></div><a class="notion-hash-link" href="#f0d72b3034eb4108b6071ea1ab1b25ad" title="Pipelines (CI/CD):"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Pipelines (CI/CD):</span></span></h4><div class="notion-text notion-block-68994a2075b14fe9aad727f13e7c4d34">Jenkins: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=2Kc3fUJANAc&amp;t=0s">• Running Jenkins In Kubernetes - Tutorial And Review</a></div><div class="notion-text notion-block-a0c4960817a9427f8a76398211d86876">GitHub Actions: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=eZcAvTb0rbA&amp;t=0s">• Github Actions Review And Tutorial</a></div><div class="notion-text notion-block-52ca5bdd2ee54093a3b05241d42e7a40">GitLab CI: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://about.gitlab.com/solutions/continuous-integration/">https://about.gitlab.com/solutions/continuous-integration/</a></div><div class="notion-text notion-block-42099ac017d941289430aa742b486499">Tekton: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqbFItSW5DYzBfa3FVay13VDh3WWxJclBvUWhTZ3xBQ3Jtc0tuZUFkb1poTTdmN3FyaWpBRWlQSXRXcWVsRUJZZzhOMWRKNWdVWUJjaEU2NGJwYTJxOXFBcTYydjF5LXFZSUE0eVNoZkRWQTNTbEVHUkdVMktSQ09aVjc2Q05Pa2drSlkwTnRZWE1SSTNjeUlHRWZwMA&amp;q=https%3A%2F%2Ftekton.dev%2F&amp;v=-qeoLfSGlFU">https://tekton.dev</a></div><div class="notion-text notion-block-aef99ba17f4141f3a68b2de4c2dad45b">Argo Workflows: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=UMaivwrAyTA&amp;t=0s">• Argo Workflows and Pipelines - CI/CD, Machine Learning, and Other Kubernetes Workflows</a></div><div class="notion-text notion-block-773d3ccc445f44eba4abd6b5e2856524"><b>Dagger</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=oosQ3z_9UEM&amp;t=0s">• Dagger: The Missing Ingredient for Your Disastrous CI/CD Pipeline</a></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-3e8e9f652d24408ca831ade61bdd6e7d" data-id="3e8e9f652d24408ca831ade61bdd6e7d"><span><div id="3e8e9f652d24408ca831ade61bdd6e7d" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3e8e9f652d24408ca831ade61bdd6e7d" title="Observability:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Observability:</span></span></h4><div class="notion-text notion-block-24c564c6d378412997bbcd2c1920f2e1">Lok：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://grafana.com/oss/loki">https://grafana.com/oss/loki</a></div><div class="notion-text notion-block-636942ce63294584bbee74e1019f4809">Prometheus: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqa1RhR29PNzhQbUh0YkhyVzNadThMWWN5eHVrUXxBQ3Jtc0tteElOdUp1eGM5Ull4QTB1R2NNOVFyV2Q4MlB2cmlGTjZ6UGVXNHN3bE80U2ZTUkZkOFVSZWZOWnF5LXBuODF0Z19NS1RhV1M5bVdDdG0taG1JOHl5ZXNZUEc4QXV6RFd1Zzc3dVFLWlY0UUQ5bkRWSQ&amp;q=https%3A%2F%2Fprometheus.io%2F&amp;v=-qeoLfSGlFU">https://prometheus.io</a></div><div class="notion-text notion-block-3ac7b1133b3c4b6c9a9834e1c9d1133c">Victoria Metrics: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqblp6Z0VlcFg1ZG5hUzg2M0pMcjdMNkRLS2NIZ3xBQ3Jtc0trU1c3cDZIQ19sckFWTDNOWGh0OEJYSWJWZVgzWWI1eVZZX0w5Q2ZVTGpEbFhVakxDZ0pZWVhGVnlsN0xrTGdMSVdCQXlDR0RqaDhJRFdNWC1WUHJJVGYtelAweXM1aU8xUFZCZnpjSnF2UVV6bHFqaw&amp;q=https%3A%2F%2Fvictoriametrics.com%2F&amp;v=-qeoLfSGlFU">https://victoriametrics.com</a></div><div class="notion-text notion-block-6631eff653164e18beb4d8e745bef139">Jaeger: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=FK0uh-7nDSg&amp;t=0s">• Distributed Tracing With Jaeger And OpenTelemetry In Kubernetes</a></div><div class="notion-text notion-block-31eef715205042fe8cf98f448f2002cc">Grafana: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqa2lZNVdWNktlQldjZjQtZGktVDR5aE4zMFdtUXxBQ3Jtc0ttY1EtNVgwOVBNRkppdVdsSERMSkctMUJhWkFiRTVmVjhrbVZBZGRJS29uWXRJUnNadHJYYjBRZTliWnIyNDJTSU5EMGFlUXRxM245c3hwR295SkxhcktLRzQwQUxSdXJucTlrZ2ktVlNPRmo0R3Mxcw&amp;q=https%3A%2F%2Fgrafana.com%2Foss%2Fgrafana&amp;v=-qeoLfSGlFU">https://grafana.com/oss/grafana</a></div><div class="notion-text notion-block-55a0f1442d594075946c94701373a699">Robusta: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=2P76WVVua8w&amp;t=0s">• Kubernetes Notifications, Troubleshooting, And Automation With Robusta</a></div><div class="notion-text notion-block-de088fe2db4b427d83025c2d4971d7c1">Komodor: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=GNPS0sAajQ0&amp;t=0s">• How To Troubleshoot Kubernetes Applications With Komodor</a></div><div class="notion-text notion-block-7f3ebb815c2946099438957188180034">Pixie: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=G-TnrmZtaCw&amp;t=0s">• Kubernetes-Native Observability Through eBPF And Scripting With Pixie</a></div><div class="notion-text notion-block-1af1fa1f922447d1bd21f66f576bfb18"><b>GroundCover</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=2pwgbeY7wmY&amp;t=0s">• Kubernetes Observability And Troubleshooting With groundcover and eBPF</a></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-319b042b605544de99b1f6e8c84d318e" data-id="319b042b605544de99b1f6e8c84d318e"><span><div id="319b042b605544de99b1f6e8c84d318e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#319b042b605544de99b1f6e8c84d318e" title="Databases:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Databases:</span></span></h4><div class="notion-text notion-block-98e5ab29d2064135b5af448eee407a5c">Aiven: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=VhlY7kkAw7w&amp;t=0s">• All Databases In Cloud Managed With a Single Service - Aiven</a></div><div class="notion-text notion-block-d462ae7346044287bb05b9221e47a60d">Kube Blocks: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=KNwpG51Whzg&amp;t=0s">• KubeBlocks: Cloud-Native Data Infrastructure for Kubernetes</a></div><div class="notion-text notion-block-c47ca627100147018a7dbbcecd0d00a1"><b>Cloud-Native PG (CNPG)</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=Ny9RxM6H6Hg&amp;t=0s">• Should We Run Databases In Kubernetes? CloudNativePG (CNPG) PostgreSQL</a></div><div class="notion-text notion-block-abc423e69f0b4bff9e1398c5969bb217"><b>Atlas Operator</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=1iZoEFzlvhM&amp;t=0s">• Kubernetes? Database Schema? Schema Management with Atlas Operator</a></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-e850af8198e940a7a64d51d24b727d62" data-id="e850af8198e940a7a64d51d24b727d62"><span><div id="e850af8198e940a7a64d51d24b727d62" class="notion-header-anchor"></div><a class="notion-hash-link" href="#e850af8198e940a7a64d51d24b727d62" title="Infrastructure and Service Management"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Infrastructure and Service Management</span></span></h4><div class="notion-text notion-block-a9f5f89f807f44f189c70f3a70e913c5">Ansible: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqbXdyUXRkN05feGdLZi12TDd2UmxjNW5RUXp4d3xBQ3Jtc0tuVnZYNXh4WmhQU1pTazNKa1A4akRja2lnRVh1VGRLT0RhVjVjcl9xZ0VGLXYyRXppN0szSV84RW1PTmFYZEdlNFloRlNkQ2h3cURBTTdQbW5NN1FpaVMwWGZsN1N4TldkU3VrSEpYUVlnY2t3N0l0dw&amp;q=https%3A%2F%2Fansible.com%2F&amp;v=-qeoLfSGlFU">https://ansible.com</a></div><div class="notion-text notion-block-b9ca914202e3411286f724d9f5ba8620">Terraform: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqazk2WjdENmxMM1VEMjQ1T3hMcW1MaWtRcXN6Z3xBQ3Jtc0ttU0NSOUxHWjgzNDdhTnd5SXdmZ1pGLVBmcS1zTzFuc0NGU0RBYWZTQm4yb1JHT25ORDg1TVpXRU9LYndfT2Npbkc4RHdGQndFNENhQkExOU40ekhQeUxHd083dXZ0UTlXU3Q3X1ByOUlvQ1JBMU5JWQ&amp;q=https%3A%2F%2Fterraform.io%2F&amp;v=-qeoLfSGlFU">https://terraform.io</a></div><div class="notion-text notion-block-4a6e4115f8e84567a7100da1712f643f">Pulumi: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqbDktQ2ZRTS0xY3gtcTVGSEo4cFFXeDVaN3JBZ3xBQ3Jtc0ttd2RMWkFZbWRFVkJjU2xhZjIydlFRUE9TX08wMzhRMTdxeUN2QXhONnFubW90VzNLUXAySzR5eHg5TmFjemppTEFLOUxjQU90bHhRT1NtSGlnVEx6S2ZSalRjQkdHd2N6d1lyQWowSEtRQmJsNmowcw&amp;q=https%3A%2F%2Fpulumi.com%2F&amp;v=-qeoLfSGlFU">https://pulumi.com</a></div><div class="notion-text notion-block-76e508830a9a4f689a5bc85587afdc33"><b>Crossplane</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=n8KjVmuHm7A&amp;t=0s">• Crossplane - GitOps-based Infrastructure as Code through Kubernetes API</a></div><div class="notion-text notion-block-9eb4a58c86b2448a9215848aaffaa008"><b>Cluster API (CAPI)</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=8yUDUhZ6ako&amp;t=0s">• How To Create, Provision, And Operate Kubernetes With Cluster API (CAPI)</a></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-b4f251222cfb49378157ae5cf242ca4c" data-id="b4f251222cfb49378157ae5cf242ca4c"><span><div id="b4f251222cfb49378157ae5cf242ca4c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#b4f251222cfb49378157ae5cf242ca4c" title="Security"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Security</span></span></h4><div class="notion-text notion-block-d16c1e88853d4cc1b106b36b55e01d53">Falco: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=0tBSKRvH3xo&amp;t=0s">• Detecting Kubernetes Security Threats with Falco</a></div><div class="notion-text notion-block-ad5867d97ea04fc5bf15690836a8a500">KubeArmor: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqbk53UHFwU0xYYU4wTG1nSmtUYUNqOUdVNGEtZ3xBQ3Jtc0tsU1A3UTRZd1N1RUFxVG5vYlc2eERUTDFRN3BrSGpkSlFvZlFWbjVOandwWkM3OWFZTmMyQk1QYVpvNW1hbko5VXYyMUcxME9HdWJiSlJ4dDJ5LW1pVE1mLXRqcllTS3lWMnE4aTAwamZPa2FnejNrdw&amp;q=https%3A%2F%2Fkubearmor.io%2F&amp;v=-qeoLfSGlFU">https://kubearmor.io</a></div><div class="notion-text notion-block-0be51f18914b4e02bc642aae499b8cc5">Kyverno: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=DREjzfTzNpA&amp;t=0s">• Kubernetes-Native Policy Management With Kyverno</a></div><div class="notion-text notion-block-8c39ae05cc0f45b3aa85d46218634e8e">External Secrets Operator (ESO): <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=SyRZe5YVCVk&amp;t=0s">• Manage Kubernetes Secrets With External Secrets Operator (ESO)</a></div><div class="notion-text notion-block-5f02595c93954d1fb920ffe6bf5f7de6"><b>Kubescape</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=ZATGiDIDBQk&amp;t=0s">• How to Secure Kubernetes Clusters with Kubescape and Armo</a></div><div class="notion-text notion-block-cfbbddd0c3dc4365b7b4ee4fe7e3b361">Sigstore Cosign: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=HLb1Q086u6M&amp;t=0s">• Signing and Verifying Container Images With Sigstore Cosign and Kyverno</a></div><div class="notion-text notion-block-63567f8dae5847bfa174fca8c7ac95a1">Notary: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/shorts/ETlbtBEsC-Y">• Notary Project: Ensuring Trustworthy Container (Docker) Images</a></div><div class="notion-text notion-block-180e349cd6af4b0a8f572857f0123af5">cert-manager: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=D7ijCjE31GA&amp;t=0s">• What Is HTTPS? How Does It Work? Automate With cert-manager And Let&#x27;s Encrypt</a></div><div class="notion-text notion-block-128ec6023c864cef844e400be4258462"><b>Teller</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=Vcjz-YM3uLQ&amp;t=0s">• Secrets Made My Life Miserable - Consume Secrets Easily With Teller</a></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-f543260d928e4629a16ead0d5a103c3a" data-id="f543260d928e4629a16ead0d5a103c3a"><span><div id="f543260d928e4629a16ead0d5a103c3a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#f543260d928e4629a16ead0d5a103c3a" title="Networking:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Networking:</span></span></h4><div class="notion-text notion-block-90757540a4d847569c210ab2a237145c">Istio: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqbC11RnFncEFmUU56MjdQYWJ3UEJScVRKT0xuZ3xBQ3Jtc0tubWtEYk1WWTItWmlEX3hILVRBSDFYZmgzVG1nTk5ZNlNwS0l4aVFaV003M0xxaWlhS1EyRFF0ajRHS1FVbTU5Nm5VX0tGUmQ5YXBSclZ4NkNoOTZGTHZ5RDg4RHpPY19yMlFya01kOFRXeHZ2QnRkdw&amp;q=https%3A%2F%2Fistio.io%2F&amp;v=-qeoLfSGlFU">https://istio.io</a></div><div class="notion-text notion-block-e9273d9b7209469d95f039496803ba44">LinkerD: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqa2JVanlDaWdFU09mdEFCY1FaU1pTak5IWm5QZ3xBQ3Jtc0tudTFUd3ZYTl9naFhqaU5NTHo5amZTOW03NmUwT0YxeFhlaFJQTVVTUTY1MXQ5QUtmS0tIbmVpSTBoMm5LTGlXWVhjLTd0OXdFQXd6TVdGeE9zdHNWZ2FiY1h5aDg3Y3d0SHMtSXdCY2xxNkNNcGtQbw&amp;q=https%3A%2F%2Flinkerd.io%2F&amp;v=-qeoLfSGlFU">https://linkerd.io</a></div><div class="notion-text notion-block-1fb27dd930c34504b819f68d6c655a3e">Kuma: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqbHNDanNrUFFVeGZxZXY2bFlYbC1GWmgxWmJZQXxBQ3Jtc0tsMUhmVVBXdk1tQzJvc1hHb3Vnbk5MLUtFVXgwcWl1QzI5MlhkZ0FYT1VEdm9kQU1qck84VDNvMUNiRTMxYzBUcFdpUEp3NUt1SWtKd2cxUzNDYWZLbjVCTloya0pMa0pQTGx3T1YxR1JKajVCbVNoSQ&amp;q=https%3A%2F%2Fkuma.io%2F&amp;v=-qeoLfSGlFU">https://kuma.io</a></div><div class="notion-text notion-block-7dba8c4d2af64992a22929657c1154f2"><b>Cilium</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=sfhRFtYbuyo&amp;t=0s">• Kubernetes Networking, Security, And Observability With eBPF And Cilium</a></div><div class="notion-text notion-block-795545fd24bb4454aafdec836be265c6"><b>Gateway API</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=YAtXTI3NKtI&amp;t=0s">• Gateway API - Ingress And Service Mesh Spec Replacement?</a></div><h4 class="notion-h notion-h3 notion-h-indent-1 notion-block-0ada3c115b6242b7b280566c87323803" data-id="0ada3c115b6242b7b280566c87323803"><span><div id="0ada3c115b6242b7b280566c87323803" class="notion-header-anchor"></div><a class="notion-hash-link" href="#0ada3c115b6242b7b280566c87323803" title="Miscellaneous:"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">Miscellaneous:</span></span></h4><div class="notion-text notion-block-da8a4ed2c4e6451482167a8fd919a700"><b>Charm</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/redirect?event=video_description&amp;redir_token=QUFFLUhqa0l0VmZFZ055RGhucjRQUTFfdjZRMGdCekdJQXxBQ3Jtc0tubkFObXFyZlpEeHZ2eU1CTnlfRHBxa2xQcXZaTGdxLTZpYjc4Q1BjUkNlRUl2NUpNekZrTGJwSE1maDUySmRSODlZb1pxVUFRUDVrUjk3bE1aYUNpR01QMFAwZ25TYW9Lc05mVlhMWHViVVAwVHhWMA&amp;q=https%3A%2F%2Fcharm.sh%2F&amp;v=-qeoLfSGlFU">https://charm.sh</a>  make the command line glamorous. <code class="notion-inline-code">ssh git.charm.sh</code></div><ul class="notion-list notion-list-disc notion-block-e782c4ca273a4153965efeb752ece9fb"><li>From Evaluate to Adopt:</li></ul><div class="notion-text notion-block-aeae0f07cc9243d685d65bb5bb74fc6e"><b>eBPF</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.youtube.com/watch?v=7ZVQSg9HX68&amp;t=0s">• Is eBPF The End Of Kubernetes Sidecar Containers?</a></div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-c021d0c175b74322b4d3c7c6d3392387" data-id="c021d0c175b74322b4d3c7c6d3392387"><span><div id="c021d0c175b74322b4d3c7c6d3392387" class="notion-header-anchor"></div><a class="notion-hash-link" href="#c021d0c175b74322b4d3c7c6d3392387" title="🤗 总结归纳"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">🤗 总结归纳</span></span></h2><div class="notion-text notion-block-1360ef39138f4f9792116676799c7f2a">这是一个围绕Kubernetes建设的生态，不按云原生的架构方法来大概率是用不上这些工具的，勉强用上火力也大打折扣。</div><div class="notion-blank notion-block-ffda0cdf036e4ff9a22840e13b8cb645"> </div></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[VCluster在Kubernetes上实现成本效益高的多租户]]></title>
            <link>https://blog.devops.gold/article/vcluster-cost-effective-multi-tenancy-on-kubernetes</link>
            <guid>https://blog.devops.gold/article/vcluster-cost-effective-multi-tenancy-on-kubernetes</guid>
            <pubDate>Wed, 31 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[vcluster是一个在Kubernetes上实现成本效益高的多租户的工具，由Loft Labs开发。它提供了一种在现有的Kubernetes集群内创建新的虚拟Kubernetes集群的简单方法，这对于需要租户隔离和面临高昂的Kubernetes运行成本的组织或客户来说，是一个有效的解决方案。Loft Labs还提供了一套托管服务套件Loft V3，帮助团队以快速和成本效益的方式采用Kubernetes。]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-175c302039544da5a2a45b7189810326"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><blockquote class="notion-quote notion-block-9a53b9bd277c40798e1b8353c6eac544"><div>原文 <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.salaboy.com/2023/06/19/cost-effective-multi-tenancy-on-kubernetes/">https://www.salaboy.com/2023/06/19/cost-effective-multi-tenancy-on-kubernetes/</a> </div></blockquote><div class="notion-text notion-block-8d810b9cd64941b5bff727860c77ab5a">2023-06-19</div><div class="notion-text notion-block-6874b3bd489347d698dcc9a54286c50b">配置Kubernetes集群是昂贵的，如果你的组织或客户要求租户隔离，这将变得有问题。在这份报告中，我决定介绍vcluster和Loft Labs。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-54069c63839c46828f145508f1a4de91"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:700px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://intranetproxy.alipay.com/skylark/lark/0/2024/png/47559/1705575890603-215bec0c-8db0-4a05-86c0-722206c8a16c.png?t=54069c63-839c-4682-8f14-5508f1a4de91" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-ad17665faa564a04bb6c10aac06529fd">太长不看版：配置Kubernetes集群是昂贵的，如果你的组织或客户要求租户隔离，这将变得有问题。在这份报告中，我决定介绍vcluster。这个工具在CNCF领域越来越受欢迎，因为它提供了一个替代方案，可以在面临租户隔离和每月底只为运行Kubernetes本身的机器付费的昂贵账单时使用。vcluster背后的公司，Loft Labs，使团队能够使用成本效益高的集群和你需要给开发者他们需要工作的管理工具。</div><div class="notion-text notion-block-bff7ad5dc14442d9b07edc4224919d26">公司名称：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://loft.sh/?ref=salaboy.com">Loft Labs</a></div><ul class="notion-list notion-list-disc notion-block-a25b99c4bf0b40c4a120cba50bb0029e"><li>融资：种子轮 - 25人</li></ul><ul class="notion-list notion-list-disc notion-block-9c40a85ef4224e69ba659e09c4a0e650"><li>投资：430万美元 竞争对手：- Hypershift / Kamaji **</li></ul><ul class="notion-list notion-list-disc notion-block-0dd55a648e2040b2a31c65c2f7995e2e"><li>社区参与：CNCF金牌赞助商 - KubeCon EU 2023，核心维护者</li></ul><ul class="notion-list notion-list-disc notion-block-4ffb7c4701314f9087437ed6f79b193d"><li>产品：Loft V3 - 具有GitOps集成的大规模自助虚拟集群</li></ul><div class="notion-text notion-block-5fd18012de994e4eabf00293eb56487f">项目：vcluster</div><ul class="notion-list notion-list-disc notion-block-37075e57ffb740399c44f19cbd8024cf"><li>受欢迎程度：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/loft-sh/vcluster/?ref=salaboy.com">Github上近2500颗星</a></li></ul><ul class="notion-list notion-list-disc notion-block-52871b40c8b34957980aecc77f630536"><li>成熟度：CNCF孵化，巩固其用户基础并完善用例</li></ul><ul class="notion-list notion-list-disc notion-block-377992f81e6547a9863f1463c353072d"><li>领域：多租户，开发环境，隔离</li></ul><ul class="notion-list notion-list-disc notion-block-374714809ab44f15802927b94a0a86ef"><li>* 这些项目不是vcluster的直接竞争对手，但它们处于同一领域，即多租户Kubernetes。Hypershift主要由Red Hat维护，Kamaji由Clastix维护。</li></ul><div class="notion-text notion-block-18d7cd2991694c3eb8d4474edaa3e1a0">评级：</div><ul class="notion-list notion-list-disc notion-block-26273add6640461c9f191cd3dc458ef5"><li>热度因素 6 / 10</li></ul><ul class="notion-list notion-list-disc notion-block-b9939e8f65aa466884bd2f726c0ea2b4"><li>社区 5 / 10</li></ul><ul class="notion-list notion-list-disc notion-block-6b0b209a2e0d48b896a1d4b66a27d597"><li>项目准备情况 6 / 10</li></ul><ul class="notion-list notion-list-disc notion-block-72d85809905e4cbfad57275004df9e9c"><li>易用性 8 / 10</li></ul><ul class="notion-list notion-list-disc notion-block-624c219444614bb68f86a6330ab5f39e"><li>产品市场适应度 5/10</li></ul><ul class="notion-list notion-list-disc notion-block-4471cb53a4cc4aaea0a16f44d71a4b40"><li>公司成功 3/10</li></ul><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-c41d977833524c5c97699a4aa886df64" data-id="c41d977833524c5c97699a4aa886df64"><span><div id="c41d977833524c5c97699a4aa886df64" class="notion-header-anchor"></div><a class="notion-hash-link" href="#c41d977833524c5c97699a4aa886df64" title="问题空间"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">问题空间</span></span></h4><div class="notion-text notion-block-e19a707a1275435880ef5b7e07149572">迟早，你会需要不止一个Kubernetes集群，这并不便宜。无论你是需要一个新的集群让内部团队运行他们的应用程序，还是你想给每一个客户他们自己的隔离集群来运行你的服务。一旦这个对话开始，两个主要因素会阻碍团队的前进：金钱和时间。支付新的集群并不是大多数团队可以做出的决定，他们将需要整个组织的支持。在任何云提供商中创建集群都不是即时的。通常需要5到10分钟（取决于云提供商）来设置硬件和软件。虽然这与你在本地设置一个集群所需要的时间相比几乎微不足道，但你不能让你的客户等待10分钟才开始使用你的软件。</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-35a8259f64764d1fa1e1e36976c27592" data-id="35a8259f64764d1fa1e1e36976c27592"><span><div id="35a8259f64764d1fa1e1e36976c27592" class="notion-header-anchor"></div><a class="notion-hash-link" href="#35a8259f64764d1fa1e1e36976c27592" title="开源项目"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">开源项目</span></span></h4><div class="notion-text notion-block-3e3f27f4f3674574b9f1b7b0b01fc806">vcluster提供了一种简单的方法，在现有的Kubernetes集群（主机）内创建新的虚拟Kubernetes集群。这些虚拟集群可以使用vcluster CLI或Helm（一个Kubernetes的包管理器）来创建。一旦创建了一个虚拟集群，你可以分享详细信息（凭证和API服务器URL）给团队/客户与之交互。从消费者的角度看，他们与一个真实的集群进行交互。从提供者的角度看，你仍然有一个运行着工作负载的Kubernetes集群。因为每个vcluster都会启动一个新的API服务器，每个租户在API服务器上的负载都是隔离的，不会通过主机。</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-bb88d289cc9842948f9512ffbc9ffab2" data-id="bb88d289cc9842948f9512ffbc9ffab2"><span><div id="bb88d289cc9842948f9512ffbc9ffab2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#bb88d289cc9842948f9512ffbc9ffab2" title="产品空间"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">产品空间</span></span></h4><div class="notion-text notion-block-f35a9bd9af664d8eb9741fb425b17676">Loft Labs成立于2019年，专注于使团队能够以快速和成本效益的方式采用Kubernetes。像vcluster、DevSpace和现在（2023年5月）的DevPod这样的工具，旨在帮助平台团队使用专注于采用基于Kubernetes的解决方案的工具。Loft V3是一个托管服务套件，为你提供一个中心位置，让你为你的团队创建vclusters。他们的定价模型是基于用户的。Loft V3允许你在多个区域创建和管理vclusters，包括VPC支持和单点登录功能。Loft V3提供的功能可以为公司节省时间，因为你最有可能在内部实现所有这些功能。</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-3983d18ac7f648a48b7d5f162dae2999" data-id="3983d18ac7f648a48b7d5f162dae2999"><span><div id="3983d18ac7f648a48b7d5f162dae2999" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3983d18ac7f648a48b7d5f162dae2999" title="评级详情"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">评级详情</span></span></h4><ul class="notion-list notion-list-disc notion-block-492b1284c1ed4501865edfea1a250cc8"><li><b>热度因素（6/10）：</b>vcluster从一个具有巨大潜力的优秀社区项目，发展成为一个得到了对该领域感兴趣的不同公司大力支持的坚实项目。在像KubeCon NA和KubeCon EU这样的会议上，有很多公司在CNCF工作组和主要议程中提到vcluster，这表明该项目已经准备好进行大规模的采用。</li></ul><ul class="notion-list notion-list-disc notion-block-50816bbd263d46a2808b56468c1329c6"><li><b>社区（5/10）：</b>vcluster Contrib GitHub组织包含75个由社区驱动的扩展。显示了与Linode、Civo和DigitalOcean等云提供商的集成。</li></ul><ul class="notion-list notion-list-disc notion-block-39fa49d806644e01841d7534c266cada"><li><b>项目准备情况（6/10）：</b>虽然vcluster已经完成了其基本功能，但一些更复杂的功能正在开发中。这表明该项目正在进入一个阶段，需要为实际使用案例的复杂和大规模设置做好准备。</li></ul><ul class="notion-list notion-list-disc notion-block-3b5d960dff214cf38919bcdf572119c1"><li><b>易用性（8/10）：</b>要安装和使用vcluster，你必须是一个经验丰富的Kubernetes用户。vcluster扩展了Kubernetes的非常高级的功能。这需要用户理解它将连接和与云提供商交互以创建外部资源。扩展vcluster是可能的，但需要经验丰富的Kubernetes工程师。</li></ul><ul class="notion-list notion-list-disc notion-block-8fc370e1f5d5497e803797ac8c97fafe"><li><b>产品市场适应度（5/10）：</b>如果你是一个Kubernetes用户，并在云提供商的顶部工作，vcluster非常有意义。但在生产环境中运行和维护vcluster是一个完全不同的故事，因为SREs将需要学习如何在出现问题时管理和解决它。</li></ul><ul class="notion-list notion-list-disc notion-block-10369d7e400a4463bdedb22b742a962b"><li><b>公司成功（3/10）：</b>Loft Labs的公开客户列表没有显示任何大名鼎鼎的公司，但说服大公司支持初创公司总是很难的。我期待他们的公开客户参考和合作伙伴的扩展。</li></ul><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-3632f211db264b78a68ecd1340d601d9" data-id="3632f211db264b78a68ecd1340d601d9"><span><div id="3632f211db264b78a68ecd1340d601d9" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3632f211db264b78a68ecd1340d601d9" title="社区热点"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">社区热点</span></span></h4><ul class="notion-list notion-list-disc notion-block-1c5e4a9d291145d291e54ea77f9e7a5a"><li>你需要一个成本效益高的替代方案来配置集群吗？vcluster可能是答案</li></ul><ul class="notion-list notion-list-disc notion-block-a07877a1b9c44ab6ab61b1961fc71a69"><li>如果创建vcluster的开销可以针对不同的场景轻松参数化，平台团队可以调整vcluster以适应他们的用例。</li></ul><ul class="notion-list notion-list-disc notion-block-84f6a7cddbd24e9883731d427fb6749f"><li>查看ArgoCD和vcluster的集成，以及Codefresh如何使用vcluster进行他们的托管服务</li></ul><ul class="notion-list notion-list-disc notion-block-8c779d1896ed4bf58ce1cb9575b966db"><li>查看最新的vcluster朋友DevPod，就像GitHub codespaces/GitPod，但是开源的</li></ul><ul class="notion-list notion-list-disc notion-block-fdb30e9a658944d69e13e9c084455642"><li>vcluster 0.15.0包括一个通用的同步机制，让你不仅可以在集群上节省，还可以在安装在它们上的工具上节省。我迫不及待地想在KubeCon NA 2023上看到DevPod和启用vcluster的平台</li></ul><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-38954fda5f154c6884bc24ad5308af3e" data-id="38954fda5f154c6884bc24ad5308af3e"><span><div id="38954fda5f154c6884bc24ad5308af3e" class="notion-header-anchor"></div><a class="notion-hash-link" href="#38954fda5f154c6884bc24ad5308af3e" title="采用成本"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">采用成本</span></span></h4><div class="notion-text notion-block-8ae5dd7f085c43cca85a3b23734b255f">vcluster易于使用和被现有的Kubernetes用户采用，因为它不需要在你现有的集群上安装任何东西。vcluster用户也不需要任何培训，因为他们将获得对一个完全成熟的Kubernetes API服务器的访问。一旦被采用，一个平台团队将需要构建一个管理层，以使开发团队能够请求新的vcluster并访问它们。根据你的组织的成熟度，你可能想避免设计和构建这个自助服务的管理层。</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-2a634e3ac137454cabc1d06624b8743f" data-id="2a634e3ac137454cabc1d06624b8743f"><span><div id="2a634e3ac137454cabc1d06624b8743f" class="notion-header-anchor"></div><a class="notion-hash-link" href="#2a634e3ac137454cabc1d06624b8743f" title="速度"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">速度</span></span></h4><div class="notion-text notion-block-a3b707ab72c44421a1deb4f15dfeb926">如果你正在讨论如何处理与你的Kubernetes集群相关的多租户场景，或者因为你的团队创建了太多的集群而在每个月的最后一天收到大量的账单，vcluster可以为你节省时间和金钱。</div><div class="notion-text notion-block-8a65cca2f9fd4eaa9a0f555ff35c1938">如果很明显，你的团队将从一个成本效益高且自助的方法来访问他们的Kubernetes集群中受益，我建议你与Loft Labs进行交谈。归根结底，这是关于成本和减少团队需要为他们的应用程序获取集群的时间的决定。</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-68040ba4adb4499784b385c726fbc39d" data-id="68040ba4adb4499784b385c726fbc39d"><span><div id="68040ba4adb4499784b385c726fbc39d" class="notion-header-anchor"></div><a class="notion-hash-link" href="#68040ba4adb4499784b385c726fbc39d" title="风险"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">风险</span></span></h4><div class="notion-text notion-block-e460b6ecc653453db59efcf3f25ac1ff">市场上存在其他的多租户方法，如Hypershift和Kamaji。vcluster和这些其他工具的主要区别是复杂性，但这都归结为你今天的需求。你是否正在受到开发者请求你无法支付的集群的困扰？或者你正在管理一个大规模的Kubernetes集群，你希望在各个区域隔离和管理它们？我在这里强烈推荐，当你决定如何分割一个单一的Kubernetes集群以供租户共享时，应该考虑vcluster作为一个选项。</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-18ef6dd567cf4ae8a188b3a848ba1e23" data-id="18ef6dd567cf4ae8a188b3a848ba1e23"><span><div id="18ef6dd567cf4ae8a188b3a848ba1e23" class="notion-header-anchor"></div><a class="notion-hash-link" href="#18ef6dd567cf4ae8a188b3a848ba1e23" title="收获"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">收获</span></span></h4><div class="notion-text notion-block-cfea26eaf7e843eb97ab59fd51df1616">为什么你应该关注vcluster和Loft Labs：</div><ul class="notion-list notion-list-disc notion-block-26baf271c9af4e6fb7958b17dae34fe1"><li>vcluster为多租户场景提供了一个可行的替代方案</li></ul><ul class="notion-list notion-list-disc notion-block-14fb400a4d4a44799e367685e82f2a55"><li>vcluster使团队能够访问Kubernetes，而无需为云提供商上的隔离集群支付高昂的价格</li></ul><ul class="notion-list notion-list-disc notion-block-26ff13bc3a5a437292a14146e4236584"><li>Loft Labs正在构建工具，以自助服务和大规模管理vclusters，以解决更具针对性的用例，如开发环境。</li></ul><ul class="notion-list notion-list-disc notion-block-d9685ecc439e463c8080221ca62cd19c"><li>Loft Labs正在扩展其开源产品组合和产品，以应对公司和团队在将团队引入Kubernetes时面临的更多挑战</li></ul></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Crossplane控制平面的地位稳固]]></title>
            <link>https://blog.devops.gold/article/crossplane-provisioning-cloud-resources</link>
            <guid>https://blog.devops.gold/article/crossplane-provisioning-cloud-resources</guid>
            <pubDate>Wed, 31 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Crossplane项目发展迅速，已经准备好迎接其黄金时代。这个开源项目现在是一个安全的选择，背后的公司Upbound已经创造了令人印象深刻的动能，带来了来自云原生领域的大公司的合作。虽然通过开源项目实现盈利是困难的，但Upbound正在押注在开源项目周围的托管服务，并与其他软件和服务提供商建立合作关系，总之Crossplane项目的未来看起来很光明]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-33b22bd1b9524356b4c6cefad0137b87"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><blockquote class="notion-quote notion-block-a99fcb0ed06c43bc993d13ab326d0dcd"><div>原文 <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.salaboy.com/2023/06/19/provisioning-cloud-resources/">https://www.salaboy.com/2023/06/19/provisioning-cloud-resources/</a> </div></blockquote><div class="notion-text notion-block-660798d146a74f10a86b2bc1cc726503">2023-5-19</div><div class="notion-blank notion-block-2bc520c2695742aeac82923b2f5ced96"> </div><div class="notion-text notion-block-feed15dc45c4441eab7b15c55d88a810">Crossplane（项目）发展迅速，已经准备好迎接其黄金时代。这个开源项目现在是一个安全的选择。项目背后的公司（Upbound）已经创造了令人印象深刻的动力，带来了来自云原生领域的大公司的合作。</div><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-3a620ec2737841b1bfebd869b7f65ee2"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:700px;max-width:100%;flex-direction:column"><img style="object-fit:cover" src="https://intranetproxy.alipay.com/skylark/lark/0/2024/png/47559/1705569878460-de026b57-ef43-42a4-be78-71cda8005a41.png?t=3a620ec2-7378-41b1-bfeb-d869b7f65ee2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-text notion-block-e7dea954187a4cb28c899a3c15b10a25">太长不看版：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.crossplane.io/?ref=salaboy.com">Crossplane（项目）</a>发展迅速，已经准备好迎接其黄金时代。这个开源项目现在是一个安全的选择。项目背后的公司（Upbound）已经创造了令人印象深刻的动能，带来了来自云原生领域的大公司的合作。Crossplane（项目）的未来看起来很光明，但公司呢？通过开源项目实现盈利是困难的，但Upbound正在押注在开源项目周围的托管服务，并与其他软件和服务提供商建立合作关系。</div><div class="notion-text notion-block-7389487a443e450dbb97a5e1ac13c1d1">公司名称：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://upbound.io/?ref=salaboy.com">Upbound</a></div><ul class="notion-list notion-list-disc notion-block-9691ff12e79b4639af7d257ab2daf5a3"><li>融资：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.crunchbase.com/organization/upbound?ref=salaboy.com">B轮 - + 60人</a></li></ul><ul class="notion-list notion-list-disc notion-block-a75b6a24aacc40f5a09995ddf30088d5"><li>投资：6900万美元</li></ul><ul class="notion-list notion-list-disc notion-block-5c9a0a2c7c084f5895f63d35715556d8"><li>产品：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.upbound.io/product/upbound?ref=salaboy.com">Upbound - 托管控制平面</a></li></ul><ul class="notion-list notion-list-disc notion-block-9ab0d4c5171047b796515cc02de4aa03"><li>竞争对手：HashiCorp / Pulumi</li></ul><ul class="notion-list notion-list-disc notion-block-ac28c280ca1044dc8938cb279f371d1b"><li>社区参与：CNCF金牌赞助商 - KubeCon EU 2023，核心维护者</li></ul><div class="notion-text notion-block-d47f5b42976746548eae96ab61956e32">开源项目：Crossplane</div><ul class="notion-list notion-list-disc notion-block-64bc86c2582447f38ebdd0f5f365c044"><li>受欢迎程度：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://github.com/crossplane/crossplane?ref=salaboy.com">Github上近7000颗星</a></li></ul><ul class="notion-list notion-list-disc notion-block-817de1c54d674874b4a1c179613d3b6f"><li>成熟度：CNCF孵化中，成熟，生产已就绪</li></ul><ul class="notion-list notion-list-disc notion-block-a8520c5e1e4948b9bf9fac0252381b9c"><li>领域：基础设施即代码，内部开发平台</li></ul><div class="notion-text notion-block-c2cd5bd31c8d47eb98185fb54fa1a8eb">评级：</div><ul class="notion-list notion-list-disc notion-block-76952aad3ca5496794150b53cd3ed79b"><li>热度因素 10 / 10</li></ul><ul class="notion-list notion-list-disc notion-block-cee613a4bf5841ab8131f701eeab069b"><li>社区 9 / 10</li></ul><ul class="notion-list notion-list-disc notion-block-ea8341f8d860498692dbf82edb8fde92"><li>项目准备情况 8 / 10</li></ul><ul class="notion-list notion-list-disc notion-block-a65b16c861e24dc58e16abc8fd690659"><li>易用性 4 / 10</li></ul><ul class="notion-list notion-list-disc notion-block-7128466d90dd459ba2f3535c7d6911c3"><li>产品市场适应度 7/10</li></ul><ul class="notion-list notion-list-disc notion-block-087539e131a34354a2f81abfed800305"><li>公司成功 4/10</li></ul><div class="notion-text notion-block-18273030d9f14038a48b7e407371d137">KubeCon Europe是看到云原生领域如何充满活力的好机会。在这个月的报告中，我想突出一个我非常关心的公司和项目：Crossplane和Upbound，他们在今年的会议上非常活跃。</div><div class="notion-text notion-block-f2a9f0521cbf4dbcace726c2374e2b78">我一直在尽我所能为Crossplane项目做贡献，并与Upbound的工程师、Crossplane的维护者以及与项目相关的一些公司进行交流。我对项目了解很深，我已经关注Upbound一段时间了，所以我想利用我的个人经验，我在KubeCon期间收集的数据，以及一些外部反馈来整理这些报告。</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-09ade08bc7954fa8bbb810848ce31b73" data-id="09ade08bc7954fa8bbb810848ce31b73"><span><div id="09ade08bc7954fa8bbb810848ce31b73" class="notion-header-anchor"></div><a class="notion-hash-link" href="#09ade08bc7954fa8bbb810848ce31b73" title="问题领域"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">问题领域</span></span></h4><div class="notion-text notion-block-31fcbfe58b4a46f386908d9b96642de4">创建云原生应用需要团队配置云资源，如数据库、集群、网络、虚拟机、代理、存储桶等。创建和配置这些云资源是具有挑战性的，并且是特定于云提供商的。团队已经学会使用像HashiCorp的Terraform这样的工具来描述和配置跨云提供商的复杂基础设施。Terraform使用其语言（HCL）来描述需要配置的内容，然后操作员可以运行terraform命令将这些配置应用到您选择的云提供商。这种方法（基础设施即代码）在行业中被广泛使用。</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-244683d07ff441aabf000ce3d5e4ac60" data-id="244683d07ff441aabf000ce3d5e4ac60"><span><div id="244683d07ff441aabf000ce3d5e4ac60" class="notion-header-anchor"></div><a class="notion-hash-link" href="#244683d07ff441aabf000ce3d5e4ac60" title="开源项目"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">开源项目</span></span></h4><div class="notion-text notion-block-447cf175899b48dd88b6a0771adcd2b2">Crossplane的创建是为了使定义和配置基础设施成为Kubernetes原生的。这意味着什么？或者为什么这很重要？首先，Crossplane允许用户将所需的基础设施定义为Kubernetes资源。它没有引入新的语言。如果你是一个Kubernetes用户，使用Crossplane会感觉很自然。这也允许你重用所有的Kubernetes工具来管理和使用Crossplane。不需要新的工具。对于大量投资于Kubernetes的团队，Crossplane非常有意义。</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-0e9537a952504d6aaa84d377f5c68463" data-id="0e9537a952504d6aaa84d377f5c68463"><span><div id="0e9537a952504d6aaa84d377f5c68463" class="notion-header-anchor"></div><a class="notion-hash-link" href="#0e9537a952504d6aaa84d377f5c68463" title="产品空间"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">产品空间</span></span></h4><div class="notion-text notion-block-fa8a11393eba42248ae177c646c8ded0">在Crossplane进入Kubernetes领域（于2020年6月25日捐赠给CNCF）的近三年后，我可以说这个工具是坚固的，生产就绪的，并且有非常健康的社区支持。最近VMware在<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://blog.upbound.io/vmware-tanzu-partner-tap-uxp/?ref=salaboy.com">他们的Kubernertes产品，Tanzu</a>中添加了对Crossplane的支持，这是第三方产品提供商对Crossplane的信任的一个好的迹象。项目背后的公司Upbound，提供了一个Crossplane托管服务，也就是说，你将运行Crossplane本身的责任转交给Upbound。在KubeCon之后，他们发布了公司的一页纸，你可以在这里查看。</div><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-09625f2b5ab847bd87cece80e2d8a07a" data-id="09625f2b5ab847bd87cece80e2d8a07a"><span><div id="09625f2b5ab847bd87cece80e2d8a07a" class="notion-header-anchor"></div><a class="notion-hash-link" href="#09625f2b5ab847bd87cece80e2d8a07a" title="评级详情"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">评级详情</span></span></h4><ul class="notion-list notion-list-disc notion-block-7bc610bf985043f283ce34ce96aa3229"><li>热度因素（10/10）：Crossplane从一个具有巨大潜力的优秀社区项目，发展成为一个得到了对该领域感兴趣的不同公司大力支持的坚实项目。在像KubeCon NA和KubeCon EU这样的会议上，有很多公司在CNCF工作组和主要议程中提到Crossplane，这表明该项目已经准备好进行大规模的采用。</li></ul><ul class="notion-list notion-list-disc notion-block-53b6a18fcf714a55a61cb918ae147049"><li>社区（9/10）：Crossplane Contrib GitHub组织包含75个由社区驱动的扩展。显示了与Linode、Civo和DigitalOcean等云提供商的集成。 项目准备情况（8/10）：虽然Crossplane已经完成了其基本功能，但一些更复杂的功能正在开发中。这表明该项目正在进入一个阶段，需要为实际使用案例的复杂和大规模设置做好准备。</li></ul><ul class="notion-list notion-list-disc notion-block-0535f2a277a8453caaf5b5e75edefcc1"><li>易用性（4/10）：要安装和使用Crossplane，你必须是一个经验丰富的Kubernetes用户。Crossplane扩展了Kubernetes的非常高级的功能。这需要用户理解它将连接和与云提供商交互以创建外部资源。扩展Crossplane是可能的，但需要经验丰富的Kubernetes工程师。</li></ul><ul class="notion-list notion-list-disc notion-block-5fb538b374f64e2e832b19a7acc3472f"><li>产品市场适应度（7/10）：如果你是一个Kubernetes用户，并在云提供商的顶部工作，Crossplane非常有意义。但在生产环境中运行和维护Crossplane是一个完全不同的故事，因为SREs将需要学习如何在出现问题时管理和解决它。</li></ul><ul class="notion-list notion-list-disc notion-block-e3629e925c7147e5af6f16904bef73cb"><li>公司成功（4/10）：Upbound的公开<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://www.upbound.io/why-upbound/customers?ref=salaboy.com">客户列表</a>没有显示任何大名鼎鼎的公司，但说服大公司支持初创公司总是很难的。我期待他们的公开客户参考和合作伙伴的扩展。我相信在11月的KubeCon NA会有更多的公告。</li></ul><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-f6dcb542635d42b6abc48b8ca532c5e1" data-id="f6dcb542635d42b6abc48b8ca532c5e1"><span><div id="f6dcb542635d42b6abc48b8ca532c5e1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#f6dcb542635d42b6abc48b8ca532c5e1" title="社区热点"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">社区热点</span></span></h4><ul class="notion-list notion-list-disc notion-block-bea07f64b0cd4dbe935c8c713da89c38"><li>Daniel Magnum，Crossplane的创始工程师之一，最近离开了公司，追随他对硬件和物联网的热情。他在商业方面尝试了托管控制平面，我对他的离职感到有些惊讶。</li></ul><ul class="notion-list notion-list-disc notion-block-e8b9732a35d44c059832502d12e7c9ac"><li>一个名为KCP的由Red Hat创立/赞助的类似项目现在<b>已经死亡并且停止资助</b>。<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://twitter.com/andygoldstein/status/1651569871178588165?s=46&amp;t=W8bsQGNGpRE0tr-Si6vXLA&amp;ref=salaboy.com">查看这条推文</a>。</li></ul><ul class="notion-list notion-list-disc notion-block-212b70924933442bb24ebfa86a72b075"><li>配置基础设施对开发者活动有直接影响。使开发者能够使用所有创建的云资源也是解决问题的重要一环。查看<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://blog.crossplane.io/crossplane-and-dapr/?ref=salaboy.com">这篇</a>博客文章。</li></ul><ul class="notion-list notion-list-disc notion-block-f4833c71c5284a4b8c39ef52cc7ad2a8"><li>Stefan，<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://twitter.com/the_sttts/status/1651916313982271488?s=46&amp;t=W8bsQGNGpRE0tr-Si6vXLA&amp;ref=salaboy.com">前Red Hat和KCP项目负责人</a>，加入了Upbound团队。</li></ul><ul class="notion-list notion-list-disc notion-block-6f827b5c2bf745f0aeaad84b40ef177c"><li>Upbound的Nic发表了一本名为《什么是Crossplane》的电子书，与O’Reily合作。</li></ul><div class="notion-file notion-block-f258a9d04f7841078c0be7af0c6883ce"><a target="_blank" rel="noopener noreferrer" class="notion-file-link" href="https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F01ffbdae-0480-4e5c-8a50-69a059d7ef27%2F37a74b17-d0d9-4584-9e6f-a35975be0c0c%2FFINAL_OReilly-Report.pdf?table=block&amp;id=f258a9d0-4f78-4107-8c0b-e7af0c6883ce"><svg class="notion-file-icon" viewBox="0 0 30 30"><path d="M22,8v12c0,3.866-3.134,7-7,7s-7-3.134-7-7V8c0-2.762,2.238-5,5-5s5,2.238,5,5v12c0,1.657-1.343,3-3,3s-3-1.343-3-3V8h-2v12c0,2.762,2.238,5,5,5s5-2.238,5-5V8c0-3.866-3.134-7-7-7S6,4.134,6,8v12c0,4.971,4.029,9,9,9s9-4.029,9-9V8H22z"></path></svg><div class="notion-file-info"><div class="notion-file-title">FINAL_OReilly-Report.pdf</div><div class="notion-file-size">952.6KB</div></div></a></div><ul class="notion-list notion-list-disc notion-block-fdc45e2ffc8b4ca88d17feee8ccf2858"><li>我已经听到不止一次：“我喜欢Crossplane，但我已经在使用Terraform了”</li></ul><h4 class="notion-h notion-h3 notion-h-indent-0 notion-block-6b23a116b0324df4882e3689677d8c31" data-id="6b23a116b0324df4882e3689677d8c31"><span><div id="6b23a116b0324df4882e3689677d8c31" class="notion-header-anchor"></div><a class="notion-hash-link" href="#6b23a116b0324df4882e3689677d8c31" title="收获"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">收获</span></span></h4><div class="notion-text notion-block-779b4068951549a38a5b239dfbf49dac">为什么你应该关注Crossplane和Upbound：</div><ul class="notion-list notion-list-disc notion-block-3b7e59fa991741a2b613a09a587fd0c7"><li>他们正在推动如何在Kubernetes(API机制)之上运行和产品化托管服务的边界</li></ul><ul class="notion-list notion-list-disc notion-block-de64de1cfb2144c780f4d7abaca480b3"><li>他们正在解决你在Kubernetes旅程中迟早需要解决的挑战</li></ul><ul class="notion-list notion-list-disc notion-block-9a2b55a6831d4ab4aab14e2d8baba028"><li>他们正在与<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://blog.upbound.io/vmware-tanzu-partner-tap-uxp/?ref=salaboy.com">像VMware</a>这样的组织合作，这些组织汇集了多个开源项目，以向大型组织提供服务和产品。这是成熟的一个很好的标志。</li></ul><ul class="notion-list notion-list-disc notion-block-3154d5a738744150931064b537b1594a"><li>随着更大的公司对项目的投注，采用率将会增长。</li></ul><ul class="notion-list notion-list-disc notion-block-2188988740f649fa983ff7b98e48a9e1"><li>Upbound最大的挑战是与Pulumi和Terraform用户争夺市场份额。展示更多的生产用例和案例研究，将极大地影响社区和新的潜在大用户的认知。</li></ul></main></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[平台工程不是关于如何建设华丽UI的]]></title>
            <link>https://blog.devops.gold/article/platform-engineering-is-not-about-building-fancy-uis</link>
            <guid>https://blog.devops.gold/article/platform-engineering-is-not-about-building-fancy-uis</guid>
            <pubDate>Wed, 31 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[平台工程的成功并非取决于华丽的用户界面，而是关注开发者最有益的功能。开发者门户和服务目录并非必需，且常常失败，因为开发者讨厌“又一个界面”，并且这些门户和目录的收益很低，且在实现和保持更新方面复杂。采用产品方法，从用户研究开始，询问开发者他们需要什么，然后对这些问题进行排序，才能有效地进行平台工程]]></description>
            <content:encoded><![CDATA[<div id="notion-article" class="mx-auto overflow-hidden "><main class="notion light-mode notion-page notion-block-60a7af3519bb423eabff2bb1d7376ac5"><div class="notion-viewport"></div><div class="notion-collection-page-properties"></div><blockquote class="notion-quote notion-block-d945ccbab917447aafb27c677bcdd5dc"><div>编者：本文原作者是一家平台编排器(一种自动组织编排infra资源的infra)公司的CEO，他们帮助一些公司实施平台工程时发现的规律：刚开始客户会对搭建可见的门户(Portal)非常感兴趣，慢慢会回到解决环境配置、云资源依赖的编排等“更实际”的问题上来。在一些访谈里他建议500人及以上研发团队，才有必要投资Backstage为代表服务目录Portal。IDPs是关于建设面向内部的API，门户Portal是IDPs之上偏薄的一层。</div></blockquote><div class="notion-blank notion-block-01211136073246599504d7f13f572e67"> </div><blockquote class="notion-quote notion-block-1cc7a7b2b9d2469296a6f5f77c53e8bb"><div>原文：<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://thenewstack.io/platform-engineering-is-not-about-building-fancy-uis/">https://thenewstack.io/platform-engineering-is-not-about-building-fancy-uis/</a></div></blockquote><figure class="notion-asset-wrapper notion-asset-wrapper-image notion-block-946f575242da41f39b56479f05a32ff2"><div style="position:relative;display:flex;justify-content:center;align-self:center;width:100%;max-width:100%;flex-direction:column;height:100%"><img style="object-fit:cover" src="https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F01ffbdae-0480-4e5c-8a50-69a059d7ef27%2F0be137c6-eead-482e-b8e1-92b7578b577c%2FUntitled.png?table=block&amp;id=946f5752-42da-41f3-9b56-479f05a32ff2&amp;t=946f5752-42da-41f3-9b56-479f05a32ff2&amp;width=620&amp;cache=v2" alt="notion image" loading="lazy" decoding="async"/></div></figure><div class="notion-blank notion-block-65b1d7e79fed433ea598e2d9fe013974"> </div><div class="notion-text notion-block-c2d92f9a5da043c2be9186386e9098c3">对开发者门户、服务目录和内部开发平台的混淆带来了真正的问题。</div><div class="notion-text notion-block-2b37c719dc344189944182b5bf6109b9">如果我必须说出一些人对<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://platformengineering.org/blog/what-is-platform-engineering">平台工程</a>最大的<b>误解</b>，那就是成功的平台工程战略结果是一个有很多按钮可以点击和仪表板可以查看的闪亮用户界面。</div><div class="notion-text notion-block-c380377c4fbd497da360d00153514216">许多人将开发者门户和服务目录与<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://internaldeveloperplatform.org/">内部开发平台(IDPs)</a>混为一谈，但它们并不相同。这种混淆带来了真正的问题。充其量，那个闪亮的 UI 只允许组织获得它们可以从平台工程中获得的投资回报(ROI)的一小部分。</div><div class="notion-text notion-block-7e1cf0fd7d3e4fcc966f0ee418357359">在 2022 年，我与大约 300 个平台工程团队进行了交流。这些团队中的许多人开始他们的平台工程之旅是从构建开发者门户开始的。然而，对于它们中的 95%，其他平台化举措本可以对开发者的生产力和投资回报产生更大的影响。不到 20% 的团队看到开发者实际采用和使用开发者门户。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-239917dda1af4a69b59adcc1c73064e2" data-id="239917dda1af4a69b59adcc1c73064e2"><span><div id="239917dda1af4a69b59adcc1c73064e2" class="notion-header-anchor"></div><a class="notion-hash-link" href="#239917dda1af4a69b59adcc1c73064e2" title="开发者门户(Developer Portals) vs. 服务目录(Service Catalogs) vs. IDP(Internal Developer Platforms)"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">开发者门户(Developer Portals) vs. 服务目录(Service Catalogs) vs. IDP(Internal Developer Platforms)</span></span></h2><div class="notion-text notion-block-4dab5ded78024fdf970d3aed1b979082">在 2022 年，Gartner 阐明了开发者门户和内部开发平台之间的关系： “内部开发者门户充当开发者发现和访问内部开发平台能力的界面。”</div><div class="notion-text notion-block-5a0a5b92688a442cb720ae0e48d0aef0">例如，Netflix 在其现有的平台工具之上构建了一个开发者门户。 内部开发平台是平台工程团队为开发者构建的所有技术、工具和流程的总和，它们结合在一起形成了一条黄金路径。这条黄金路径通过设计减少了认知负荷并推动了标准化。一个内部开发平台甚至不需要有用户界面。内部开发平台远不止于聚合信息和展示信息——它们包括从配置和基础设施管理到环境和部署管理等方面。设计内部开发平台是关于倾听开发者在日常工作中实际需要什么，并构建满足这些需求的解决方案。开发者门户可以可视化底层平台，但它不是内部开发平台的必要组成部分。</div><div class="notion-text notion-block-fc75500238354ee98af122687bb0daaf">开发者门户或服务目录是一个用户界面，它从多个 API 中提取数据，并将它们与不同的视图进行对比。服务目录向您展示了可用服务的列表，包括它们具有哪些 API 和服务的拥有者。它从 GitHub，工单系统和持续集成（CI）中拉取并聚合元数据。服务目录通常具有一个“模板图库”，这是一个或多或少的精美 GitHub 模板和仪表板集合。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-d4cb1b3ddcb0477497701a6a8910dd54" data-id="d4cb1b3ddcb0477497701a6a8910dd54"><span><div id="d4cb1b3ddcb0477497701a6a8910dd54" class="notion-header-anchor"></div><a class="notion-hash-link" href="#d4cb1b3ddcb0477497701a6a8910dd54" title="为什么组织专注于开发者门户和服务目录？"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">为什么组织专注于开发者门户和服务目录？</span></span></h2><div class="notion-text notion-block-281eaf0dd9ef43968ceb912b13bbcd0e">如果开发者门户和服务目录并非必需，为什么许多组织还是首先专注于构建它们呢？以下是我见过的一些最常见的原因：</div><ul class="notion-list notion-list-disc notion-block-db723df1444541afb047c3d2a233996b"><li><b>它看起来显而易见</b>：当组织开始他们的平台之旅时，他们倾向于按时间顺序缓解痛点。首先想到的是你最先完成的任务。对于应用程序的生命周期来说，那可能是创建服务。对于开发者来说，通常是新入职。许多组织选择首先从这里开始自动化。</li></ul><ul class="notion-list notion-list-disc notion-block-55acaade676c405cafaa5a1b2f8ce037"><li><b>易于展示</b>：仪表板是您可以向您的管理者展示的东西，特别是如果他们没有技术背景。可视化要比重新构造配置管理更容易解释和销售。但这并不意味着它更有意义。</li></ul><ul class="notion-list notion-list-disc notion-block-9fb950b43ecd4af18fc62582bf20fb25"><li><b>每个人都对界面有看法</b>：尽管在平台工程领域，真正理解如何就底层技术和实际痛点（如配置管理）架构内部开发平台的人相对较少，但更多的人对界面有看法。结果是，关于界面的讨论比关于开发者体验中的真正深层问题更多。</li></ul><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-e7eab359b76d4d72a06a7769b579a1e1" data-id="e7eab359b76d4d72a06a7769b579a1e1"><span><div id="e7eab359b76d4d72a06a7769b579a1e1" class="notion-header-anchor"></div><a class="notion-hash-link" href="#e7eab359b76d4d72a06a7769b579a1e1" title="为什么开发者门户和服务目录的努力常常失败？"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">为什么开发者门户和服务目录的努力常常失败？</span></span></h2><div class="notion-text notion-block-6e916ec454a54490beb7895796c3e072">在投入时间和资源开发开发者门户和服务目录之后，许多组织对结果感到失望。原因如下：</div><ul class="notion-list notion-list-disc notion-block-9039edcf69f44428b77969d0233e0330"><li><b>开发者讨厌“又一个界面”</b>。他们希望留在代码中，在他们的 git-push 通道中，快速且不受干扰地操作。您可以构建最美观的用户界面，但这并不意味着有人会定期查看它。我查看了一个非常大的电子商务公司的门户的使用指标，发现平均来说，开发者每年确切地使用一次（搜索）功能，以检查他们正在构建的内容是否之前已经被构建过了。</li></ul><ul class="notion-list notion-list-disc notion-block-c8977c9862ee42038bd53b64fadf63c5"><li><b>可观的收益很低</b>。我听到的最常见的用例是“我们想要标准化新服务的创建。”假设你每年创建了疯狂的 1000 个新微服务。你今天是如何做到的？可能只是通过克隆 GitHub 模板。因为门户本身基本上只是 UI 框架，它们所做的只是调用其他 API。所以如果你实现了“通过点击按钮创建新服务”的功能，这个按钮将调用 GitHub 模板 API 并克隆链接的示例仓库。使用最常用的开源框架构建一个门户，实际上需要至少两个全职员工 (FTEs) 至少六个月的时间。但你的影响在哪里？每次创建服务节省了 10 秒？即使是一分钟？我们假设由于某种奇迹般的原因是 1 分钟，我们拿 1000 个服务和我们每年支付 10 万美元的两个 FTE 来计算。那么你的投资回报率仍然在疯狂的 -80%，而且请记住这假设我们每年创建 1000 个服务！恭喜你，你只是浪费了时间。</li></ul><ul class="notion-list notion-list-disc notion-block-72d12fa179354841988108cbdb2af82f"><li><b>门户和服务目录在实现和保持更新方面也是出了名的复杂</b>。开发者会不断地绕过，一个数据错误的仪表板可能比没有仪表板更糟糕。你将花费大量的资源和时间尝试保持东西的最新。</li></ul><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-3b1a64febaef4481a30846a11e4b8456" data-id="3b1a64febaef4481a30846a11e4b8456"><span><div id="3b1a64febaef4481a30846a11e4b8456" class="notion-header-anchor"></div><a class="notion-hash-link" href="#3b1a64febaef4481a30846a11e4b8456" title="将平台作为产品（Platform as a Product）来看待是一种方法"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">将平台作为产品（Platform as a Product）来看待是一种方法</span></span></h2><div class="notion-text notion-block-f335e04a6dc2493ba1cf3923997f6d57">与其专注于构建开发者门户或服务目录，不如优先考虑对开发者最有益的功能。您可以通过采取<a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://thenewstack.io/platform-as-a-product-true-devops/">产品方法</a>来确定您的组织需要哪些功能。采用产品方法，您不会从构建&quot;某些管理层&quot;告诉您的东西或任何看起来显而易见的东西开始。相反，您要从用户研究开始。去问您的开发者他们需要什么或想要做什么。</div><div class="notion-text notion-block-8449681b463945f49187f001c161225d">然后，您有责任对这些问题进行排序。这样做的一种方法是记录开发者每 100 次部署中有多少次执行某个任务以及需要多长时间。您最终会得到一个看起来类似于下面的表格。</div><div class="notion-text notion-block-bef28124dd444e85b748bc8cdd51071e">简单的计算：</div><table class="notion-simple-table notion-block-415c4e90af344befaa6e091878d99c24"><tbody><tr class="notion-simple-table-row notion-block-4f280d8b59a04934befcfe9d5cd3550a"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>过程</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>部署中的分布频率</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>开发的时间</b>
<b>(包含等待与错误）</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>运维的时间</b>
<b>(</b><b>包含等待与错误</b><b>)</b></div></td></tr><tr class="notion-simple-table-row notion-block-b998658ec765416b882328430667375a"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>增加或更新应用配置(例如环境变量</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>5%*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>1h*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>1h*</b></div></td></tr><tr class="notion-simple-table-row notion-block-e3f8c2a177c4427cb1f6177e4fc4db3f"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>增加服务与依赖</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>1%*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>16h*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>8h*</b></div></td></tr><tr class="notion-simple-table-row notion-block-1619f96559f945e8b12d09d5986f6eca"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>增加或更新资源</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>0.38%*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>8h*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>24h*</b></div></td></tr><tr class="notion-simple-table-row notion-block-e23412b94605491ab437959271c7dbef"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>重构与文档</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>0.28%*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>40h*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>8h*</b></div></td></tr><tr class="notion-simple-table-row notion-block-65400578972e42a399bfe003a2e988fe"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>等待被阻塞的环境</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>0.5%*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>15h*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>0h*</b></div></td></tr><tr class="notion-simple-table-row notion-block-724dc3e8b67e4171a510b9efdaba0379"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>搭建环境</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>0.33%*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>24h*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>24h*</b></div></td></tr><tr class="notion-simple-table-row notion-block-c908fd2bc452463fbd2505dfd18a613d"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>开发者入职、再培训和团队轮换</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>1%*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>80h*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>16h*</b></div></td></tr><tr class="notion-simple-table-row notion-block-b874d58c4d7c4cfbb2d972dd2a4ef6ca"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>回滚失败的部署</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>1.75%</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>10*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>20*</b></div></td></tr><tr class="notion-simple-table-row notion-block-465879667f2f4e6a9e856c0339bbc4d5"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>调试与错误定位</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>4.40%</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>10*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>10*</b></div></td></tr><tr class="notion-simple-table-row notion-block-9ff0880e1ab74d649e21ba7db80569e7"><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>等待其他团队</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>6.30%</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>16*</b></div></td><td class="" style="width:120px"><div class="notion-simple-table-cell"><b>16*</b></div></td></tr></tbody></table><ul class="notion-list notion-list-disc notion-block-045d5cba4d1143a99d81a6a7a3fa0659"><li><b>每 100 次部署</b>: <a target="_blank" rel="noopener noreferrer" class="notion-link" href="https://humanitec.com/blog/top-10-fallacies-in-platform-engineering">https://humanitec.com/blog/top-10-fallacies-in-platform-engineering</a></li></ul><div class="notion-text notion-block-a3911c0b260b4bf8b567cabb4b1f1739">您可以使用这个表格来计算内部开发平台的投资回报率。 在大多数情况下，我发现两个变化产生了最大的结果：确保您真的建立了基本的 CI/CD 流程，可以减少辛苦工作并提高效率。将您的配置管理从“静态”重构为动态配置管理，可以通过设计实现标准化，关注点分离，并持续自助服务，同时降低认知负担。</div><h2 class="notion-h notion-h1 notion-h-indent-0 notion-block-cf373f09eeeb4ef2a8c330959141b77c" data-id="cf373f09eeeb4ef2a8c330959141b77c"><span><div id="cf373f09eeeb4ef2a8c330959141b77c" class="notion-header-anchor"></div><a class="notion-hash-link" href="#cf373f09eeeb4ef2a8c330959141b77c" title="什么时候您仍应该构建门户/服务目录？"><svg viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg></a><span class="notion-h-title">什么时候您仍应该构建门户/服务目录？</span></span></h2><div class="notion-text notion-block-e95e4fc45ab24533b314202436b517b3">这并不是说没有充分的理由来构建一个开发者门户。如果您的开发者正在创建大量的服务和资源，并且需要对它们进行分类以支持内部源代码共享的努力，那么门户会非常有益。然而，并不是很多组织拥有达到积极投资回报率所需的数千个服务和开发者。</div><div class="notion-text notion-block-d667fa6d4e8246ee9e6b62b8384ccc32">有时候，你必须构建一个开发者门户，因为管理层这么要求。你别无选择。但如果这些情况都不适用于你，就不要浪费时间把开发者门户作为起点。相反，应该从构建你的内部开发平台(IDP)开始。你的开发者会感激你的！</div></main></div>]]></content:encoded>
        </item>
    </channel>
</rss>