【DevOps】
DevOps是Development and Operations的缩写,翻译成中文,意思是“开发运维协同”。在IT企业中,开发和运维是分工明确的两个部门。
开发,或者说研发部门,他们的任务是根据需求,做出能用的软件产品,他们追求的是快速迭代开发,而且特别喜欢引入新技术。
运维,在一些企业里,叫信息中心,他们的任务是保障现有IT系统的正常运行,他们追求的是系统运行稳定,尽量减少维护工作量。
新产品、新技术的应用,难免会需要试错,而开发人员最讨厌的就是代码审核和测试,他们倾向于扔给实际环境,甚至是冒烟测试。
因此,开发的求快、求变和运维的求稳、求慢,是矛盾的两个方面。为了缓解这种矛盾,让开发能够快速部署,并且降低系统部署的风险,就提出了DevOps的概念。它的核心思想是打通开发(Dev)和运维(Ops)之间的流程与协作,实现软件交付的“快”与“稳”兼得。
DevOps模式的主要思路是在开发过程中就让运维人员介入,而技术人员要在部署之前,就要为部署写好说明。
DevOps工具主要做这几件事:
- 代码管理与协作:如GitLab、GitHub,统一存储代码,支撑分支策略与代码审查。
- 自动化CI/CD(持续集成/持续交付):自动完成编译、测试、部署,代替人工手动操作,让发布更频繁、更可靠。
- 配置与基础设施布设代码化:如Terraform、Ansible,用代码定义服务器、网络等环境,保证环境一致且可复现。
- 系统监控与可视化:如Prometheus、Grafana,实时收集日志、指标、链路等,快速定位问题。
- 提前进行安全合规检测:在编码和测试阶段就嵌入安全扫描,避免上线后才发现漏洞。
本质上,DevOps概念的工具链是把“从代码提交到上线运行”的全过程标准化、自动化、可视化,从而打破开发与运维之间的壁垒,提升交付效率与系统稳定性。
DevOps部署之后,传统低端维护人员的工作被大量替代,但是高级维护工程师则依然需要。软件开发人员也必须要对部署负责,因此,也会提高软件的可控性。
对于DevOps这种理念,因为涉及大量的实际业务,而且又有不同的工具群去对应软件开发的不同场景,因此能够完全说清的文章不多,更多地需要从业者在实际工作中去体会。这里,推荐一篇我认为还不错的文章《DevOps是什么?只看这篇文章就够了!》
【SaaS】
SaaS 是 Software as a Service(软件即服务)的缩写。
简单理解:不需要安装、不需要买服务器、不需要维护,打开浏览器就能用的软件。
常见的例子:飞书、钉钉、腾讯会议,以及 GitLab 提供的 SaaS 版本(gitlab.com),都是 SaaS 服务。
SaaS将软件从销售一次性工具,在网络的支持下,变成了租用,这一方面降低了用户的软件获取和部署难度,另一方面大大提高了盗版的难度。同时,用短时间小支出(按天、按月、按年等收费),但累计支出更高的商业模式(每年租用费,累计支出远高于一次性付费)。
SaaS最大的风险,是用户数据被SaaS服务商劫持,所有的接入点、用户习惯、用户数据都可以被监控,对于需要高安全性的客户来说,SaaS不适合。
但是,大多数软件的用户,对于安全性没有太高的要求,或者自己其实也不觉得个人的隐私数据有多大风险,又想省事,这些用户都是SaaS适合的人群。
本文的解读,有不合适之处,还希望专业人士批评指正!

2044

被折叠的 条评论
为什么被折叠?



