devops工程师_每个DevOps工程师的10个关键技能

devops工程师

什么是DevOps,为何重要? (What is DevOps and Why is it important?)

DevOps is the combination of Development teams and Operation teams in order to create a business with traditional software development practices. DevOps gaining popularity at a rapid pace. Let's see how DevOps helps the delivery of Software products.

DevOps是开发团队和运营团队的组合,旨在利用传统软件开发实践来创建业务。 DevOpsSwift普及。 让我们看看DevOps如何帮助交付软件产品。

When the development and operational teams are inseparable silos, it makes development life cycles longer due to lack of communication and cooperation between two teams. By merging those two we can make software development shorter cycles.

当开发团队和运营团队是密不可分的孤岛时,由于两个团队之间缺乏沟通和合作,因此使得开发生命周期更长。 通过将两者合并,可以缩短软件开发周期。

DevOps is not a profession. It's culture. It builds teams and makes engineers work for a common goal rather than individual performances. This leads to better collaboration and increased efficiency.

DevOps不是专业。 这是文化。 它可以建立团队并使工程师为一个共同的目标而不是个人的表现而工作。 这导致更好的协作和更高的效率。

More importantly, DevOps reduces rollback failures, Rollbacks and give time to recover. The main characteristic of DevOps. This helps to find bugs and failures quickly giving rise to rectify bugs or recover from failures.

更重要的是,DevOps减少了回滚失败和回滚,并为恢复提供了时间。 DevOps的主要特征。 这有助于快速发现错误和故障,从而纠正错误或从故障中恢复。

谁是DevOps工程师? (Who is a DevOps Engineer?)

There is no definite definition for a DevOps engineer. DevOps engineer is anyone who works in DevOps culture. Well, the primary objective of a DevOps engineer is to oversee the code releases. For that, he will work with software developers, system operators, testers, etc. to be successful DevOps engineer, There are a set of skills that he must possess. The following list will show you what they are.

DevOps工程师没有明确的定义。 DevOps工程师是从事DevOps文化工作的任何人。 好吧,DevOps工程师的主要目标是监督代码发布。 为此,他将与软件开发人员,系统操作员,测试人员等合作,成为成功的DevOps工程师。他必须具备一系列技能。 以下列表将向您显示它们是什么。

1.软技能和沟通能力 (1. Soft skills and communication)

As we say earlier DevOps is trying to combine operation and development. It is obvious, DevOps job requires so much communication.

正如我们之前所说,DevOps正在尝试将运营与开发结合起来。 显而易见,DevOps工作需要如此多的沟通。

Empathy is also a good thing that every DevOps engineer should have to be successful. Your empathy will be shown in your team-first mindset. Conflicts and arguments are obvious in any teamwork. This is where your empathy will be tested. You should not let these arguments lead to frustration or pointless anger. Empathy will isolate an argument, therefore, no one will keep personal grudges.

同情心也是每位DevOps工程师都必须成功的一件好事。 您的同理心会以团队第一的心态显示出来。 在任何团队合作中,冲突和争论都是显而易见的。 在这里,您的同理心将得到检验。 您不应让这些争论导致沮丧或毫无意义的愤怒。 同理心会隔离争论,因此,没有人会保留个人怨恨。

Next important soft skill has DevOps engineer should have is integrity. We know that DevOps is a different culture of traditional software development culture. And DevOps bring together people from various IT sectors together. Therefore you should be honest and genuine with what you are capable of doing. Trust within team members is an important quality required to achieve the goals of DevOps team.

DevOps工程师应该具备的下一个重要软件技能是完整性。 我们知道DevOps是传统软件开发文化的不同文化。 DevOps将来自各个IT部门的人们聚集在一起。 因此,您应该对自己的能力诚实和真诚。 团队成员之间的信任是实现DevOps团队目标所需的重要素质。

2.源代码管理系统知识 (2. Knowledge of source control systems)

Source control systems is the main tool behind the collaboration between different developers. As we know by now, DevOps brings together people from different sectors. Therefore, it is quite an obvious source control systems or version control systems plays a major role in any DevOps engineer life. Version control systems are used to track changes in the application. It also maintains different versions of the application. To become comfortable with VCS tools require some effort. They come with their own advantages and disadvantages. It is good for any DevOps developer to keep that in mind.

源代码控制系统是不同开发人员之间进行协作的主要工具。 众所周知,DevOps汇集了来自不同部门的人们。 因此,很明显,源代码控制系统或版本控制系统在任何DevOps工程师的生命中都扮演着重要角色。 版本控制系统用于跟踪应用程序中的更改。 它还维护应用程序的不同版本。 为了适应VCS工具,需要付出一些努力。 它们有各自的优点和缺点。 对于任何DevOps开发人员而言,记住这一点都是有益的。

Following are some reasons for which version control systems are important for DevOps culture.

以下是版本控制系统对DevOps文化重要的一些原因。

  • It avoids dependency issues in modern containerized applications.

    它避免了现代容器化应用程序中的依赖性问题。
  • It directly affects the performance of DevOps

    它直接影响DevOps的性能
  • VCS helps you build more reliable applications.

    VCS可帮助您构建更可靠的应用程序。

Any DevOps engineer should have good experience with any of the following tools.

任何DevOps工程师都应具有以下任何工具的良好经验。

  • Git

    吉特
  • CVS

    CVS
  • SVN

    SVN
  • Mercuria

    水星

3.持续集成的知识 (3. Knowledge of continuous integration)

The cornerstones of DevOps is Continuous integration. This is shortly called as CI. CI is a set of processes which is part of the Build Pipeline. We learned from the previous paragraph that DevOps use a single version of the system for both the development team and the operational team. What CI does is merging individual developers code to the master copy of the main branch. You can merge any number of times in a day code. That's why we call it continuous integration. Jenkins is a famous tool for CI. every developer should know at least one

DevOps的基石是持续集成。 简称为CI。 CI是作为构建管道一部分的一组过程。 从上一段中我们了解到,DevOps对开发团队和运营团队都使用单一版本的系统。 CI所做的工作是将单个开发人员代码合并到main分支的主副本中。 您可以在一天代码中合并任意多次。 这就是为什么我们称其为持续集成。 Jenkins是CI的著名工具。 每个开发人员都应该至少知道一个

4.容器知识 (4. Knowledge of containers)

A lot of people argue that containers and DevOps were built for one another. Container ecosystem has helped the popularity of DevOps immensely. Containers introduced three concepts to DevOps culture; flow, feedback, continual experimentation; which is now considered to be the three pillars of DevOps. Let's have a brief introduction to those three concepts.

许多人认为容器和DevOps是彼此构建的。 容器生态系统极大地帮助了DevOps的普及。 容器在DevOps文化中引入了三个概念: 流程,反馈,持续实验; 现在被认为是DevOps的三大Struts。 让我们简要介绍这三个概念。

A container work as a silo. You can easily forget about the system when you are inside the container. Inside the container, everything will work in an acceptable manner. This is called flow.

容器充当筒仓。 当您在容器中时,您可以轻松地忘记系统。 在容器内部,所有东西都将以可接受的方式工作。 这称为流程。

Containers are a great way to separate the application while providing a way to ship the environment that allows you to have fast feedbacks from customers.

容器是分离应用程序的好方法,同时提供了一种运送环境的方式,使您可以快速从客户那里获得反馈。

Containers make the testing much easier.

容器使测试更加容易。

Docker is a famous container technology that every DevOps engineer should know.

Docker是每位DevOps工程师都应该知道的著名容器技术。

5.基础设施自动化工具知识 (5. Knowledge of infrastructure automation tools)

Another key element of DevOps is Automation. You can not think of DevOps without thinking automation. Most of the manual tasks can be automated using Python, Shell, Bash. Automation helps DevOps Engineers to ensure consistent performance. Moreover, It will save a lot of time DevOps engineers which can be spent on more important goals. Therefore the knowledge of Automation is vital for the success of any DevOps engineer.

DevOps的另一个关键要素是自动化。 如果不考虑自动化,就无法想到DevOps。 大多数手动任务可以使用Python,Shell,Bash自动执行。 自动化可以帮助DevOps工程师确保一致的性能。 而且,它将节省大量DevOps工程师的时间,这些时间可以花在更重要的目标上。 因此,自动化知识对于任何DevOps工程师的成功至关重要。

6.云知识 (6. Knowledge of clouds)

Competition in the software development world is getting bigger day by day. As a result of that product development and releasing has become highly sophisticated over the last few years. Business agility has reached the key to survive in this competitive market. Most organizations are started using clouds considering many benefits it offers.

软件开发领域的竞争日益加剧。 因此,在过去的几年中,产品的开发和发布变得非常复杂。 业务敏捷性已成为在这个竞争激烈的市场中生存的关键。 考虑到云所带来的许多好处,大多数组织开始使用云。

Knowledge of cloud has been relevant not only for DevOps but also for software developers. For many organizations, the cloud has been a major part of DevOps culture. Both of them have great potential to offer speed and agility to businesses. The following list will show you 5 benefits using cloud within DevOps culture.

云知识不仅与DevOps有关,而且与软件开发人员也息息相关。 对于许多组织而言,云已成为DevOps文化的重要组成部分。 两者都具有为企业提供速度和敏捷性的巨大潜力。 以下列表将向您展示在DevOps文化中使用云的5种好处。

简易自动化- (Easy Automation -)

we learned about automation in the previous paragraph. Cloud makes automation easier.

我们在上一段中了解了自动化。 云使自动化更加容易。

云服务器复制- (Cloud-server replication -)

back up is an integral part of any cloud service. Still, you have to start the servers first and then restore the backup on a different environment.

备份是任何云服务不可或缺的一部分。 尽管如此,您仍然必须先启动服务器,然后在其他环境中还原备份。

编排- (Orchestration -)

it is a special way of automation. It is a way of providing complete coordination and control in automation which covers the entire hierarchy in the infrastructure. Some examples of orchestration tools are Chef, Puppet, and Ansible.

这是一种特殊的自动化方式。 它是一种提供自动化的完整协调和控制的方法,该方法涵盖基础结构中的整个层次结构。 编排工具的一些示例是Chef,Puppet和Ansible。

有效监控 (Effective Monitoring — )

Most Cloud Services provides you with tools to monitor your application.

大多数Cloud Services为您提供监视应用程序的工具。

快速部署- (Rapid Deployment -)

you can find many tools with your cloud provider to deploy your application faster.

您可以在云提供商中找到许多工具来更快地部署应用程序。

It is quite obvious, that knowledge of cloud technology is vital for the success of any DevOps engineer.

显而易见,云技术的知识对于任何DevOps工程师的成功至关重要。

7.安全知识 (7. Knowledge of Security)

As I have already mentioned, the primary goal of DevOps is to release codes faster. It is obvious that faster releases lead to vulnerabilities. Data breaches have been the biggest threat to software applications. Therefore, it is the responsibility of the DevOps to protect the applications from attacks. These attacks could vary from SQL injections to XSS attacks to unrecognized attacks. All security threats do not have to be invoked by a human. There could be security pitfalls in the application itself. DevOps should have an idea about all these things. DevOps Engineer does not have a security expert. But having trained in security can help his job greatly.

正如我已经提到的,DevOps的主要目标是更快地发布代码。 显然,更快的发布会导致漏洞。 数据泄露已成为对软件应用程序的最大威胁。 因此,DevOps有责任保护应用程序免受攻击。 这些攻击的范围可能从SQL注入到XSS攻击到无法识别的攻击。 所有的安全威胁都不必由人类来调用。 应用程序本身可能存在安全隐患。 DevOps应该对所有这些事情有个想法。 DevOps Engineer没有安全专家。 但是接受过安全方面的培训可以极大地帮助他的工作。

8.测试 (8. Testing)

The main objective of DevOps is to accelerate the delivery of software. But there is no point if there are bugs in whatever you deliver. The quality component is an important factor in any software release. Therefore every DevOps team must adopt continuous testing to their DevOps culture. Therefore, Testing is an important skill for anyone who is going to be a DevOps engineer.

DevOps的主要目标是加速软件交付。 但是,无论您提供的是什么,都没有错误。 质量组件是任何软件版本中的重要因素。 因此,每个DevOps团队都必须对其DevOps文化进行连续测试。 因此,对于将要成为DevOps工程师的任何人来说,测试都是一项重要技能。

Let's discuss what is testing in a DevOps environment really means. If you consider the top performing DevOps organizations like Amazon and Netflix, they use performance testing, load, automated regression, and security testing. Their goal is to build software quality on DevOps pipeline. So they are ensured to be run on every build. To do such things, obviously, you have a good knowledge of testing.

让我们讨论一下在DevOps环境中进行测试的真正含义。 如果考虑使用Amazon和Netflix等性能最好的DevOps组织,它们将使用性能测试,负载,自动回归和安全性测试。 他们的目标是在DevOps管道上建立软件质量。 因此,确保它们可以在每个版本上运行。 做这些事情,显然,您具有测试方面的知识。

9.合作 (9. Collaboration)

DevOps engineers do not work for personal goals. They have team goals. Any problem is everyone's problem. DevOps engineers should help to assist coworkers in their troubles. The key is to have empathy towards others. Another point is, DevOps engineers work in small batches from performing code testing. It allows coworkers to do their job easily.

DevOps工程师不会为个人目标而工作。 他们有团队目标。 任何问题都是每个人的问题。 DevOps工程师应帮助协助同事解决麻烦。 关键是要对他人有同情心。 另一点是,DevOps工程师从执行代码测试就可以小批量工作。 它使同事可以轻松地完成工作。

大图思维 (Big picture thinking)

DevOps always considers the customer is the most important things. Their purpose is delivering the product for the customer. This requires them to have a big picture of what they should be doing. They have to clearly understand the requirement of the customer. Often, DevOps engineers lack this ability. The main reason for that is, most of the DevOps engineer coming from the software development background. There are not too many who have been practices to become a DevOps engineer. Essentially, there is a gap between software and DevOps engineer. Understanding this gap will help you to do your job successfully. A software developer only has to code what was asked to code. As a DevOps engineer, you should see the bigger picture, which is required to satisfy the customer.

DevOps始终认为客户是最重要的事情。 他们的目的是为客户提供产品。 这要求他们对应该做的事情有一个全面的了解。 他们必须清楚地了解客户的需求。 DevOps工程师通常缺乏此功能。 主要原因是,大多数DevOps工程师来自软件开发背景。 可以实践成为DevOps工程师的人并不多。 本质上,软件和DevOps工程师之间存在差距。 了解这一差距将帮助您成功完成工作。 软件开发人员仅需编码要求编码的内容。 作为一名DevOps工程师,您应该会看到更广阔的前景,这是满足客户需求所必需的。

Also, you can take a break from the project to another project. Thinking the bigger picture will help you solve this problem as well.

另外,您可以从项目中休息到另一个项目。 认为更大的前景也会帮助您解决此问题。

More:

更多:

Best DevOps Tools 最好的DevOps工具

翻译自: https://habr.com/en/post/449218/

devops工程师

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值