创建和保护DevOps多云环境

了解JFrog DevOps云平台如何统一工作流,打破孤岛,提供实时端到端透明。通过针对软件交付需求的内置安全性、治理和遵从性,JFrog帮助DevOps团队在多云迁移期间保持业务连续性。

概述

  • 为什么选择多个云提供商是一个好主意。
  • 多云的好处和挑战
  • 理想云配置的方法和工具。
    • 访问联合会
    • 复制
    • 分布
试试jfrog cloud
JFrog的DevOps云平台也可以在谷歌Cloud, Azure和AWS市场上使用,今天就开始吧!

查看记录

创建和保护DevOps多云环境指南

考特尼金
大家早上好,下午好。我是Courtney Gold,我是今天的主持人。我还请到了比尔·曼宁,他是今天的演讲嘉宾。在我们开始之前,我想告诉大家一些家务小贴士。我们正在录制本次网络研讨会,并将在会后发送给您。还有,请提问。无论是在网络研讨会期间还是结束后,我们都会在这里回答这些问题。除此之外,我会让比尔先开始因为我可能是你们今天最不想听到的人。比尔,把它拿走吧。

比尔曼宁
大家好,你们好吗?我是比尔·曼宁。今天我将讨论所谓的跨多个云的DevOps的单一方法。我是比尔·曼宁。我实际上是这里的解决方案架构师之一,我与我们的客户群做了很多工作。显然我做了一堆网络研讨会,公开演讲,等等,所有常见的事情。但是今天的主要焦点基本上是现在很多公司都在选择像多云这样的东西,对吧?我们会讨论其中的一些,好处以及为什么要这么做。我们还将讨论如何使用我们的平台将所有东西统一在一起,这样就不依赖于你如何托管它,即使是在混合模型中,基本上我们的平台可以帮助你完成从端到端的整个过程,让你拥有这种统一的体验,同时仍然拥有所有其他类型的提供商的基础。

当然,我在这里提到了云,Azure和AWS,这三个大家都知道的主要技术。当然,还有其他像甲骨文云这样的公司,其他供应商也提供Iron之类的服务。我不打算过多地讨论它们,我只是把它们作为入门,告诉大家我们知道有很多产品。这些恰好是三大游戏,但还有其他游戏,这也适用于其他游戏。所以理解这一点,我们想要讨论的第一件事是,当然,只是作为一个介绍,只是为了让人们理解,当我说统一和我谈论我们的平台时,它确实是一个端到端平台。今天我要讲一些组成部分。

作为一个快速的概述,Artifactory是一个通用二进制存储库管理器,它是一个管理您作为软件开发团队使用的所有第三方传输依赖关系的地方。85%到95%的软件是别人的。但它也是一个出色的构建管理工具,同时也是一个软件生命周期管理工具。所以这是一个存储构建的地方。在这里,您可以继续实际模拟您的SDLC,即您的软件开发生命周期。这是一个负责任的地方,了解事物是如何构建的,并添加关于事物如何构建的尽可能多的信息,以便它们与你作为一个组织更相关。

在它的右边,我们有Xray,它是我们的安全漏洞和许可合规工具。它可以确保您作为一个组织引入和使用的85%到95%的二进制文件是安全的、可靠的和兼容的。它可以集成到任何东西中,从你一直听到的术语左移,所以我们集成到ide中,我们有一个CLI工具,你可以在桌面上使用。您可以集成到您的CI过程中。你甚至可以把它写进你的发行过程和你的发行,就在右边。

我们的分发是一种让你继续前进的方式,我将深入讨论分发,因为在某些情况下,你可能想让其他云提供商只是托管提供商,或者你想继续前进,实际上拥有它,这样你的软件就分布在多个地区和多个云提供商。要做到这一点,你可以使用我们的分销平台。分布是中心,然后我们有Artifactory的轻量级不可变版本,称为边缘节点。
这些边缘节点可以放置在这些其他区域这是一种实际上可以将东西推出并部署它们的方法。假设你正在部署一个web服务,你想要有多区域的方法,你可以继续,把你用我们的分发中心做的事情打包成一个叫做发布包的东西,我将会讲到,这是一个数字签名的不可变发布,它可能包含像舵图和web服务的docker图像这样的东西。然后你可以将它们发布到边缘节点上,以方便使用对象,这样你就可以更简洁地跨多个云提供商分发实际的web服务。

下面是管道。这是我们的CI/CD和CI编配工具。你可以把它作为一个CI工具,你可以把它作为一个CI扩展。因此,如果你已经有了CI流程,你想要添加额外的功能,比如蓝绿测试或批准流程,你甚至有了签名管道,所以你有了一个区块链风格的分类帐,记录你所做的一切。你也可以严格地将它用于分发,如果你有多个CI工具或多个CI环境来将它们编排在一起,你也可以将它用作一种方式,以便了解这些构建之间的相互依赖关系。
在最顶端,我们有任务控制和洞察,当你在做像多个云提供商这样的事情时,这实际上会成为一个关键因素。因为对我们来说,我们不在乎。我也会讲到这一点,因为我们不关心你在哪里托管我们,我们只关心你是否有连接。就像我之前说的,我们处理事情的方式中最主要的一件事是端到端平台。它是为了无限的规模,因为我们的客户每天通过我们的产品输送千兆字节的数据。hth华体会最新官方网站

它也是完全通用的,这意味着我们有超过30种可以集成的包类型。您可以集成到任何可扩展的系统,如DI环境,其他CD环境,它都是可api的,您可以使用我们的CLI。所以它是广泛的。你可以在合适的地方使用我们,同时有持续的安全保障,就像我之前提到的我们的x光产品。从投资回报率最高的开发人员级别的左移,一直到你实际部署你想要的东西的右移。今天的主要焦点是混合云和多云,对吧?所以我们的想法是,我们基本上为你提供了一个基本的基础,让你做任何事情,不依赖于你如何招待我们。这对我们的工作至关重要这将是我们的核心功能之一。我们和一些想要这样做的客户进行了很多讨论。我们将讨论使用多云的一些好处,以及一些注意事项,以及我们如何使用我们的产品来帮助您克服这些问题。hth华体会最新官方网站

最后,生态系统是巨大的。实际上,我们的产品是为每个人所采用的。所以我们实际上开放了交互界面。市场上有很多工具可以整合到我们身上。所以我们被造出来适应我们需要适应的地方。但与此同时,基础功能是非常非常重要的。我们要讨论的一件事是我们今天所做的优化架构。这里的想法是,就像我说的,我们不在乎你把我们安置在哪里。我们可以做任何事情,从你的自托管,[听不清00:07:08]SaaS产品,你可以用混合的方式把它们结合在一起使用,这是正确的。我们甚至是多云的。 So even our SaaS offering is multi-cloud available in AWS, Azure and GCP.

但除此之外,如果你是我们幸运的政府客户之一,我们也在Azure政府,我们也在AWS政府云,你实际上可以进入他们各自的市场并利用我们。但归根结底,要记住我们是这个的基础。我们是常见的结缔组织,允许你有能力做混合模型,严格来说,多云。今天我要讲的是各种不同的方法如何利用我们来加速这一过程。所以我们最近发现云不仅仅是技术。当公司选择使用云计算时,通常有很多不同的原因。我们会讨论背后的一些原因。

但问题是,每当你看到人们和公司说,“嘿,我们正在考虑转移到云。”如今,云已经成为一个非常普遍的术语,基本上当我们说到云时,我们谈论的每个公司都是云托管,对吧?我们将托管我们的应用程序。但通常这种决定是基于各种形式的。无论是来自上级的命令,还是公司与某个提供商之间的关系,都可能是其中一些云提供商可用的一组工具。有些人可能想使用AWS代码构建,有些人可能想使用Azure DevOps。这要视情况而定。归根结底,这取决于公司对这些性质的适应程度。

但是有很多信息是你必须考虑的。这对很多组织来说有时是很令人吃惊的。问题是,当我们讨论这个问题时,为什么要考虑多个云呢?这已经成为一件非常普遍的事情。在过去,你只会选择单一的云提供商,你会与他们建立联系和关系。接下来的问题是,有一些注意事项我们稍后会讨论。但我们和整个行业目前看到的情况是,大多数公司,70%的公司计划增加未来的云预算。这已经成为标准。与之相关的TCL较低,也就是总拥有成本,因为你不需要基础设施。你要记住你要考虑运营成本和预算。
仅在2020年,就有61%的企业将工作负载迁移到云端。我的意思是,大流行有很大的关系,它是最纯粹的分散化形式。这让很多公司可以退一步说,“嘿,我们正在做更多的远程工作,我们也在寻求降低一些成本。这是一种方法。”因此,在2020年,50%的组织将他们所做的大部分工作转移到云上,这就是因为TCL这样的公司。

现在,当我们考虑云的采用和其他东西时,它说90%的公司都在使用它。然后87%的公司实际上已经走在了混合路线上。一些公司,我们会讲到一些注意事项因为仍然有一些误解,或者实际上有一些很好的理由为什么混合模式最有效。我实际上会讲到这一点,特别是在开发和软件交付方面,也只是一般地利用混合模型和多云模型,为你提供一种超级健壮的方式,让你继续前进,并有安全原因、成本节约、备份策略,以及不把虚拟化的鸡蛋放在一个云篮子里的整个想法。问题是,公司开始接受这一技术的原因有很多。

问题是,是的,我们看到的主要动机之一就是现代化,对吧?这是一个巨大的行业趋势。你会看到很多cio和cso,他们会开始谈论,“你知道吗?我们需要为这些事情做预算,因为我们在某处读过一篇文章。”有时它本质上是战略性的。此外,在很多情况下,实际上拥有一个由其他人托管的基础设施可以让您更专注于与您正在做的事情更相关的事情,而不是试图维护一个物理环境。事实是,运营数据中心和法规是一回事,基础设施更新,这些都是你听到的标准事情,我们实际上从客户那里听到的。运营成本扩展。这是资本支出和运营支出。也许您想开始使用cdn和其他网络优化来使其更加健壮。

有趣的是CDN和网络优化部分开始越来越受欢迎。我们经常听到这样的说法,特别是如果你把这些与足迹和地理扩张等因素结合起来,特别是在过去20多个月的COVID,主要的事情是团队在家工作,更远程地工作,开始考虑这些事情更有意义,因为我们变得更像是一个剥离的基础设施,而不是典型的办公模式。
说到这里,拜托。开关。好了。实际上拥有多个云提供商而不是只有一个是有好处的。这是供应商的灵活性。当我说到供应商灵活性时,我并不是指一个云提供商与另一个云提供商之间的竞争。我的意思是再次回到工具集的概念。有些工具只能在某些云提供商中使用。它还改进了灾难恢复。随着时间的推移,随着这些云基础设施变得更加健壮,这种情况已经越来越少。 But there’s a vex on it that people will still have this anxiety of saying, “I host everything in AWS US-East-1.” That’s the most used AWS region. What if that whole thing goes down? Or what if AWS suddenly has a DMS problem? Well you know what? If I have something in Azure, I can quickly go ahead and maybe move all my operations over to a different cloud provider.

问题是,当你这样做的时候,它也有助于减少一些资本支出因为你是在分散投资之类的。一些云提供商实际上会继续讨论术语和用法之类的事情。但那不是我处理的事。这是你会从管理方面,预算限制和诸如此类的方面来处理的问题。但我们都知道,在大多数情况下,迁移到云计算是降低成本的一种方式。但这是有代价的。这就是挑战所在。因此,当你考虑云提供商时,要了解它,评估它,并确定哪些应用程序和系统需要去那里。理解不同的成本模型,它是基础设施即服务吗?是平台即服务,还是SaaS? There’s a lot of things like that.

同样,当你开始考虑部署模型时,公共与私有,它是混合云模型吗?是多云模型吗?选择正确的供应商、供应商和顾问,在处理这些问题时,你将不得不掌握一大堆新的技能。另外,在进行迁移时,如何保持业务连续性?这是一个巨大的问题。我们经常看到这种情况。我有客户把创可贴剥下来,整个周末都在做。我还有一些其他的想法,比如,“我们有一个18个月的计划,在这个计划中,我们将迁移我们所做的所有事情,因为在这段时间里,我们没有能力关闭我们的任何服务。这会影响收益。”

另一件事是,当你开始研究这个的时候,要找出所有合适的路线,让你继续前进,并实际创建这些模型,并理解你可以做的云路线是什么。是重新主持吗?你在重塑身材吗?你在回购吗?你在重新构建架构吗?当你开始思考这个问题时,你需要考虑很多事情。对于很多公司来说,这是一项艰巨的任务。最重要的是,当你遇到挑战时,培训和认证就成了一件事。你知道吗,我知道如何使用AWS并不意味着我知道如何使用Azure或GCP或其他多个云提供商之一。你需要引进云架构师、云网络工程、自动化工程、安全工程和云开发人员等人才。

但也有关于足够安全的问题,“我在那里的东西有多安全?”你有类似AWS的东西,你有AWS直接连接,基本上就像直接连接到你的实例的VPN,你实际上可以对它有更统一的控制。但其他人可能没有这个提供者。问题是,我们总是会把干扰和额外成本最小化。成本总是作为一个主要因素和预算出现。有一部分你需要提前投入大量资金,以在未来获得实际收益。但这些只是你需要记住的事情。
我们在这里要讨论的一件事是JFrog平台如何真正帮助你度过这个难关。这是一个关键因素,因为我们处理你的生产方面的事情,我们处理开发方面的事情,它可能是你的QA,所有这些事情都是你所依赖的,让你的软件达到它需要的位置。在这段时间里,你想要有一个可以建立的基础,可以让你做这些事情,你可以从前提开始,或者你已经开始了前提,你如何开始慢慢迁移你的运营特征。

因为在某些情况下,我看到,在这个问题上,我看到很多客户说,“我们要做的是,我们想让我们所有的开发人员在我们地区的办公室里运行。所以我们希望拥有Artifactory平台的本地实例,我们已经在使用的JFrog平台,但我们希望开始将我们所有的CI工具、所有的测试工具和所有的分发组件推到云中,因为这允许我们有更广泛的覆盖范围。”这是我们听到的一个非常典型的场景。或者,“我们实际上正在关闭我们的数据中心。我们摆脱了所有的成本。我们要把所有东西都迁移到云端。我们确实希望有多个云,因为我们以前有多个数据中心提供商,我们感到非常安全和满意,因为我们知道有不止一个组织在关注我们的工作,因为这是我们赚钱的方式,我们赚的钱让我们可以付钱给你。”

所以说,当我们谈到混合架构时,我们看到很多公司都采用这种方法,就像我说的。“我们一直都在dc里做事情。你知道吗?每次我们都要刷新我们在华盛顿所做的一切,运营成本是可怕的。它会破坏东西,它是不可预测的。所以我们实际上想要继续前进,我们想要开始迁移我们组织的一些重要部分。”如果你注意到这里,如果你在使用我们的整个JFrog平台,我们有Artifactory,我们的x射线产品,分销和管道。你可以在云产品方面拥有完全相同的架构,而不必承担所有沉重的操作负载,而实际上你可能拥有所有自己的设备。hth华体会最新官方网站所有这些都在这里。

然后,当您使用这些提供者时,选择如何部署它们,这总是一个大问题。“我们正在探索Kubernetes,我们想开始虚拟化和编排我们所做的所有事情。”好吧,如果你正在使用我们的产品,同样,我们不关心你如hth华体会最新官方网站何部署它们,只要它们部署得当。您可以将我们部署到Kubernetes或OpenShift等精心编排的环境中。您可以将我们部署为docker映像,并让它们在各种甚至只是单独的docker服务中运行。你可以把我们安装成ec2之类的虚拟机。如果你在使用我们的高可用性,比如你在使用AWS,你可以利用外部服务。您可以使用S3等存储服务,并将RDS与数据库一起使用。如果你在Azure中,你可以使用Azure块存储。因此,当您从压力很大的自托管DC环境开始时,也有一种非常灵活的方法,您仍然可以保留这种环境,但随后您可以开始模拟所有其他因素,并利用那些云提供商提供的服务,使您的云基础设施更加健壮。

因此,当你开始思考这个问题时,我们看到的典型情况是,我们有一个数据中心,也许我们在云提供商中做事情,就像我说的,我们不想把鸡蛋放在虚拟化的篮子里。但在这种情况下,你被授权作为个人,你是基础设施团队的一员。你的CIO过来说:“嘿,伙计们,顺便说一下,我们正在采用多云方法。我知道我们所有的东西,我们现在做的所有开发工作都在我们的数据中心托管,我们想把它们转移到云提供商之一。你能给我一个简单的策略吗?”好吧,如果你已经是Artifactory的客户,它的好处是你可以让你的Artifactory目前在你的自托管解决方案中,将我们安装到你的多云环境中,然后突然之间你就可以选择如何继续使用我们的平台来简化这种方法,并在你实际开始做这件事时为你提供基础水平的基础。

然后,您可以开始引入您可能引入的所有其他辅助技术堆栈,例如您的CI服务器、分发服务器、测试工具等等。但是您可以利用我们作为所有这些提供者之间的公共线程,允许您共享您所做的事情、那些依赖关系的第三方趋势、您所生成的构建,以及您想要部署到您的环境中的生产级实例组件。你可以利用这个来确保它们都是同步的不依赖于它的位置。因为我们不在乎。它可以在Azure中,可以在AWS中,可以在谷歌Cloud中,也可以在你的数据中心中。snozzberries的味道很像snozzberries,它们都是一样的东西。它们之间没有差异,因为在我们的平台上,它们看起来都是一样的。在底层的基础上,我不在乎。

所以在你开始考虑搬家之前,如果你已经是一个老客户,我希望你记住这些事情。始终计划您的迁移和复制策略,因为我们今天将讨论这一点。总是清理你的实例。你不想复制垃圾。我们有大量的信息,告诉你如何继续,如果你正确设计你的存储库,能够进入并清理那些,这样你就不会移动垃圾。但也要开始备份并有备份策略。但至少首先坐下来,当你计划这个时,看看你目前拥有的所有部分,然后组织它们,这样你就能弄清楚你想要如何迁移组织的各个方面。

因此,作为一个平台,我们所提供的是一大堆不同的工具,这些工具有助于使实际前进的体验正常化,从自托管或云或扩展为多云或其他任何东西。这是适用的,不依赖于战略,也不依赖于实际的基础设施。这是我们最大的帮助。无论您身处何地,我们都能提供相同的体验,帮助您降低进入门槛。我会强调这一点。所以如果你听烦了,我很抱歉,但这是我们做的主要事情之一。

因此,您首先要知道的是如何在不同位置的多个实例化之间同步所有用户组和权限?我想确保我的权限模型在我自己托管的服务器或云提供商之间没有变化。如果Bob进入并登录到一个实例,而您可能正在使用基于地理位置的负载平衡器,那么无论他去哪里,他都应该有相同的体验,他甚至不应该关心他使用的是哪个提供者。对于这些权限模型,我们有Access Federation,这是我们的Enterprise+平台的一部分。如果你注意到这里,顺便说一下,我没有写下云提供商。因为我不在乎。

一旦我设置好了这些,我们就有了一个信任圈,我们在平台的这些实例之间启用了信任圈,但允许我在多个实例之间同步用户、组、权限和访问令牌。所以Bob不会突然联系IT部门,想知道为什么他不能连接,他不知道他连接的是GCP,他不知道他连接的是Azure,他不知道他连接的可能是AWS或甲骨文云或其中之一。他不应该在乎。他应该能够进入,直接,重定向,登录,得到所有他需要的东西,完成他的工作。

我们有基于星型的联邦和基于网格的联邦。因此,如果您希望拥有一个集中的实例,那么您的旧金山自托管可能就是DevOps宇宙的中心点。也许纽约有AWS,巴黎有GCP,班加罗尔有Azure。没关系。问题是你可以拥有它这样旧金山就可以对其他城市发号施令。如果您希望它们都处于平等地位,您可以设置一个基于网格的拓扑结构。顺便说一下,这延伸到了边缘节点,我们也会稍微讨论一下。我可以控制边缘本身的访问级别控件。这是处理权限和用户的一种方式。

下一件事我想说的是,当我们谈论这个的时候,它处理授权,你也在利用访问同步,这将为你建立那个全局模型。您还可以将其用于CI工具。因此,通过这种方式,您还可以共享用于CI工具本身的那些访问令牌。接下来我们要讲的是复制。复制是我们平台的核心组成部分之一。让我们从Artifactory开始,五,六,我忘记时间了,七年前当我们开始做这个的时候,但是复制是确保一致性是最重要的特性的一种方式。当你是一个组织,你在使用我们的复制策略时,我不关心我连接到哪里,如果我使用地理负载均衡器在这个拥有分布式工作者的时代,主要的事情是我的东西在那里,我拥有的东西。

这让你可以在多个团队中做同样的事情。你可能在印度有一个团队,可能在东欧有一个团队,可能在美国东海岸有一个团队,也可能在南美有一个团队,这都没有什么区别。它提供了整个团队的一致性。所以我在班加罗尔的团队,当他们下载和构建一个版本时,应该使用与我在旧金山办公室或布宜诺斯艾利斯办公室使用的相同的第三方传输依赖关系。这也降低了确保你没有这种不一致性的风险。

你也可以继续设置它这样它就不仅仅是在一个整体的层面上,所以它不是一个实例对实例,它实际上更像是一个点菜的方法。如果愿意,您可以选择在位置之间或云提供商之间共享什么。可以是推,也可以是拉。我们会讨论的。它可以应用于许多不同的用例。这与网络拓扑无关,我们不关心。同样,你把它放在哪里并没有什么不同。你只需要确保你有正确的规则。哦,太奇怪了。它回去了。 Hold on. It’s going forward now.

我们来谈谈优化。问题是我们的平台已经内置了这个功能。它包括了网络的幕后优化。如果您不熟悉Artifactory存储其工件的方式,我们将以基于校验和的方法存储工件。我会解释一下我们如何使用基于校验和的复制这样当你在不同位置之间转移对象时,它的一个好处是你没有转移所有的工件,你只是在不同版本之间转移增量。但这只是背后的主要原因之一。但是当我们把东西发布到边缘节点时,我们也使用了相同级别的基于校验和的复制。

当我之前提到分发端时,我将稍微讨论一下,但那都是基于校验和的,这意味着您说您有5tb的构建,对吗?5tb,太大了。5gb的构建。下一个版本只是一个轻微的变化,与之前的版本有10%的偏差。当你复制这些时,我们只会复制那10%,或者如果你有一个发布包推送那10%。所以它实际上是非常有效和高效的。我们有不同类型的复制,对吧?这件事让我感觉有点奇怪。

我们有基于推的复制。因此,基于推的复制意味着位置A将工件推到位置B。我们也有基于拉的复制,可能位置B可能从位置A拉出二进制文件。因此,这实际上有助于....很抱歉这里的格式。我猜它上传的很奇怪。但是基于拉动的复制意味着它可以被利用,顺便说一下,在有它的情况下你可以有基于计划或基于事件的复制。它可以是实时的,基于上传的新二进制文件,也可以是按时间顺序的,也许你每12小时做一次,你在两件事之间复制一次。但在基于推的复制中,源会得到一个事件,说,“我需要复制这个。”它会自动把它推到目的地。顺便说一下,它也可能不止一个目的地。

另一方面是基于事件的拉取或基于时间的投票源要求向目标发送事件目标说"我要下载"现在,基于拉的复制对于可能有延迟或低带宽的地方非常有用。这些都是缓解这种情况的方法。记住下载通常比上传快。这是一种解释方法。您还可以继续进行多站点复制,实际上我们甚至有基于星形和网格的拓扑。你可能会有一个,它是真理的中心来源,也许在左边的这个例子中,位置a,这个实际上会继续,你可以做基于拉或推的星形复制。或者在右边,你有两个位置,这给了你在它们之间有基于网格的拓扑复制的能力,所以你可能有两个组彼此保持同步。所以这些都是关于你如何做事的开放式选项。

我们刚刚介绍的另一件事,这实际上是我最喜欢的新特性之一,就是我们也有联合存储库。现在,联合存储库非常神奇。实际上,我不只是讨论这个,而是要给你们展示它的样子,因为我对这个功能非常兴奋。让我继续,我要连接到我的实例,让我把它打开。哦,为什么我不分享?来,让我分享。我要在这里分享一个Chrome标签。我要共用一扇窗户。我们开始吧。这是Artifactory,这是我的Artifactory。 And as you can see, by the way, I have instances globally around the world. I’ve got four instances. I can have them on various cloud providers, I don’t care. This is our mission control product that’ll let you know the current state of what you’re doing.
但最酷的新事物之一是,如果你看看我们的存储库,比如本地和远程存储库,本地是你存储二进制文件的地方,而远程是你实际使用源代码的第三部分的地方,你可以代理它。这里的任何一个存储库,如果我选择其中任何一个,你都可以将它们转换为联合存储库。现在,联合存储库就是这样,我可以在这里选择一个存储库。我可以选择并说,嘿,顺便说一下,我还有两个实例想要共享这个我选择存储库。我可以进入并说,“嘿,我想与我的纽约实例共享它,我想与我的班加罗尔实例共享它。”现在,在过去,我必须去每个位置,在每个位置创建存储库,设置我继续前进的能力,并在它们之间建立复制。这是一个艰难的过程。

如果你有两个地点,那很简单。第三,它相当简单。任何超出这个范围的事情都会让人望而生畏。所以现在当你有多个位置时,我可以选择一个存储库,比如说,“我想在我的纽约实例中创建这个存储库,我想在我的班加罗尔实例中创建这个存储库。”我点击完成。现在我要做的是,点击保存。当我点击保存时,它会去到另外两个实例。它会创建这些存储库,并立即开始将二进制文件从这个实例复制到其他实例。

我刚刚设置了完整的网格复制,不依赖于位置,只依赖于实际Artifactory实例的位置,而不依赖于提供者。这些可以托管在自托管的数据中心中,当我在AWS和GCP时,它可以托管在Azure中。不在乎。我们已经直接为您取出,使您能够快速地继续下去,并在需要的地方分发这些二进制文件。我对这个功能非常兴奋,它让我真的很开心。但它也意味着双向镜像,也是基于事件的拉力。它把二进制值拉下来,很方便。最重要的是,它实际上使用了基于检查的方法,所以它只删除了它需要删除的更改。

下一件我想讲的事情,只是为了节省时间,我们还有JFrog分布。现在,JFrog Distribution,它的美妙之处在于你可能有其他的云提供商,所以你可能有它所以你在AWS内部做你所有的构建服务,对吧?然后你就会说,“你知道吗?我们正在托管AWS,但我们也托管Azure和GCP。我们希望确保我们在全球拥有最好的足迹。”现在您可以在每个位置中设置Artifactory实例,这很好。也许有多个区域。也许你有Artifactory的其他实例。你继续,你的平台部署在每一个。使用联合存储库来获得他们需要的构建,然后在这些情况下,你有你的集中式美国西部实例和GCP和AWS,等等。

但是您还需要在其他区域部署此应用程序。现在继续安装其他Artifactory实例并再次使用复制。或者你可以用我们的分布方法来设置这些边缘节点。因此Edge节点是Artifactory的轻量级、不可变版本。你可以创建这些叫做发布包的东西,我一会儿会讲到。但这将给你继续的能力,实际上你可以继续建立模型,这些边缘节点,当你做它们的时候,它们是只读的,它们是安全的。你也可以使用一个叫做智能存储库的东西,它就像一个远程存储库,除了实际的源是一个Artifactory实例,你实际上可以从Edge节点浏览它,然后提取它的基于请求的缓存。

你也可以用它来进行优化,这样我们就可以使用一个优化组件来确保这些数据能更快速、更有效地分发。它还允许你,如果你在做一些事情,我们有很多公司试图把他们的软件,比如说,在中国的阿里云,你将能够继续在阿里云中部署边缘节点,然后能够有它,所以你可以把你的二进制文件推到那里,实际上继续前进,只是把它作为一个发行版,而不暴露你正在做的所有事情。但归根结底是这些Edge节点,它们更便宜,更高效,你实际上可以将它们用于部署目的。所以你要在多个地点、多个地区、多个云提供商部署你的web服务或任何你在做的事情。你可以创建这个巨大的星形或网状的基础设施。

除此之外,我还提到了发行包。现在发布包很棒。你可以把东西打包,比如,像我说的,舵图和船坞图片,把它们放在一起变成一个数字签名的版本。他们实际上有自己的材料清单。当我们分发它们的时候,它们实际上是经过验证的,以确保它们没有被篡改。你实际上会在边缘有RBAC控制,所以你能说谁或什么能访问这个。你可以使用我们的x光产品最后一次扫描它们在它们真正进入需要去的地方之前。您可以使用我们的API、CLI或JFrog管线产品。您可以将其集成到您自己的CI流程或CD流程中,以分发这些内容并创建这些发布包。

它的方法非常灵活。但我们有一个坚实的CD模型与平台。我们的平台是端到端的,就像我之前提到的。但最棒的是,这是一个从开发人员到部署的一致性级别。你动用了我们整个基地,你有完全的责任。使用了什么?它是如何使用的?它位于哪里?在未来,我们会有一些更令人兴奋的事情,甚至是在安全的边缘,我们可能会在2022年宣布。这非常令人兴奋。 It’s on the tip of my tongue and I wish I could say more but I can’t.

关于这个的下一件事是当你这样做的时候,当你有这个分布模型的时候,就像我说的,我们不在乎,你可以有你的内部数据中心并发布这些工件。这些是你的最终产品,这些是你的生产级工hth华体会最新官方网站件,这些是你需要下载的东西。这些东西你甚至可以用在另一个地方当你有地理上分散的个体时。这可以给你一种方法让你继续他们只需要拉东西。你可以在某个区域的某个地方设置一个实例让卡拉马祖的某个人想要下载一些东西这就给了他在本地下载的能力。也许只是因为这些第三方过境。他使用一个智能存储库来记录他作为开发人员所需的所有东西。因为也许你在AWS或GCP或Azure中构建你所做的一切,你自己的数据中心。没关系。但是Edge节点使您能够将您的生产级工件分布到多个区域的各种云提供商中,如果需要的话,还可以分布到多个可用分区中。

说到这里,我现在要继续,在这里展示一些作品,因为我们只剩下几分钟了。如果有问答环节,我愿意回答一些问题。但是让我继续,让我和你们分享一些这些组件,实际上它是多么容易使用。所以如果你看我在做什么,你可以看到,就像我之前说的,我们整个平台实际上被设计成一个全球性的、不依赖的、非基础设施的实体。所以你在这里看到的实际上是…什么?哦,我在尖叫?

考特尼金
不,分享你的屏幕。

比尔曼宁
哦,我在分享。

考特尼金
好的。

比尔曼宁
它应该被分享。好吧,我花了一点时间来分享。抱歉,我在跟人分享。我以为我是。无论如何,正如你所知,拥有所有这些不同的云提供商或基础设施并没有什么不同。这是我的主位置,这是纽约实例,这是阿姆斯特丹实例。它实际上显示出了一个问题。我知道这有问题,我可以去调查一下。这是在曼谷。你可以看到边缘节点均匀地分布在这里。 And I can actually, if I wanted to, by the way, I can click on any of these Edge nodes like this, and I’ll just show you, is that when I go into an Edge node, I can actually have it so that it connects to this provider. I’m going to log. In this case, it’s going to have me actually enter my password. Hold on. There we go.

当我查看这个Edge节点时,您可以看到我有一大堆可用的包。如果你看这里,你可以看到这些伪影。我甚至可以向你们展示,我有智能存储库这样的东西,我可以继续,这个实例实际上连接到一个远程实例。在本例中,它实际上连接到我拥有的一个SaaS实例。我甚至可以在有SaaS实例和自托管实例以及混合模型的情况下进行操作。我甚至可以将SaaS实例的二进制文件代理到本地化实例。你可以看到我实际上有能力进入并查看文件。如果你看这个没有被缓存。但我可以随时下载。

你可以看到在这里,我想这里有一些二进制文件实际上是我在智能缓存方面拉下来的。我可能已经把它们处理掉了。但这个想法就像Artifactory一样,对吧?我可以进入并使用所有的设置我的指令,并获取我需要连接到它的代码片段。但是这些是只读的。我所需要做的就是消耗二进制文件。你也可以看到Artifactory,这里是我做的所有构建,所有包,所有二进制文件。这是我们的配送中心。在一个配送中心,你可以看到我到底去了哪里。我可能在这里发布了一个版本,这个版本的1.0,你可以看到我已经发布了这个在我发布的时候出现了一个错误。 Huh, that’s interesting. Or the fact is that here’s all the contents. I pulled this out of the build. I went ahead and I have some release notes here that I represent what I’m doing.If I had the Xray component enabled in this case, I would actually just show you that there’s Xray information. I can also show you in this case where the actual if it’s been produced by one of our pipelines. But you can see that when I look at these, if I were to go ahead and build out these releases, I could actually do this automated style. And say I wanted to go ahead and distribute this out again, I could actually choose and I could say, “Is the target available in this remote instance?” I can go ahead and select the Edge nodes that I want to do. So I’m going to do say Edge level one. And I just simply do that. Now I’m actually going to go ahead and distribute the artifact down to the Edge node where it needs to be.

因为它是基于校验和的,如果你注意到这里,它甚至不需要…它只是。在这种情况下,它说,我已经检查了远程事件,它已经有二进制,我只需要标记它完成。如果有新的方差,它只会在需要的时候向下推。所以这更多的是分配方面。但重要的是,我有这些工件,我可以继续向你展示我拥有的任何二进制文件,如果我有多个位置,我将连接到。让我们看看,我将连接到这个实例。

这是我的曼谷实例,在那里我正在做一些事情。我将向你们展示我们能做的是,我们可以查看我拥有的一些二进制文件,我可以在我有的地方设置这个二进制复制,比如我在做。我之前展示过,其中一个存储库,我设置了联邦模型。我甚至会说,“好吧,你知道吗?我要创建一个联合存储库。”我们现在就开始吧。我还是算了。让我们继续。我要创建一个通用的。我将继续创建一个联合存储库。我要做一个通用的因为我只是想上传一个文件。 I love doing live demos. So I’m just going to say test fed generic. And I’m going to say local. It’s local repository here. I don’t care about type. I’m not going to go ahead and add any security in right now. I’m just going to go ahead and create the federated repository. And that’s it.

让我们继续说test。我要说的是一般的。所以我在这里创建了test feed generic。让我们进去复制。我将复制实际的键因为我想确保我输入的是正确的。我们进去。我提到了另一个例子。我们来做一下。我将登录到我拥有的另一个实例。我们来看看这个。 Now this is my bank… Oh, hold on. Love when I don’t have the right password. All right, so I’m going to log in. So this is actually… Let’s go look at the artifact registry here. As you can see, there’s a couple generic repos and things like that.

但让我们进去,我要说,我想继续我要在这里创建这个federated repo, test fed generic local。我将继续说,我想把它联合起来。我要存钱。这个已经开始了,让我知道它已经创建了那个存储库。让我们来看看藏物的内部。我们开始吧。我们说,好,这是我的通用本地回购现在里面什么都没有。如果我把它展开,什么也得不到。但是让我们到另一边来看看这里,看看它是否在这里。 Oh look, there it is. There’s that same repository I created. Now let’s go in and do something. Let’s go deploy, I don’t know, some sort of file. I’m going to go select a file from my local desktop. I’ll just do an image, why not? I’ll just do a screenshot. There we go. I’m going to upload a screenshot. I’m going to deploy this. You can see here it’s been deployed into my primary Artifactory instance.

让我们继续,我要在这边快速刷新一下。如果我把它展开,你知道吗,我马上就在两个人之间分享了。我在我的主存储库中创建了一个存储库,我在另一个位置创建了相同的联合存储库,我上传了一个文件,它就直接存在了。就是这样。我现在实际上可以在两个不同的云提供商或混合模型中跨越Artifactory的两个实例,并且可以立即在它们之间共享二进制文件。这就是这种方法的简单程度。你可以做很多不同的事情来增强游戏体验。
但这是我今天想讨论的主要内容。我只是想说谢谢你抽出时间。如果有任何问题,你现在可能有时间去做了。我不明白这个问题[听不清00:47:02]。哦,在那儿。

考特尼金
我们确实收到了一些问题。那我就大声说出来,然后你就可以回答了,比尔。听起来不错。我们的第一个问题是,在权衡利用多云提供商、最小化复杂性和开销成本方面,您认为什么是最佳实践?除了这个问题,在你的观点或个人观点中,哪里才是正确的平衡?

比尔曼宁
所以,是的,当涉及到多个云提供商时,我是其中之一,我完全支持它。让我解释一下我的背景。在我五年前加入JFrog之前,我是多家公司的创始人、首席技术官和创始人,一直在我的脑海中了解基础设施成本。我们经常开会讨论我们的成本。因此,就多个云提供商而言,每种情况都有很多好处。有些人有更好的存储报价,有些人有更好的传输,有些人有更好的工具。有些公司对某些服务收费高于其他服务。但是可靠性和一致性,以及全球覆盖的能力,有些云提供商没有由其他提供商处理的区域。所以有了这个。

问题是,我希望在我在Artifactory展示的东西的时候,当我在五年半以前做这件事的时候,我希望我现在有这些工具。提供那种程度的一致性,并降低我在不同地点之间运送物品的成本,只是从试图弄清楚如何做到这一点的实际方面来看,找到正确的工具,做所有深入的分析。如果我有一个像我们的平台一样的基础,我的生活就会更容易。它就在那里。现在,就使用多个云提供商而言,有很多好处。我不是那种会说这些话的人。我从部署的角度来考虑。在我以前的生活中,就像我说的,成本总是很重要的。但在我看来,如果我是一名发布经理或产品经理,我所关心的就是尽可能快地把我的东西送到需要的地方,以同样一致的方式尽快到达。这对我来说是真正的TCO,对吧?
导致这一结果的其他因素,也就是你要花费的成本,当然是教育等。学习平台,理解它,部署到平台上。我们经常看到这种情况。不同平台之间存在差异,你可以从一个云提供商应用到另一个云提供商。但真正做到这一点完全是另一回事。就我个人而言,我是一个超级粉丝。我喜欢多样化,我喜欢物品的分散化,无论它在哪里,无论我需要它,我都能拥有它,我不在乎。我只关心我的客户是否获得了最好的价值?我是否已经尽可能方便地释放了?还有,它是否像我想的那样一致? Because then if it’s not, that’s when TCO goes through the roof.

考特尼金
太好了。看来我们还有一个问题。这可能是我们最后一个了。因此,如果我们在本次网络研讨会之外有任何其他问题,请不要犹豫,联系webinars@www.si-fil.com,我们将继续回答这些问题。所以不要担心你的问题被遗漏了,或者你想到了一些事后的事情。好的,那么下一个问题是你是否为不同的地区定义了不同的政策以迎合不同的监管环境为多地点,多地域的开发团队?这是个棘手的问题。希望你们能做到。

比尔曼宁
是的。[听不清00:50:55]实际上你可以。问题是你可以选择,比如说,使用访问联合模型,所以你可以拥有普通用户,权限组。你也可以混合搭配。问题是,你不只是降级说一个IDP,一个身份提供者。您可以有多个提供者,然后在此基础上制定基本规则。但有一件很酷的事情,我会展示给大家看的,就是这个。这实际上是我们引入的新功能之一。这是我最喜欢的新功能。我不想说谎。 Just let me know when it’s sharing. It should be sharing by now. I hope. Come on. Okay.

它叫做项目。项目是我们在几个版本之前引入的一个新特性。我们最大的抱怨之一是,在你有超级用户之前,然后是细粒度用户和授予权限。这些都很好,而且非常结实。但问题是管理它们有点困难。我们非常强调管理和管理背后的权利。项目,现在你不仅可以有超级用户,还可以有项目级别的管理员。现在项目级别的管理员允许更多的团队自主权。在这里,你可以做一些事情,比如设置存储配额。当你定义一个硬上限和一个软上限时,你也可以,当你将这些计费为超级管理员或这个管理员级别的控制创建一个项目时,你可以说它们能做什么。 Can they control their own repositories? Can they manage their own members? Can they manage their own Xray resources? Can they manage their own pipelines? Things like that.

但如果你看这里,你所问的主要问题是,我们有跨所有项目和Artifactory的全局角色,但你也有能力创建特定于这些项目的角色。这很好,因为这样你就可以说什么是对实际产品的定制,什么是与项目相关的,以及访问控制的级别。你可以这样做,把这些项目放在全球不同的地方,每个团队可能有不同的角色和责任。但是使用复制,您可以将二进制文件复制到那些区域中的那些项目中,然后让它们与它交互。我将向你们展示一个很酷的项目特性,在我看来,非常棒。
另一件事是跨团队依赖是非常真实的事情。一个团队为另一个团队生产产品。

当你这样做时,你使用我们的项目模型,最棒的是你可以共享,你可以说,“我想把这个存储库以只读的形式共享给我这里的另外两个项目。”他们对它只有只读访问控制。这是可怕的。或者你可以说,“我想与每个项目分享这个。”也许您有一组通用的二进制文件,用于所有产品的身份验证,由一个团队生成。hth华体会最新官方网站他们可以把它包括在他们的虚拟存储库中,因为如果我把它分享给另一个团队……

我要给你们展示的是,如果我选择另一个团队,我知道它是一个共享存储库,你们可以看到它被锁在这里,对吧?这是一个只读的存储库,我可以去看它,但是我不能对它做任何事情除了和里面的组件交互。
但是如果我有一个虚拟的存储库,我创建了一个像这样的虚拟存储库,就像常春藤一样,你可以看到我实际上可以把那个实际的存储库作为一个包含。它是只读的。所以我总能从另一个团队那里得到最新的版本,而不需要我去找他们。我把它自动化了,我实际上加快了这个过程,只需点击几个按钮。这就是我想要确定的,这不仅仅是一个乘积。你要考虑的不仅仅是得到二进制,控制二进制。还有你如何利用基础设施使你的组织更相关、更高效,并保持速度增长,而不是后退,不得不提出陈旧的战略。这一切都在幕后进行。我总是开玩笑说,“自动化,自动化,自动化。”这很有帮助。自动化程度越高,你就越能控制其他事情。 Any other questions?

考特尼金
看起来像上面说的,但我们没时间了,所以结果很完美。这些都是很好的问题。正如我提到的,如果你因为某种原因,忘记问什么问题,或者事后发生了什么事情,你可以给我们发邮件到webinars@www.si-fil.com。然后我和比尔或者其他人会帮你解答这些问题。除此之外,感谢比尔今天的到来。

比尔曼宁
非常感谢。

考特尼金
还有研讨会上的其他人。非常感谢。好了,待会儿见。再见。

比尔曼宁
谢谢你的家伙。是安全的。是美妙的。都好了。

试试JFrog云平台

来自全球唯一以devops为中心的安全解决方案的软件供应链保护。