首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

什么是不可变基础设施

可变服务器组成的基础设施本身可以称为可变的、传统的或手工的。 不可变基础设施是另一种基础设施模式,其中服务器在部署后永远不会被修改。...本文的其余部分将: 解释可变基础设施和不可变基础设施在概念和实践上的区别 结合具体场景介绍使用不可变基础设施的优点 给出不可变基础设施的实现细节和必要组件的概述 可变和不可变基础设施的区别 可变基础设施和不可变基础设施之间最根本的区别在于它们的中心策略...本文主要讨论作为服务器的那些组件,但是还有其他实现不可变基础设施的方法,比如使用容器,它们适用于相同的高层级概念。 更深入地讲,基于服务器的可变基础设施和不可变基础设施在实践上和概念上都存在差异。...不可变基础设施的优点 要理解不可变基础设施的优点,有必要先了解可变基础设施的缺点。...不可变基础设施实现细节 不可变基础设施在其实现细节上有一些要求和细微差别,特别是与传统的可变基础设施相比。

19220

什么是不可变基础设施

换句话说,这些服务器是可变的; 它们可以在创建后进行更改。由可变服务器组成的基础设施本身可称为可变,传统或(贬低)手工艺。 一个不变的基础设施是另一个基础设施范例,他们部署了服务器之后决不会被修改。...本文的其余部分将: 解释可变和不可变基础架构之间的概念和实际差异 描述使用不可变基础架构的优势并将复杂性置于语境中 概述不可变基础架构的实现细节和必要组件 可变和不可变基础设施之间的差异 可变基础和不可变基础设施之间最根本的区别在于它们的核心政策...不可变基础设施几乎完全由牛或凤凰服务器制成,而可变基础设施允许一些(或许多)pets或snowflakes服务器。下一节将讨论两者的含义。...不可变基础设施的优势 要了解不可变基础架构的优势,有必要将可变基础架构的缺点置于语境中。...不可变基础设施实施细节 不可变的基础架构在其实现细节方面有一些要求和细微差别,特别是与传统的可变基础架构相比。

4.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为什么不可变基础设施「译」

    为什么不可变基础设施 假设我们有一个应用程序。为了生成可交付成果,我们需要从源代码构建它。这包括编译源代码,处理和复制资源,以及可能的更多步骤。 最简单的形式是这个过程如下所示: ?...生成的应用程序可交付物(通常是基于JVM的应用程序的.jar或.war文件) 一个单一的不可变单位 构建一次并存储在工件存储库中 每次更改后都会通过持续集成系统进行再生 软件堆栈 ?...典型的服务器应用程序需要应用程序服务器(嵌入在应用程序中或嵌入应用程序中)和语言运行时(如JVM)。语言运行时本身使用各种库,并在驱动硬件的操作系统内核之上运行。...一些额外的软件丢失 资源(目录,...)已经以错误的名称创建 安装了某些软件的错误版本(通常是带有错误的旧版本) 权限设置不正确 一个关键资源(端口,...)被占用 如果这些都是风险,那么我们为什么...不可变基础设施 这是不可变基础设施进入的地方。 整个机器现在不是只装配应用程序,而是作为一个单一的不可变单元打包。它包含整个软件堆栈,并在每次更改后由持续集成服务器重新生成: ?

    56920

    「云计算」什么是不可变基础设施

    本文的其余部分将: 解释可变和不可变基础架构之间的概念和实际差异 描述使用不可变基础架构的优势并将复杂性置于语境中 概述不可变基础架构的实现细节和必要组件 可变和不可变基础设施之间的差异 可变基础和不可变基础设施之间最根本的区别在于它们的核心政策...传统的可变基础设施最初是在使用物理服务器决定其管理可行性时开发的,并且随着技术的不断改进而不断发展。在部署之后修改服务器的范例在现代基础设施中仍然很常见。...不可变基础设施几乎完全由牛或凤凰服务器制成,而可变基础设施允许一些(或许多)宠物或雪花服务器。下一节将讨论两者的含义。...不可变基础设施的优势 要了解不可变基础架构的优势,有必要将可变基础架构的缺点置于语境中。...不可变基础设施实施细节 不可变的基础架构在其实现细节方面有一些要求和细微差别,特别是与传统的可变基础架构相比。

    1.1K31

    黑,jupyter lab 3.0客观使用体验

    1 简介 jupyter lab于近期发布了其具有里程碑意义的3.0版本,随之带来的一些重要新特性,想必广大读者朋友已在各大公众号所翻译转载的jupyter lab团队官方介绍文章中知晓了很多。...图1   那么目前的jupyter lab好用吗?是否还存在bug?适合直接升级使用吗?今天的文章就将通过我的真实使用体验,来认识jupyter lab 3.0。...2 jupyter lab 3.0使用体验   为了不干扰现有的环境,我们通过以下代码创建新的环境,并安装最新稳定版本的jupyter lab: conda create -n temp python=...图5   但jupyter lab插件茫茫多,上面举的例子只是其中过渡动作比较快的,仍然有大量的好用的jupyter lab插件还未兼容jupyter lab 3.0,譬如我们过往文章介绍过的非常实用的...图12   作为一次大的升级,我们在新版jupyter lab身上看到了其深挖用户需求,做出重大升级的努力,也初步带来了很好的效果,随着开发过程的进行,未来的jupyter lab相信会更好用,而至于目前是否值得升级

    1.1K20

    黑,jupyter lab 3.0客观使用体验

    1 简介 jupyter lab于近期发布了其具有里程碑意义的3.0版本,随之带来的一些重要新特性,想必广大读者朋友已在各大公众号所翻译转载的jupyter lab团队官方介绍文章中知晓了很多。...图1 那么目前的jupyter lab好用吗?是否还存在bug?适合直接升级使用吗?今天的文章就将通过我的真实使用体验,来认识jupyter lab 3.0。...2 jupyter lab 3.0使用体验 为了不干扰现有的环境,我们通过以下代码创建新的环境,并安装最新稳定版本的jupyter lab: conda create -n temp python=3.7...仅仅依靠pip/conda/mamba就可以安装拓展,那么目前为止,常见常用的那些jupyter lab拓展都可以这样安装吗?...插件茫茫多,上面举的例子只是其中过渡动作比较快的,仍然有大量的好用的jupyter lab插件还未兼容jupyter lab 3.0,譬如我们过往文章介绍过的非常实用的,用于记录每个cell执行耗时等信息的

    1K10

    为什么云基础设施应该是不可变的?

    几乎所有人都在说不可变的微服务才是最好的,开发者社区也通过只读 Docker 镜像和 CI/CD 表达了对其的支持,但运营的世界似乎还是深陷手动配置的泥潭。原因呢?单纯是没有合适的工具罢了。...当然,我们也可以通过部署让一部分基础设施可变,但在没有内部 API、软件和相关认知的情况下,我们只能盼着上一位运维同事能写份完整的、能读懂的文档,或者祈求上苍希望上次写完文档之后没再改过东西了。...1 为什么要部署基础设施即代码? 只要是报错,运维都可以通过重新部署解救问题。 但如果我们把一切都通过基础设施即代码(IaC)定义了呢?...抓住漂移 搞定环境之后,我们还得确定它真的是不可变的才行。 IaC 工具的好伙伴:plan 环境不可变的第一步操作是检查 IaC 部署的资源是否发生了任何漂移。...从安全账号开始,我们可以在生产环境中应用 aws-nuke 一类的脚本,让环境非常接近不可变,直接杀死黑客塞进去的、未经 IaC 定义的资源。

    54330

    使用 Packer、Ansible 和 Terraform 构建不可变基础设施

    这种不可变基础设施 (Immutable Infrastruture) 高度保持了开发、测试和生产环境的一致性。因为镜像的易移植、易复制的特性,也给运维带来了很大的弹性和灵活性。...对于还无法容器化,只能部署在虚拟机里的传统应用,是否也能构建像容器镜像这样不可变的的基础设施可变的服务器部署 vs....不可变的服务器部署 可变的服务器部署 在可变的服务器部署模式中,首先我们通过 Terraform 创建出所需的虚拟机以及其它基础设施资源,然后通过配置管理工具 Ansible 对已经存在的服务器资源进行应用相关的配置和部署...基础设施即代码 (IAC) 基于 Packer、Ansible 和 Terraform 等开源工具,构建不可变服务器部署模式的持续集成和持续部署的 Jenkins Pipeline: 应用代码打包 为了使部署更加灵活...基础设施的创建和编排 Terraform Terraform 作为开源的基础设施资源编排工具,能覆盖主流的云平台,非常适用于多云的环境。

    2.1K00

    jdk源码分析之HashMap--为什么key建议是可变对象

    我们都知道创建HashMap的时候如果指定类型,默认是HashMap类型(其实就算指定了编译后也是Object类型,此处不做赘述),可能我们大部分人停留在使用层面,并没有对底层的源码实现有过过多的分析和研究...,那么我们首先抛出今天的议题,为什么建议HashMap的key使用可变对象呢?...更进一步说,为什么有些公司或团队强制使用HashMap的key使用String,Long等等不可变对象呢?...第一个红线处直接使用null作为到数组0号位置的链表中查询,null是不可变的可以忽略,直接看第二个红线处,根据非null得key查询,看一下实现: ?...简单从源码层面做了一下分析,那么key是否可变与hash计算有关系吗?

    50140

    Gartner《I&O自动化成熟度曲线》:容器管理、ARO、网络自动化和不可变基础设施进入了泡沫化的底谷期

    容器管理、应用程序发布编排(ARO)、网络自动化和不可变基础设施这几个类别都进入了泡沫化的底谷期,I&O团队试图将其试点项目的结果与过于乐观的预期相协调。...不可变基础设施是中等优先级技术,预计五到十年后会得到主流采用。 面向基础设施托管服务的智能自动化(IA)进入了稳步爬升的光明期,创新的好处变得更加一目了然。...云管理平台、云应用程序发现、信息技术基础设施库(ITIL)和云迁移这几个类别都进入了实质生产的高原期。好处是显而易见的,它们正有条紊地走向主流采用阶段。

    46210

    ​DevOps 工程师成长日记系列二:配置

    可变基础设施(Immutable Infrastructure) 实际上,我预测 Ansible 这类配置管理工具的重要性会降低,而 Terraform 或 CloudFormation 等基础设施编排工具的重要性将会提高...正是因为不可变基础设施(Immutable Infrastructure)概念的出现。 不可变部署是指永不改变已部署的基础架构的做法。...不可变基础设施中所谓的不可变,即安装一次,不做修改,用过即扔。有点像一次性产品,或者可以称为即抛型。 不再需要给生产环境中的机器打补丁,直接部署一个新的已经打好补丁的机器就好了。...也没有必要区别生产环境和编译环境中 VM,所有的机器在不可变基础设施概念下都是一样的。...或者,如果您正在使用容器,那么你应该从内心渴望使用不可变部署的。你肯定希望开发容器与 QA 容器和生产容器不同。并且希望在所有环境中使用完全相同的容器。这可以避免配置偏差,并在出现问题时简化回滚。

    1.1K30

    ArcGIS_Pro官方课程整理【第二期】

    由于分辨率匹配,该模型可以检测到较大的建筑物,但很难识别任何较小的建筑物。使用迁移学习是一种可修复此问题的方法。迁移学习[3]是机器学习中的一种技术,从任务中学到的知识将被重用以提高相关任务的性能。...在 ArcGIS Pro 中识别面临山体滑坡风险的基础设施 在 ArcGIS Pro 中识别面临山体滑坡风险的基础设施 教程链接: Identify Infrastructure at Risk of...创建镶嵌数据集并从影像中提取要素 使用深度学习提取建筑物覆盖区 执行山体滑坡敏感性分析 使用栅格函数模板创建敏感性图层 详细说明: 这个ArcGIS Pro教程重点讲解了如何利用地理信息系统(GIS)技术来识别山体滑坡风险区域中的基础设施.../ [9] 我的GITHUB: https://github.com/renhai-lab [10] 我的GITEE: https://gitee.com/renhai-lab [11] 微信公众号:...renhai-lab: https://blog.renhai-lab.tech/upload/qrcode_for_gh_c0d228771707_258.jpg [12] 我的知乎: https:/

    35310

    云原生思想

    云原生 似乎已经是一个老生常谈的概念了,相关的文章层出穷。...云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式 API。 这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。...为了解决这个问题,不可变基础设施的口号就喊响了。第一阶段是将服务部署为虚拟机,将作为虚拟机镜像打包的服务部署到生产环境中,每一个服务实例都是一个虚拟机。...不可变基础设施:任何基础设施的实例一旦创建之后变为只读状态,如需要修改或升级,需要使用新的实例替换旧的。容器镜像就是一种不可变基础设施的具体实现。...到这里,我已经提到了云原生技术体系中容器、服务网格、微服务、不可变基础设施和声明式 API 里面的四种了。还剩下一个服务网格,缓口气,继续。

    1.2K71

    GitHub标星93K!阿里凤凰架构分布式手册:架构师进阶成神之路

    从最初的拆分,到通过越来越复杂的技术手段逐渐满足了业务的拆分与协作,再到追求隔离掉这些复杂技术手段,将它们掩埋于基础设施之中,到未来(有可能的)重新回到无需考虑算力、无需拆分的云端系统。...一共分为演进中的架构、架构师的视角、分布式的基石、不可变基础设施和技术方法论五部分,每一部分都有相对明确的主题与目标,建议按顺序阅读各部分以获得更有逻辑性的阅读体验。...工作实例 工作实例 断路器工作过程时序图 追踪规范化 第四部分 不可变基础设施 这部分包括第11一15章,主要面向基础设施的运维人员、技术平台的开发人员。 “不可变基础设施""这个概念由来已久。...2012年Martin Fowler设想的“凤凰服务器[小与2013年Chad Fowler正式提出的“不可变基础设施[2小,都阐明了基础设施不变性带来的益处。...在云原生基金会(Cloud Nat ive Comput ing Founxdation,CNCF)所定义的“云原生"概念中,“不可变基础设施"被提升到与微服务平级的重要程度,此时它已不再局限于方便运维

    79610

    007.OpenShift管理应用部署

    提示:执行自动缩放,因为它不跟踪负载或流量。 尽管Kubernetes通常直接管理RC,但OpenShift推荐的方法是管理根据需要创建或更改RC的DC。...一个常见的拓扑结构是将主机组织成regions和zones: region:是一个地理区域内的一组主机,这保证了它们之间的内网高速连接; zone:也称为可用区,是一组主机,它们可能一起失败,因为它们共享公共的关键基础设施组件...例如,某些节点为某些类型的工作负载提供硬件加速,或者集群管理员希望将生产应用程序与开发应用程序混合使用。此类需求,都可以使用节点标签和节点选择器来实现。...如果集群管理员希望让开发人员控制他们pod的节点选择器,那么应该在项目资源中配置一个默认的节点选择器。...OCP 3.9 quick installer和advanced installer的Ansible playbook都支持Ansible变量,这些变量控制安装过程中分配给节点的标签,也控制分配给每个基础设施

    1.9K10

    技术专题:API资产识别大揭秘(二)

    ,我们将API聚合的范围进一步缩小:这些API属于同一业务系统、路径长度相同、拥有相同路径节点,并且存在可变路径。...字符串相似判定当我们运用前面提及的Tire算法进一步缩小API聚合的范围后发现,后续的工作主要是对于那些可变路径的相似度的计算,也就是这些在同一位置的可变路径是不是属于同一类,如果是就可以把它们进行聚合处理...通过统计方法缩小API聚合范围,然后利用相关算法计算和聚合满足条件的API中可变路径部分的相似度。...关于Portal Lab星阑科技 Portal Lab 致力于前沿安全技术研究及能力工具化。主要研究方向为数据流动安全、API 安全、应用安全、攻防对抗等领域。...未来,Portal Lab将继续以开放创新的态度积极投入各类安全技术研究,持续为安全社区及企业级客户提供高质量技术输出。

    52630

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    领券