搜索“如何从devops开始”并没有真正的帮助,因为他们中的许多人都喜欢这样,这以及许多其他人并没有以正确的方式指出我。到目前为止,我看到的每个youtube视频都没有帮助(因为我不需要向我解释什么是dev的视频),这是迄今为止唯一真正的例外(表明事物之间如何相互融合)。 br />
我是CCNA,并且对DBMS-s非常精通(目前正在学习并行执行以及其他知识)。

但是我不知道我应该首先学习什么(或者在哪里可以找到适合该问题的正确资源)。

我即将毕业,所以我有无法获得现实世界的经验。

有任何建议或帮助吗?

#1 楼

Devop与软件的执行有关。这都是关于如何运行应用程序或服务的。因此,下一步就是服务器配置工具,虚拟机和容器。我建议查看这些工具的文档,并从中学习发现,可观察性,可伸缩性和冗余性。仅举一些例子:

服务器配置:


PXE
Ansible
P

VM:


流浪汉
QEMU

容器:


Docker
Kubernetes

编辑:云技术概述:


CNCF格局

当您的软件体系结构涉及微服务时,容器是一个不错的选择。当您使用旧的整体应用程序时,VM并不是一个不错的选择。因此,它始终取决于上下文,您需要专门学习什么。一本书可能有助于解决这个问题,但可悲的是,我不能推荐一本好书。不过,“ Kubernetes in Action”为您提供了Kubernetes的良好开端。

评论


还将添加有关ci / di的信息,例如竹子,詹金斯,teamcity或类似名称。

–Cyclonecode
19年7月25日在10:27

我忘记了一件事,这可能会有所帮助。云技术概述:CNCF格局

– jhamfler
19年7月25日在11:31

好吧,编辑您发布并添加更多信息=)我实际上盯着这个。

–Cyclonecode
19年7月25日在12:26

@Cyclonecode你是对的。完成

– jhamfler
19年7月25日在12:57

抱歉,这是一个愚蠢的问题,如果EC2已在虚拟机中运行,为什么我需要Docker?

– PirateApp
19年8月12日在5:59

#2 楼

首先,我想强调一下DevOps是一种文化,而不是一种角色。我认为,可以将其与一支具有自己专长的突击队进行比较,例如狙击手,海军陆战队员,枪手(想想突击队系列)。这些专业知识的结合,基本上是一起工作,使尽快完成任务或创造业务价值成为可能。

LowOps和NoOps

由于几周的时间,我发现在与人进行大量交谈之后,最近开始谈论LowOps了。如果我实施解决方案,则意味着它是完全自动化的,并且同事可以自行部署计算机,而不必问我。有时无法立即完全自动化它,但是我确保自己可以自动化,以确保只需要运行一个命令即可完成工作(LowOps),而不是浪费几个小时。如果我已经创建了这样的解决方案,那么我将确保为同事创建票证,以使我的个人解决方案自动化。示例:我的一个同事将我的bash脚本转换为一个机器人,该机器人现在每天晚上运行。这意味着知识已经转移,NoOps解决方案已经创建,我们都可以专注于新任务。



图1:https://www.gslab.com/blog-post/what-is-noops/


“如何从devops开始”


确保您是具有混合能力的团队的一员,并且团队必须自己部署软件。与所有团队成员交谈,并从缺乏知识或意愿的人开始做没人要做的任务。如果您从一项任务开始,那么您将遇到一些未知的事情。开始观看视频,参加聚会,购买和阅读书籍,阅读有关工具的博客和官方文档,要求同事审查您的拉取请求并与他人进行良好的交流和倾听,很好地记录事物并为同事准备和演示解决方案(知识共享) 。最后的建议是保持工作与生活之间的平衡。

#3 楼

这里的其他答案都集中在工具上。我认为,在工具箱中获得能力固然是一件好事,但并不能使您很好地适应DevOps文化。首先,DevOps是一组实践或方法。因此,我将把


DevOps Handboox
作为基础文本加以加速。

持续交付该网站还提供了一套“原则和基础”,为您在开始时提供了相关的基础。

从这些基础上,您将学习实践和方法,这将指导您如何协作和使用工具。

#4 楼

您需要学习的只是Linux,Docker,网络,Git,Jenkins等。您可以在此处以交互方式学习它们。

如果您正在寻找视频教程,那么pluralsight将为您带来好处。

#5 楼

这是我多次问自己的问题,并且总是会跟着我问(现在,我刚好脱离“初学者”,我想知道在哪里可以学习更高级的主题)。正如您所指出的那样,可悲的是,在搜索引擎上询问这些问题往往会导致针对高管的网站泛滥成灾,并试图解释什么是开发者?以及为什么我们要用devops使软件周期产业化?

,要回答您的问题,我只能从个人经验谈起:我从出色的Docker开始了我的学习旅程入门指南。

#6 楼

正如您还发现的那样,“学习DevOps”让我感到查询范围太广,但我记得要用Google搜索同样的东西。

添加到@jhamfler的答案中:问问自己,你为什么想了解吗?您来自哪个背景? DevOps通常与打破手动障碍或团队中的筒仓结构有关(每个人只是在完成自己的任务并依靠其他人来考虑整合结果)。您的项目中是否存在此类“缺口”(我假设您有一个)?它的哪些部分可以从自动化中受益?

我可以建议的典型问题是:


手动服务器维护VS脚本解决方案
可靠性和备份
自动化集成测试
>自动执行连续部署(例如Web服务)
...

也许搜索“连续部署”和“连续集成”(CI / CD)也可以为您提供帮助。 br />

#7 楼

您需要学习并熟悉的第一件事:


unix(文件系统,权限,进程,服务,日志,网络等)
Tunneling
nano / vim
python

然后您可以继续进行更具体的主题:


containerization例如docker)
配置管理(例如ansible)