Answers:
Phoenix Server一词是由Martin Fowler的一个同事创造的,而这三个术语在Martin bliki的短文中都有描述。
文章中介绍了每个此类服务器的优缺点。主要区别在于服务器的管理方式。
存在服务器来履行某些应用程序的容器作用。由于应用程序经常更改,因此经常需要更改容器的某些属性,例如程序包,配置等。有时还需要由于外部原因而更改容器本身的属性,例如需要修补程序的安全漏洞。被安装。
有几种更改现有服务器的方法:
前者称为Snowflake,而后者是允许使用Phoenix和Immutable服务器类型的实践。“不可变”表示在创建现有服务器后不会对其进行任何更改,而Phoenix则表示服务器已完全销毁,并在更改过程中使用新的服务器来替换它。
当我更多地考虑每种类型的优缺点列表时,这是我的观点(并非详尽无遗,这是我认为重要的操作观点):
雪花服务器
它们是什么:具有特定配置的系统,数据中心中没有其他服务器具有完全相同的参数。它们通常是手动管理的。
优点:
缺点:
凤凰服务器
优点:
缺点:
不可变的服务器
优点:
缺点:
这些模式都不是唯一的,您必须根据实际需要选择最佳模式。对于灾难后的恢复,雪花会带来很多问题,因此通常在Phoenix和Immutable之间进行更多选择。
这三种都是不同的模式,不是在任何特定情况下选择使用哪种模式的情况,而是知道何时识别可以帮助或伤害您的模式的情况。
甲雪花服务器是非常表示当以不受控制的方式于点a服务器演变时,它不能容易地再现的情况下的反模式。
我在生产中已经使用这种服务器进行过多次磨合,它们很容易被发现,因为通常会有大量失败的更改和注释,例如“它[更改]在开发/测试/ UAT /阶段中有效”。
一个凤凰服务器更是一个主要比的图案Martin Fowler的所说的:
服务器应该像凤凰,定期从灰烬中升起。[一种]
如果将IT服务管理(ITSM)或ITIL语言应用于相同的情况,则可能将其称为IT服务连续性计划或恢复计划:
每个服务的单独计划应为事件的每个阶段提供详细的程序和分步指南,以使恢复团队能够恢复服务,从而满足商定的流程和组件RTO。
一个不可变的服务器或不可改变的基础设施是我们对待所有部署的基础架构,配置和代码完全不变的,即不变的过程。当我们部署任何新内容时,我们会启动新的基础架构并将代码部署到此基础架构。有趣的是,这基本上可以满足传统上由Evergreening满足的需求。