在本文中,我将分享一份我认为对 DevOps 新手有帮助的指南,无论他们的背景如何。
什么是 DevOps?
DevOps 是一种产品改进方法,包括持续开发、持续测试、持续集成、部署和监控。
这不仅仅是关于工具和技术;它是关于开发和维护可扩展的 Web 应用程序作为一种持续的习惯。
DevOps 工程师是谁?
DevOps 工程师提供方法、工具和方法来平衡从编码和部署到维护和升级的整个软件开发生命周期的需求。
入门步骤
有必要学习一门编程语言
- 你需要好好学习一门编程语言。使用哪一种没有区别;您将需要它来编写自动化代码。
- DevOps 严重依赖自动化。
- 您可以学习 Python、Java、Ruby、Golang 和其他编程语言。
尽管您不会以 DevOps 工程师的身份大量创建应用程序,但您将直接与开发团队合作以改进和自动化他们的家务活。
了解多个操作系统基础知识
- 大多数服务器是基于 Linux 的;您必须熟悉 Linux 操作系统并有使用命令行界面的经验。
- 进程管理、线程和并发、套接字、I/O 管理、虚拟化、内存管理和其他主题都必须学习。
协议、网络和安全
- TCP/IP、HTTP、HTTPS、SMTP、FTP、设置防火墙以保护应用程序、了解 IP 地址的工作方式、端口、DNS 功能、负载均衡器、代理服务器和其他在与跨网络的不同设备通信中发挥重要作用的协议网络。
了解如何编码基础设施
- 您应该了解应用容器化并熟悉 Docker 和 Kubernetes 等容器工具。
- Ansible、Chef、Salt 和 Puppet 是配置管理工具。
- 容器编排和基础设施配置是另外两个领域。
持续集成和部署 (CI/CD)
- DevOps 工程师的主要角色和义务是建立完整的 CI/CD 管道。
- 在 DevOps 中,开发人员所做的任何代码更改,例如新功能和错误修复,都应合并到现有程序中,并持续自动发布给最终用户。
结果,创造了术语“持续集成”和“持续部署”。
云供应商
- 您应该熟悉主要的云提供商。
- 今天的大多数应用程序都是云原生的。AWS、Azure 和 Google Cloud 是顶级云提供商,它们都提供免费产品培训。
监控和日志管理
在软件投入生产后对其进行监控以衡量性能并识别基础架构和应用程序的问题至关重要。作为 DevOps 工程师,您的职责之一是:
- 安装监控程序
- 例如,为 Kubernetes 集群和底层服务器配置基础设施监控。
版本控制 - Git
- 上面提到的所有自动化逻辑都是作为代码编写的。您可以使用 Git 等版本控制工具维护此代码和配置文件,就像开发人员处理他们的应用程序代码一样。
脚本语言
- 您将需要编写脚本和小程序来自动化流程,因为您将与开发人员和系统管理员密切合作以自动化开发和运营任务。
为此,您需要熟悉脚本或编程语言。这可能是特定于操作系统的脚本语言,例如 bash 或 Powershell。
DevOps 工程师通常应该设置一个 Web 服务器,例如 IIS、Nginx、Apache 和 Tomcat。他们还应该熟悉缓存服务器、负载平衡器、反向代理服务器和防火墙等。