作为一名DevOps工程师,您将与基于AWS的基础架构、CI/CD流水线(AWS CodePipeline)和使用Terraform的IaC进行工作。您将在全新的系统上工作,并有机会在工作中学习新的技能。
理想情况下,您应该是一名有应用开发背景的志向高远的软件工程师,同时也理解并欣赏开发团队和IT运营的目标和挑战。
主要职责:
• 基础设施即代码(IaC):使用Terraform等工具实施IaC实践,自动化进行基础设施的配置和管理。
• 持续集成和持续部署(CI/CD):实施和维护CI/CD流水线,自动化构建、测试和部署应用程序,并确保代码始终处于可发布状态。
• 生成自动化脚本、playbooks和流水线,帮助团队在交付应用程序和运行应用程序方面提高生产力。
• 确保正确设置和运行CI/CD流水线和工具,以支持应用程序的开发和测试。
• 源代码管理:管理源代码存储库,如Git,并根据最佳实践确保代码适当地进行版本控制、分支和合并。
• 构建和发布管理:配置和管理构建和发布定义,自动化创建构建产物,并控制将应用程序部署到各个环境。
• 测试:自动化执行测试,如单元测试、集成测试和验收测试,以确保应用程序满足指定的要求。
其他职责:
• 在多个领域获得广泛的知识,例如:应用程序开发、应用程序安全、基础架构、运营、可观察性和监控、自动化、测试、配置管理,并利用这些知识成长为技术专家/顾问角色。
• 监控和诊断:监控应用程序的性能和可用性,并使用AWS ELK堆栈、CloudWatch和日志分析等工具诊断和解决问题。
• 安全性:确保DevOps流程和工具符合安全最佳实践,如加密和访问控制,并确保应用程序的安全部署。
• 协作:与开发人员、运营团队和利益相关者合作,确保DevOps流程和工具与组织的目标和目标保持一致。
• 技术文档:创建和维护技术文档,如架构图、部署脚本和运行手册,以确保DevOps流程和工具易于理解和维护。
• 倡导团队内持续改进和卓越运营实践。
要求:
• 计算机科学、信息技术或相关专业的大专或学士学位。
• 在AWS环境中至少有1-2年相关实际经验(或高级职位为4到6年)作为DevOps工程师。
• 对基于AWS的云服务有深入的了解。
• 对基础设施即代码(IaC)有良好的理解,并具备使用Terraform等工具的经验。
• 有CI/CD的经验,最好使用Ansible或AWS CodePipeline。
• 脚本/编码技能;优先选择PowerShell或C#。
• 作为协作的团队成员,喜欢解决问题并为技术讨论做出贡献。
对这些DevOps工具的实际经验是有优势但不是必需的:
• 源代码管理(SCM)工具:Git、Bitbucket和Subversion。
• 持续集成(CI)工具:AWS CodePipeline、GitLab、Ansible。
• 持续部署(CD)工具:Jenkins、AWS CodeDeploy。
• 配置管理工具:Ansible、Puppet和Chef。
• 监控工具:Nagios、Zabbix。
• 日志管理工具:ELK堆栈(Elasticsearch、Logstash和Kibana)和Splunk。
• 自动化工具:Terraform、Selenium、JUnit和TestNG。
• 虚拟化工具:VMware和VirtualBox。