zoukankan      html  css  js  c++  java
  • DevOps工程师

    DevOps工程师

    1. DevOps工程师的任务是什么?

    • 设计、构建、测试和部署可伸缩的分布式系统,实现从开发到部署的自动化
    • 管理代码库(如Git、SVN、BitBucket等),包括代码合并与集成、分支与维护、远程库管理等
    • 管理、配置和维护基础设施
    • 设计数据库体系结构和数据库对象,并同步各种环境
    • 设计、实施和支持DevOps持续集成和持续交付pipeline
    • 研究和实施新技术和新实践
    • 将流程、系统和工作流文档化,更新操作手册
    • 使用行业领先的服务创建和增强动态监视和警报解决方案
    • 持续分析手动执行的任务,这些任务自动化
    • 创建和增强基于Docker和Kubernetes的持续部署自动化

    2. 谁能成为DevOps工程师?

    • DevOps是一个涉及的知识面非常广。例如,您可能来自编码或测试背景,也可能是系统管理员、数据库管理员或操作团队。在DevOps方法中,每个人都可以扮演一个角色。
    • 如果你具备以下的知识和/或专长,你就已经准备好成为DevOps工程师了:
    • 你拥有学士、硕士或理学学士学位(最好是计算机科学、IT、工程、数学或类似专业)
    • 2年以上软件开发经验,熟悉SDLC生命周期和精益敏捷方法(SCRUM)
    • 有较强的Linux/Unix和Windows管理背景
    • 使用面向对象或函数式编程语言(如Python / Ruby / Java / Perl / Shell scripting / Groovy或Go)进行系统开发
    • 系统级了解Linux (RedHat、CentOS、Ubuntu、SUSE Linux)、Unix (Solaris、Mac OS)和Windows服务器
    • Shell脚本和自动化的例程,远程执行脚本
    • 具有数据库管理经验,熟悉Mongo/Oracle或MySQL数据库
    • 强大的SQL和PL/SQL脚本
    • 有使用Git、GitLab、GitHub或Subversion等源代码版本控制管理的经验
    • 熟悉云架构,特别是Amazon Web Services(AWS)或谷歌云平台或Microsoft Azure
    • 对docker/或Kubernetes的容器使用和实现有很好的理解
    • 有使用Jenkins和GitLab进行CI/CD pipeline的经验
    • 数据中心管理,系统管理,监控,网络和安全知识
    • 有使用Ansible, Puppet and/or Chef进行自动化/配置管理的经验
    • 了解如何使用配置监视工具(如Nagios或Prometheus)监视代码
    • 基础设施和网络方面的背景
    • 关于RESTful api的广泛知识
    • 对网络和核心互联网协议(如TCP/IP、DNS、SMTP、HTTP和分布式网络)有扎实的理解
    • 优秀的书面和口头英语沟通能力
    • 自我学习,团队合作,愿意学习新技术,独立解决问题和交付结果的能力。

    3. 相关的工具

    • 编程语言(C、Java、Perl、Python、Ruby、Bash shell、PowerShell)
    • 操作系统概念(资源管理)
    • 源码控制(如Git、Bitbucket、Svn、VSTS等)
    • 持续集成和持续交付(Jenkins, GitLab CI, CircleCI)
    • 基础设施即代码(IaC)自动化(工具如Puppet、Chef、Ansible和/或Terraform)
    • 管理服务器(应用程序、存储、数据库、基础设施、网络、web服务器等)
    • 应用程序、数据库、Web服务器、存储、基础设施、网络服务器
    • 网络和安全
    • 容器的概念(Docker)
    • 持续监视(Nagios和Prometheus)
    • 云(比如AWS、Azure、谷歌云)

    4. 软技能

    作为一个DevOps工程师,你必须是一个积极的团队成员,需要有学习和成长的愿望,优化流程并找到更好的解决方案。
    由于DevOps涵盖的范围很广,所以最好专注于您的关键技能,并根据需要学习技术和工具。
    理解问题/挑战,然后找到一个与此类似的DevOps解决方案。

  • 相关阅读:
    spark 源码分析之五--Spark RPC剖析之创建NettyRpcEnv
    spark 源码分析之四 -- TaskScheduler的创建和启动过程
    spark 源码分析之三 -- LiveListenerBus介绍
    spark 源码分析之二 -- SparkContext 的初始化过程
    scala class中孤立代码块揭秘
    spark 源码分析之一 -- RDD的四种依赖关系
    spark streaming 接收kafka消息之五 -- spark streaming 和 kafka 的对接总结
    spark streaming 接收kafka消息之四 -- 运行在 worker 上的 receiver
    spark streaming 接收kafka消息之三 -- kafka broker 如何处理 fetch 请求
    spark streaming 接收kafka消息之二 -- 运行在driver端的receiver
  • 原文地址:https://www.cnblogs.com/itech/p/12939395.html
Copyright © 2011-2022 走看看